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ı Giriş Pipeline sorunları (hazards) Yapısal sorunlar, Veri bağımlılığı, Kontrol sorunu Pipeline performans 2

3 Pipeline mimari: Kabuller 3 İşlemcimiz 5 katmanlı pipeline yapıda olsun: Katmanlar: IF, ID, EX, M, WB Varsayımlar: IF, ID, EX, M, WB katmanlarındaki icra sürelerinin yaklaşık eşit olsun Hızlı bir ön-bellek, Çoklu portlu bir saklayıcı kümesi (register file), Hızlı bir ALU ile bu sağlanabilir.

4 5 katmanlı icra 4

5 5 katmanlı icra: Kaynakların kullanımı 5

6 Pipeline icra: ALU komutları 6 DİKKAT: IR her kademe için gerekli!

7 IR’ler ve denetim noktaları 7 Denetim noktaları doğru ilişkilendirmiş mi? ALU, Load/Store ve Write back dikkate alınmalı

8 Pipeline MIPS (jump’lar hariç) 8

9 Pipeline içindeki komutlar nasıl etkileşir? 9 Bir komut diğer bir komutun ihtiyaç duyduğu bir kaynağı kullanıyor olabilir. Yapısal sorun (structural hazard) Bir komut başka bir komutun ürettiği sonucu kullanmak isteyebilir. Veri bağımlılığı sorunu (data hazard) Bir komut bir sonraki icra edilecek komutu belirliyor olabilir. Kontrol sorunu (control hazard) Dallanma komutları (branch, jump gibi)

10 Yapısal sorun (structural hazard) 10

11 Yapısal soruna çözüm-1 11

12 Yapısal soruna çözüm-2 12 İki ayrı bellek kullanımı: IM ve DM

13 Veri bağımlılığı sorunu 13 Örnek program:

14 Veri bağımlılığı sorunu (devam) 14 Zamana bağlı bağımlılık. Geçmişe yönelik bağımlılıklar sorun oluşturuyor. Kırmızı bölgeler okuma/yazma yarı periyodunu gösteriyor

15 Veri bağımlılığı sorunu (devam) 15 ÇÖZÜM-1: stalls Kontrol lojiği karmaşık olabilir

16 Veri bağımlılığı sorunu (devam) 16 Donanım: PC değeri değiştirilmez, aynı komut tekrar tekrar çekilir ve kontrol işaretleri sıfırlanır.

17 Veri bağımlılığı sorunu (devam) 17 Yazılım: En kötü durumda araya yeteri kadar NOP komutu sokulur. Bu işlem derleyici tarafından yapılabilir.

18 Veri bağımlılığı sorunu (devam) 18 İletme (forwarding): Pipeline saklayıcıları zaten veriyi barındırıyor.

19 Forwarding (Bypassing) donanımı 19

20 Veri bağımlılığı sorunu 20 Forwarding sonrası gecikme 1 stall’a iniyor.

21 Veri bağımlılığı sorunu 21 İç-kilit (interlock) sorunu tespit eder ve pipeline’ı 1 saat periyodu boş tutar (stall).

22 Veri bağımlılığı sorunu 22 Veya yazılımla (derleyici marifetiyle) araya NOP konur.

23 Kontrol sorunu (control hazards) 23 Dallanma koşulu belirleninceye kadar stall.

24 Kontrol sorunu (control hazards) 24 3 stall’ın 1’e indirilmesi için donanımsal değişiklik ESKİ DURUM---

25 Kontrol sorunu (control hazards) 25 3 stall’ın 1’e indirilmesi için donanımsal değişiklik YENİ DURUM---

26 Kontrol sorunu (control hazards) 26 Tüm donanımsal iyileştirmeden sonra dallanmada 1 stall kaçınılmaz.

27 Kontrol sorunu (control hazards) Herhangi bir düzenleme yapılmazsa dallanma komutları 3 stall gecikme oluşturur. CPI = 1 ise, %30 dallanma komutları varsa, stall 3 çevrim ise => yeni CPI = 1.9 Dallanmanın alınıp alınmayacağı erken belirlenirse (donanımsal düzenleme): Karşılaştırma işlemini 2. katmana taşı, Hedef adresi hesabı için bir toplayıcı (ALU) ilave et Stall sayısı 1’ düşer. Yazılımsal çözümlerle kayıplar daha da azaltılabilir: Dalanma gecikme slotu: Derleyici bu gecikme slotunu doldurabilir Diğer bir yaklaşım ise dallanma tahmini (branch prediction) 27

28 Pipeline için zor durumlar Kesmeler: 5 komut icra halinde iken kesme olursa? Çözüm: 1) Kesme komutu çekilir, 2) Yeniden başla (restart) ve ne yapıldıysa incomplete yap. Reel sayı işlemleri, tamsayı işlemleri gibi yapılamaz. Çözüm farklı işlevsel üniteler. 28 KatmanKesme sebebi IFPage fault, missaligned memory access, memory protection violation ID/RFTanımlanamayan veya illegal opcode EXAritmetik kesme MPage fault, missaligned memory access, memory protection violation

29 Pipeline performans Hızlanma, pipeline derinliği dikkate alındığında CPI = 1 ise: Pipeline derinliğini arttırmak hazard’ların etkisini arttırır Derleyiciler önem kazanıyor: Kesmeler, karmaşık komutlar ve FP pipeline kullanımını zorlaştırıyor 29


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

Benzer bir sunumlar


Google Reklamları