Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci

Benzer bir sunumlar


... konulu sunumlar: "BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci"— Sunum transkripti:

1 BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü

2 Ders Planı Tek-çevrim işlemci Tek-çevrim işlemcinin dezavantajları
Çoklu-çevrim işlemciye genel bakış Yarış durumu (race condition) Farklı tiplerde komutların icraları

3 Tek-çevrim işlemci

4 Kavramlar Data path (veri yolu) Kontrol lojiği İşlevsel/Kombinezonsal
Komponentler Durum/Bellek/Ardışıl Data Path Data için bus Bağlantılar Kontrol işaretleri Kontrol Lojiği Komutlar İşaretler

5 Komut çekme ünitesi (instr. fetch)

6 Ana kontrol

7 Tek-çevrim işlemcinin dezavantajları
Uzun çevrim süresi: Çevrim süresi en uzun komuta göre ayarlanması gerekir (load komutu): PC nin Q ya saati + Komut belleği erişim süresi + ALU gecikmesi (adres hesabı) + Veri belleği erişim süresi + Saklayıcı kümesi (reg. file) setup zamanı + Saat eğim gecikmeleri Saat çevrim süresi birçok komut için gerekli olduğundan çok fazla Örnekler: R-tipi komutlar bellek erişimi yapmıyor Jump komutu ne bellek erişimi ne de veri belleği erişimi yapmıyor

8 Çoklu-çevrim işlemci (genel)
Tek çevrimli işlemcinin problemlerinin kökü: Çevrim süresi en uzun komuta göre ayarlanması gerekiyor. Çözüm: Komutun icrasını küçük adımlara böl Her bir adımı (tüm komut yerine) bir çevrimde yürüt Çevrim süresi: En uzun adımı tamamlamak için geçen süre (en uzun komutu tamamlamak için değil) Her bir adımı yaklaşık eşit sürede tut Bu çoklu çevrimli işlemcinin temelini oluşturur

9 Çoklu çevrim işlemci (avantajlar)
Çoklu çevrimli şlemcinin avantajları: Çevrim süresi çok kısa Farklı komutların icra çevrim sayıları farklı olabilir Load 5 çevrim Jump sadece 3 çevrim Bir komut icrası sırasında, işlevsel blokların (functional units) birden fazla defa kullanılmasına imkan tanır Adder + ALU Komut belleği + Veri belleği

10 Yükleme (load) komutunun 5 adımı

11 Reg. File & Bellek yazma (ideal ve gerçek)
Önceki derslerde, 1 çevrimlik makinede reg. File ve bellek sadeleştirilmişti: Yazma saat tiklerinde oluyordu Adres, veri ve wr. Enable ucu set-up süresince kararlı olarak durması gerekiyordu Gerçek m-çevrimli makinelerde: Ne reg.file, ne de bellek saat girişine sahip değil Yazma yolu kombinezonsal ve gecikmesi olan bir yol Wr.Enable 1 olurken Din uygulanır, Bellek yazma erişimi gecikmesi, Din -> mem [adres]’e yazılır. Önemli: Wr.Enable 1 olmadan ÖNCE adres ve data kararlı olmalı.

12 Adres ve Wr. Enable arasında yarış durumu
Gerçek rg. File (saat girişi olmayan) tek çevrimli makinede güvenli bir şekilde çalışmayabilir, çünkü; Rw’nin Reg.Wr. 1 olmadan ÖNCE kararlı olmasını garanti edemeyiz Rw (adres) ve RegWr(write enable) arasında yarış durumu vardır Gerçek (saat girişi olmayan) bellek tek çevrimli makinede güvenli bir şekilde çalışmayabilir, çünkü; WrEn = 1 olmadan önce adres’in kararlı olacağını garanti edemeyiz Adres ve WrEn arasında yarış vardır

13 Çoklu çevrimde yarış durumu
Çoklu çevrimli sistemlerde yarış durumu için çözüm: n. çevrim sonunda adresin kararlı olacağından emin ol, Wr. Enable işaretini bir çevrim sonra (n+1)’de uygula, Write Enable kaldırılıncaya kadar adres değişemez.

14 Çift portlu ideal bellek
Okuma ve yazma birbirinden bağımsız olarak yapılabilir Okuma ve yazma (farklı bölgelere) aynı komut çevrimi içinde oluşabilir Okuma portu kombinezonsal: Okuma adresi uygulanır  Bellek okuma gecikmesi  Veri dışarda (elde) Yazma portu da kombinezonsal: MemWrite = 1  Veri bellekte istenilen yerde [WrAdr]

15 Komut çekme çevrimi: İlk kısım

16 Komut çekme çevrimi: Son kısım

17 Komut çekme çevrimi: Tamamı

18 Saklayıcı belirlenmesi / Komut çözümleme

19 Saklayıcı belirlenmesi / Komut çözümleme

20 Dallanma

21 R-tipi komut çözümleme

22 R-tipi komut icrası

23 R-tipi komutun tamamlanması

24 Çoklu çevrimde gecikme yolu
Aşağıdaki olaylar arasında sonuçları kaydetmek için saklayıcı yok:

25 Çoklu çevrimde gecikme yolu
Register fetch sırasında bir sonucu saklayıcıya yazmak gerekmiyor IRWr = 0; busA ve busB register fetch’den sonra değişmeyecektir R-tip komut icrası (execute) sırasında sonuç saklayıcıya yazmak gerekmiyor busA ve busB register fetch’den sonra değişmeyecektir ALUSelA, ALUSelB ve ALUOp kontrol sinyalleri T-tip komuttan sonra değişmeyecektir Sonuç olarak ALU çıkışı R-tip icradan sonra değişmeyecektir

26 Çoklu çevrim gecikme yolu
Teorik olarak, eğer şunlar olursa bir saklayıcıya ihtiyaç duyulur: İşaret bir saat çevriminde hesaplanır ve diğer saat çevriminde kullanılır ise, VE bu işareti hesaplayan işlevsel bloğun girişleri durum elemanına yazılmadan önce değişebilir. Eğer yukarıdaki koşul 1 tutar ve fakat koşul 2 tutmaz ise saklayıcı kullanılmayabilir Fakat bu durum, pratikte çoklu çevrim gecikme yolu oluşturur: Mantıksal gecikme yolu, çoklu çevrimlerin alındığı bir bellek elemanından diğerine yayıldığı durumdur

27 Çoklu çevrim gecikme yolunun avantajları
Örneğin 3-çevrimli durumda: IR(bellek)Reg.File ,ReadALU Reg, FileWrite(bellek) Avantajları: Saklayıcı tasarrufu Çevrimler arası zaman paylaşımı Eğer ALU işlemi 1 çevrimden fazla tutarsa sorun yok, yeter ki 3 çevrimden fazla tutmasın.

28 Çoklu çevrim gecikme yolunun dezavantajları
Statik zaman analiz araçları, sadece iki bellek elemanı arasındaki gecikmeye bakar ve yukardaki durumu bir ihlal olarak rapor ederler Bu analizör çıktılarını görmezden gelmeniz gerekiyor Sonunda hata yapma ihtimali yüksek Daima MCDP (multiple cycle delay path) den sakınmak için çevrimler arasına saklayıcı konmalıdır

29 Komut çözümü: ORI

30 ORI icrası

31 ORI tamamlama

32 Komut çözümleme: Bellek erişimi

33 Bellek adresi hesabı

34 Yazmak için bellek erişimi

35 Okumak için bellek erişimi

36 Yükleme için geri yazma

37 Çoklu çevrim işlemci: Hepsi bir arada

38 Özet Tek çevrim işlemcinin dezavantajları: Çoklu çevrim işlemci:
Uzun çevrim süresi Load haricinde tüm komutlar için çevrim süresi çok uzun Çoklu çevrim işlemci: Komut icrasını küçük adımlara bölmek Her adımı tüm bir komut yerine) bir saat çevriminde icra etmek Çoklu çevrim işlemciyi, çoklu çevrim gecikme yolu ile karıştırmayın Çoklu çevrim işlemci komutları çoklu çevrimde icra eder MCDP: iki bellek elemanı (saklayıcı) arasında icra süresi bir çevrimden çok tutan kombinezonsal yol Mümkünse MC, MCDP olmadan gerçeklenmeli Eğer şimdi üretilen bir sinyal bir sonraki çevrimde kullanılacaksa bir saklayıcı kullan


"BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci" indir ppt

Benzer bir sunumlar


Google Reklamları