ITURisc benzetim programını Gökhan Akın Şeker adlı

advertisement
ITURisc benzetim programını Gökhan Akın Şeker adlı öğrencim bitirme ödevi olarak yaparken orijinal
Berkley RISC 1 işlemcisini gerçeklemişti.
Berkley RISC 1 işlemcinin gerçekte mimarisi von Neumann tipidir, iş hattı ise gerçekte 4 segmanlıdır.
Bu nedenle de bitirme ödevi bu şekilde yazıldı.
Ancak ben derste daha ileri ve farklı yapıları görmeniz için 3 segmanlı yapıyı ve Harvard mimarisini de
anlattığım içi öğrencim mezun olduktan sonra programı kısa sürede ona göre düzenlemeye çalıştı. Bu
düzenleme sırasında gördüğüm kadarıyla 2 sorun oluşmuş.
1) Örneğin aşağıdaki programda R1 saklayıcısı ile ilgili bir bağımlılık olmadığı halde benzetim
programı “R1’de bağımlılık var” uyarısı çıkartıyor. Araya NOP koyunca doğru çalışıyor.
ADD R0, $1, R1
ADD R1, $1, R2
2) Ayrıca LOAD/STORE komutlarından sonra kendisi NOP ekliyor. RISC 1'in orijinali von Neumann
mimarisi olduğundan öğrencim 4 segmanlı iş hattındaki bellek erişimi sorunlarını çözmek için bu
çözümü bilerek kendi eklemişti.
İzlenecek Yol:
1) Ödevlerde ve sınavlarda programlarınızı derste anlatıldığı şekilde düzenleyin. NOP koyup
koymama kararını derste anlatılanlara göre verin.
Ancak sadece benzetim programını kullanırken yukarıda belirtilen hatayı aşmak için saklayıcı
bağımlılığı uyarısı çıkan yerlere kendiniz bir NOP ekleyin.
Load/store dan sonra kendi eklediği için oradakini ise benzetim programında kaldırabilirsiniz.
2) Programın kaynak kodları da web sayfasında (http://gokhan.sekers.info/risc1/) bulunuyor.
Meraklıları Java ile yazılan bu programı inceleyerek hatayı düzeltebilirler. Sanıyorum hata
IsHatti.java adlı dosyada.
İsteyenler daha iyi ve gelişmiş bir benzetim programını bitirme ödevi olarak gerçekleyebilirler.
Download