13.07.2015 Views

07 31 Ocak - 2 Şubat 2007 Kütahya - Akademik Bilişim Konferansları

07 31 Ocak - 2 Şubat 2007 Kütahya - Akademik Bilişim Konferansları

07 31 Ocak - 2 Şubat 2007 Kütahya - Akademik Bilişim Konferansları

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Akademik</strong> Bilişim’<strong>07</strong> - IX. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>31</strong> <strong>Ocak</strong> - 2 Şubat 20<strong>07</strong> Dumlupınar Üniversitesi, Kütahya3) İlgili kuraldışı durum veren komut sistemetekrar yayınlanır.Yukarıda anlatılan sistemin avantajı, Tomasuloalgoritmasında işi biten komutların sistemdenatılması durumunda yaşanabilecek kayıplarıortadan kaldırabilmesidir.4. UygulamaGenişletilmiş Tomasulo algoritması DLXView[1] adı verilen MIPS simulatörü kullanılarakuygulanmıştır. DLXView UNIX ortamındaC ve Tcl/Tk kullanılarak geliştirilmiş, MIPS32/64 mimarisini simule edebilen açık kaynakkodlu bir projedir. Bünyesinde “Basic MIPSPipeline”, “Scoreboard” ve “Tomasulo” algoritmalarınıbarındırmaktadır. Temel olarak sanalbir işlemcinin kodları çalıştırdığı alt yapıüzerine, örnek MIPS kodlarını çalıştırabilecekgrafiksel bir arayüze sahiptir. (Şekil 6)DLXView adı verilen MIPS simulatöründekullanılan en önemli yapılar aşağıdaki gibidir.1) Çalışma anında kullanılan her bir komutaşağıdaki C yapısı ile ifade edilmektedir.typedef struct Op {// Komutun 1. ve 2. kaynakoperandlarının yazmaç numaralarıint rs1, rs2;// Komutun 1. ve 2. kaynakoperandlarının hazır olacağı dönüş(cycle) sayısıint rs1Ready, rs2Ready;// Kaynak 1 ve 2 değeri intsource1[2], source2[2];// Hedef yazmaç numarası int rd;// Hedef registerin hazır olacağıdönüş numarasıint rdReady;// Sonuç register numarası intresult;// Komutun hangi işlevsel birimeait olduğu int unit;// Yükle/Sakla komutları içinverinin okunacağı veya saklanacağıadres unsigned int address;// Sonraki komut struct Op *nextPtr;} Op;2) İşlemciye eklenen YGÜ, rezervasyon istasyonlarınınher biri aşağıdaki gibidir.typedef struct TagUnitInfo {// Etiket numarası int tagNo;// Etiket boş mu ? int tagFree;// Yeniden adlandırılmış yazmaçınson kopyası mı ? int latestCopy;// KomutOp *op;} TagInfo;3) YGÜ birimi işlemci yapısına aşağıdaki gibieklenmiştir.typedef struct {.....( İşlemci ile ilgili yapılar)// MAX_RUU_COUNT kadar maximumrezervasyon istasyonu sayısıTagInfo RUU[MAX_RUU_COUNT];// Kullanılabilen YGÜ rezervazyonistasyonu sayısını ileride dinamikolarak belirlemek için RUUSize (RUUTail;i != mod(machPtr->RUUHead-1,machPtr->RUUSize);i=mod(i-1,machPtr->RUUSize))417

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!