BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları

Slides:



Advertisements
Benzer bir sunumlar
KAFA Open-Source/Open-Implementation, 32-bit CPU
Advertisements

BİLGİSAYAR, DONANIM VE YAZILIM KAVRAMLARI
ALPER LAÇİN SERDAR TAŞAN
SelCPU Temmuz 2008 Bilg.Bil.Müh.Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri
Intel Pentium Mikroişlemcisi
CPU Tasarım – 2 Single – Cycle CPU Veriyolu Tasarımı
İleri Mikroişlemci Özellikleri
AĞ PROTOKOLÜ.
MİMARİ ESASLAR Bir bilgisayarın komut kümesi, programcının makineyi programlarken kullanabileceği ilkel emirleri veya makine komutlarının tamamının oluşturduğu.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
CEIT 101 Teorik Emrah Soykan - Konu 2 -.
CEIT 101 Teorik Vasfi Tuğun - Konu 2 -.
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
Marmara Ünv. Bilgisayar Mühendisliği Bölümü
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Dr. Ahmet KÜÇÜKER Sakarya Üniversitesi Mühendislik Fakültesi
Cpu Nasıl Çalışır?. -A- 2 tuşuna basılması MİB’ini uyarır ve Komut Cache’inde (Instruction Cache) bir şey olmadığından yeni veri üzerinde ilgili komutların.
Bilgisayar Donanımı Öğr. Gör. Tolga HAYIT
Intel P6 Architecture Mustafa Çayır.
Yıldız Teknik Üniversitesi
Mikroişlemciler ve Mikrobilgisayarlar
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
CPU.
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI
İŞLEMCİ MİMARİLERİ – Derya Işık
Anahtarlama Cihazları ile Laboratuvarların Internet Bağlantısının Etkin Kullanımı Fatih Ertam Akademik Bilişim 2013 Akdeniz Üniversitesi.
İşletim Sistemleri Operation Systems Fon müziği.
Bilgisayar Sistemlerine Giriş
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
CCS C İLE PIC PROGRAMLAMA DERS-2-
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
Hafta2 Bilgisayar Donanımı Dersi
ÇERÇEVELERİN DÜŞEY YÜKLERE GÖRE ANALİZİ
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
BİLGİSAYAR MİMARİLERİ 4.Hafta: Bellek Hiyerarşisi-2
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
BİLGİSAYAR MİMARİLERİ 2.Hafta: Bilgisayar Bileşenleri
BİLGİSAYAR MİMARİLERİ 6.Hafta: Sanal Bellek
BİLGİSAYAR MİMARİLERİ 5.Hafta: Bellek Hiyerarşisi-3
BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci
BİLGİSAYAR MİMARİLERİ 3.Hafta: Bellek Hiyerarşisi-1
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
BİLGİSAYAR MİMARİLERİ 13
BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ
BİLGİSAYAR MİMARİLERİ 10.Hafta: Pipeline İşlemci
Bilgisayar Donanımı Dersi
Chapter 4 — The Processor — 1 Lecture 7 Pipelining.
Bilgisayar Mühendisliğine Giriş
GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası
Bilgisayar Donanımı Dersi
Mikrobilgisayar Tasarım Yapıları
8.8 A Simple Computer Architecture
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
Bilgisayar Donanım ve Sistem Yazılımı
Mikroişlemciler Giriş.
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
Mevlüt ARSLAN¹ İrfan ATABA޹ Ali ERİŞEN²
Mikrobilgisayar Tasarım Yapıları
Pipeline (Boru hattı) Uygulaması - II BIL-304: Bilgisayar Mimarisi
DERS 14 PIC 16F84 ile EEPROM VERİ BELLEĞİ KULLANIMI
NİŞANTAŞI ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
FİLLER.
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü

Ders Planı Giriş Pipeline sorunları (hazards) Pipeline performans Yapısal sorunlar, Veri bağımlılığı, Kontrol sorunu Pipeline performans

Pipeline mimari: Kabuller İş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.

5 katmanlı icra

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

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

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

Pipeline MIPS (jump’lar hariç)

Pipeline içindeki komutlar nasıl etkileşir? 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)

Yapısal sorun (structural hazard)

Yapısal soruna çözüm-1

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

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

Veri bağımlılığı sorunu (devam) 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

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

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

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

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

Forwarding (Bypassing) donanımı

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

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

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

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

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

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

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

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)

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. Katman Kesme sebebi IF Page fault, missaligned memory access, memory protection violation ID/RF Tanımlanamayan veya illegal opcode EX Aritmetik kesme M

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