Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü.

Benzer bir sunumlar


... konulu sunumlar: "Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü."— Sunum transkripti:

1 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ı 2

3 Tek-çevrim işlemci 3

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

5 Komut çekme ünitesi (instr. fetch) 5

6 Ana kontrol 6

7 Tek-çevrim işlemcinin dezavantajları 7 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) 8 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) 9 Ç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ı 10

11 Reg. File & Bellek yazma (ideal ve gerçek) 11 Ö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 1. Wr.Enable 1 olurken Din uygulanır, 2. Bellek yazma erişimi gecikmesi, 3. 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 12 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 13 Ç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 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  Bellek okuma gecikmesi  Veri bellekte istenilen yerde [WrAdr]

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

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

17 Komut çekme çevrimi: Tamamı 17

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

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

20 Dallanma 20

21 R-tipi komut çözümleme 21

22 R-tipi komut icrası 22

23 R-tipi komutun tamamlanması 23

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

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 25

26 Çoklu çevrim gecikme yolu Teorik olarak, eğer şunlar olursa bir saklayıcıya ihtiyaç duyulur: 1. İşaret bir saat çevriminde hesaplanır ve diğer saat çevriminde kullanılır ise, 2. 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 26

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. 27

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 28

29 Komut çözümü: ORI 29

30 ORI icrası 30

31 ORI tamamlama 31

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

33 Bellek adresi hesabı 33

34 Yazmak için bellek erişimi 34

35 Okumak için bellek erişimi 35

36 Yükleme için geri yazma 36

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

38 Özet Tek çevrim işlemcinin dezavantajları: 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 38


"Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü." indir ppt

Benzer bir sunumlar


Google Reklamları