Genişletilebilir yazmaç yeniden adlandırma yöntemi tasarımı
Complexity-effective rename table design for rapid speculation recovery
Yazar: GÖRKEM AŞILIOĞLU
Danışman: YRD. DOÇ. DR. OĞUZ ERGİN
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2011
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgisayar mimarisi = Computer architecture ; Genetik algoritmalar = Genetic algorithms

Özet:
Yazmaç yeniden adlandırma güncel çok yollu işlemcilerde gerçek olmayan veri bağımlılıklarını ortadan kaldırmak için sıklıkla kullanılan bir tekniktir. Bu teknik mimari tasarımda belirtilen yazmaçların işlemciye gelen buyrukların çözülmesi sırasında fiziksel yazmaçlara atanması ile gerçekleştirilir. Bu atamalar bir eşleştirme tablosunda tutulur.Çok yollu işlemciler dallanma tahmini gibi teknikler kullandığında işlemci hatalı bir tahmin sonucunda olmaması gereken bir duruma düşer. Yanlışlıkla işlenilmeye başlanan buyrukların yazmaçlarının yeniden adlandırmaları bir şekilde geri alınmalı ve doğru duruma dönülmelidir.Güncel işlemcilerde bu geri dönüşümü yapan teknikler ya geri dönüşüm hızından, ya da donanım karmaşıklığı yönünden taviz vermektedir. Bu çalışma donanım karmaşıklığı yönünden daha basit olan, bunun yanında en yavaş halinda iki saat vuruşunda yeniden adlandırma tablosunu eski haline getirebilen ve rahat genişletilebilen bir yeniden adlandırma sistemi önermektedir.Önerilen yapı her mimari yazmaç için farklı boylarda İGİÇ kuyrukları kullanarak her mimari yazmaç için farklı miktarda kopya tutmayı hedefliyor. Bu çalışmanın sonuçları bazı özel durumlar dışında önerilen sistemin donanımla sınırlı yapılardan başarımının daha iyi olduğunu gösteriyor.Bu çalışmanın yanında, işlemcide kullanılan alanı en aza indirmek için İGİÇ kuyruklarının boylarının başarımı çok etkilemeden en aza indirilmesi üzerine bir çalışma daha yapıldı. Bu çalışmada bir genetik algoritma kullanarak alan kullanımı ve başarımı en uygun şekilde birleştirmeyi başardık.

Abstract:
Register renaming is a commonly used technique to remove false data dependencies in contemporary superscalar processors. This is done by assigning physical registers to registers defined in architectural design during the decoding process of the instructions in the processor. These assignments are kept in an alias table.When superscalar processors use techniques such as branch prediction the processor may reach a state it should not be in as a result of a misprediction. Instructions fetched mistakenly need to restore the rename assignments and return to a correct state.In contemporary processors the techniques which restore the rename table either sacrifice restore speed or hardware complexity. This study shows an extendable technique which has less hardware complexity, yet can restore the rename table in at most two clock cycles.The design proposes the use of differently sized FIFO queues for each architectural register to hold checkpoints. This study shows that the proposed structure performs better than existing techniques except in a few exceptional cases.Besides the rename table design, a study was also done on determining the optimum FIFO queue size for each architectural register without losing performance. This study proposes the use of genetic algorithms to successfully balance area usage and performance in a reasonable amount of time.