Tez No İndirme Tez Künye Durumu
179314
Hardware/software partitioning for custom instruction processors / Özelleştirilebilir komut kümeli işlemciler için yazılım/donanım bölüştürmesi
Yazar:KUBİLAY ATASU
Danışman: DOÇ. DR. CAN ÖZTURAN ; PROF. DR. GÜNHAN DÜNDAR
Yer Bilgisi: Boğaziçi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Bölümü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin:Optimizasyon teknikleri = Optimization techniques
Onaylandı
Doktora
İngilizce
2007
122 s.
Bu tezde doğrusal tamsayı programlama (ILP) tabanlı, CHIPS adı verilenbir araç zinciri tarif edilmektedir. Temel bir işlemci ile adanmış birmantıksal devre arasındaki veri bandı genişliği verildiğinde, CHIPSözelleştirilmiş komutları bulur. Özelleştirilmiş durum yazmaçlarınıdestekleyen bir temel işlemci mimarisi üzerine kurulu bu yöntem,tasarımcıların isteğe bağlı olarak komutların işlenen girdi veçıktılarının sayılarını sınırlandırmalarına olanak verir. Bu tezde,en vaad edici alan, başarım ve kod büyüklüğü ödünleşimlerininbulunması için kapsamlı bir tasarım akışı anlatılmaktadır. Girdi/çıktısayısı ve yazmaç dosyası kapı sayısı üzerindeki sınırlandırmalar ilebirlikte if-dönüştürmesi ve döngü açılması gibi derleyici dönüşümlerideğerlendirilmektedir. Deneylerimizin önemli bir çoğunluğunda en yüksekbaşarımlı çözümlerin girdi/çıktı sınırlamaları kaldırıldığında bulunduğugözlemlenmiştir. Fakat, girdi/çıktı sınırlamaları sık kullanılan kodkısımlarının tanımlanmasını sağlamıştır. Şifreleme ve çoklu ortamalanlarını kapsayan on bir denektaşı testi üzerinde detaylı sonuçlarsunulmaktadır. Denektaşı testleri 1.7 ve 6.6 kat arasında hızlandırılmış,kod büyüklükleri yüzde altı ve yüzde 72 oranları arasında azaltılmış,en yüksek başarım için 12 ile 256 toplayıcı alanı arasında değişenmantıksal devre alanlarına ihtiyaç duyulmuştur. Yöntemimizin büyükproblemler üzerinde de etkili olduğu, 1000 kadar komuttan oluşan temelkod blokları içeren denektaşı testlerinin eniyi şekilde, çoğu zamansadece bir kaç saniye içinde çözülebildikleri gösterilmiştir.Aynı testlerüzerinde var olan en ileri yöntemlerin kabul edilebilir süreler içindeeniyi sonuçlara ulaşamadıkları görülmüştür. Çalışmamız diğer yöntemlertarafından bulunamayan çözüm örnekleri ile de desteklenmektedir.
In this thesis, we describe an integer linear programming (ILP) basedsystem called CHIPS for identifying custom instructions given the availabledata bandwidth and transfer latencies between the base processor and thecustom logic. Our approach, which involves a baseline machine supportingarchitecturally visible custom state registers, enables designersto optionally constrain the number of input and output operands forcustom instructions. We describe a comprehensive design flow toidentify the most promising area, performance, and code size trade-offs.We study the effect of the constraints on the number of input/outputoperands and on the number of register file ports. Additionally, we explorecompiler transformations such as if-conversion and loop unrolling. Ourexperiments show that, in most of the cases, the highest performingsolutions are identified when the input/output constraints areremoved. However, input/output constraints help our algorithmsidentify frequently used code segments, reducing the overallarea overhead. We provide detailed results for eleven benchmarks coveringcryptography and multimedia. We obtain speed-ups between 1.7 and6.6 times, code size reductions between six per cent and 72 per cent,and area costs that range between 12 adders and 256 adders for maximalspeed-up. We demonstrate that our ILP based solution scales well, andbenchmarks with very large basic blocks consisting of up to 1000instructions can be optimally solved, most of the time within a fewseconds. We show that the state of the art techniques fail to findthe optimal solutions on the same problem instances within reasonabletime limits. We provide examples of solutions identified by ouralgorithms that are not covered by the existing methods.