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

Slides:



Advertisements
Benzer bir sunumlar
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü Sürüm-A
Advertisements

ALPER LAÇİN SERDAR TAŞAN
8259A Programlanabilir Kesme Denetleyicisi (PIC)
Endüstriyel Otomasyon Mekatronik Mühendisliği Bölümü
DOĞRUSAL ZAMANLA DEĞİŞMEZ SİSTEMLERDE FARK DENKLEMLERİ
CPU Tasarım – 2 Single – Cycle CPU Veriyolu Tasarımı
Öğr.Gör. Dr. Şirin KARADENİZ
8088 Kesme Operasyonu.
Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi I. Ulusal Yüksek Başarım ve.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
BDEM 105.
BİSA CPU   Proje Danışmanı Yrd.Doç.Dr.Aydoğan Savran   Proje Ekibi Arş.Gör.Özkan Akın.
Agah Burak DEMİRKAN Ahmet ÇOBAN Ahmet SÖNMEZ Uğurhan KUTBAY
BUYRUK İşlem kodu İşlemci yazacı veri
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
Marmara Ünv. Bilgisayar Mühendisliği Bölümü
Temel Kanunlar ve Temel Elektronik
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Register ve Türleri Nihal GÜNGÖR.
Temel Bilgisayar Yapısı ve Devreleri
KÜMELER GEZEGENİNE HOŞ GELDİNİZ.
Mikroişlemciler ve Mikrobilgisayarlar
E-OKUL HATALARI VE ÇÖZÜMLERİ
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
Abdulkadir KARADENİZ Avantaj ve Dezavantajları Girdi-İşlem-Çıktı Prensibi Donanım – Yazılım Kavramları Abdulkadir KARADENİZ.
DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI
İŞLEMCİ MİMARİLERİ – Derya Işık
ANA BELLEK Ana Bellek Nedir? Ana Bellek Nasıl Çalışır?
Bilişim Teknolojileri Öğretmeni İsmail ÖZTÜRK
HESAP TABLOSU PROGRAMLARI
Bu slayt, tarafından hazırlanmıştır.
Temel Bilgisayar Yapısı ve Devreleri
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Temel Kanunlar ve Temel Elektronik
Ölümcül Kilitlenme (Deadlock)
İLERİ SAYISAL SİSTEM TASARIMI VE SENTEZLEME 10. Hafta: Qsys
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
BİLGİSAYAR MİMARİLERİ 4.Hafta: Bellek Hiyerarşisi-2
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
BİLGİSAYAR MİMARİLERİ 2.Hafta: Bilgisayar Bileşenleri
Halûk Sucuoğlu ODTÜ İnşaat Mühendisliği Bölümü
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İ 3.Hafta: Bellek Hiyerarşisi-1
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları
BİLGİSAYAR MİMARİLERİ 13
BİLGİSAYAR MİMARİLERİ 10.Hafta: Pipeline İşlemci
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BELLEKLER Bellekler, bilgi depolama üniteleridir. Bilgisayarlar her türlü bilgiyi (resim, ses, yazı gibi) ikilik sayılar ile kullanır ve saklar. Bir bilgi.
BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi.
Mekatronik Mühendisliği
3.Hafta Transistörlü Yükselteçler 3
Mikrobilgisayar Tasarım Yapıları
8.8 A Simple Computer Architecture
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
Mikroişlemciler Giriş.
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
DERS 14 PIC 16F84 ile EEPROM VERİ BELLEĞİ KULLANIMI
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bellekler.
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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

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ı

Tek-çevrim işlemci

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

Komut çekme ünitesi (instr. fetch)

Ana kontrol

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

Ç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

Ç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

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

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

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

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

Ç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]

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

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

Komut çekme çevrimi: Tamamı

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

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

Dallanma

R-tipi komut çözümleme

R-tipi komut icrası

R-tipi komutun tamamlanması

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

Ç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

Ç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

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

Ç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

Komut çözümü: ORI

ORI icrası

ORI tamamlama

Komut çözümleme: Bellek erişimi

Bellek adresi hesabı

Yazmak için bellek erişimi

Okumak için bellek erişimi

Yükleme için geri yazma

Çoklu çevrim işlemci: Hepsi bir arada

Ö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