Özet:
Gömülü sistemler çok geniş kullanım alanına sahiptirler. Gömülü sistemlerin gerçeklenmesinde SOC (System On a Chip) yapıları yaygın olarak tercih edilmektedir. FPGA (Field Programmable Gate Array) gibi programlanabilir lojik cihazlar SOC yapılarını esnek olarak kullanmaya imkân sağlamaktadır. Birçok FPGA üreticisi FPGA içerisine gömülü olarak SOC yapıları yerleştirmek üzerine çalışmalar yapmaktadır. SOC sistemleri FPGA üzerinde soft-core olarak gerçeklemek mümkündür. Bu sistemlerde kullanılabilecek birçok ticari veya açık kaynaklı soft-core işlemci geliştirilmiştir.Bu tez çalışmasında, FPGA üzerinde SelCPU2 soft-core işlemcisinin tasarımı yapılmış ve gerçeklenmiştir. SelCPU2 işlemcisinin tasarımında, Nios II işlemcisinin komut seti referans alınarak, az alanda yüksek komut çalıştırma performansı ve yüksek çalışma frekansı hedeflenmiştir. SelCPU2 işlemcisi komut set açısından RISC mimarisindedir. Hafıza erişimi açısından Harvard mimarisindedir, veri ve komut veri yolu ayrıdır. Hafıza erişimi load/store komutları ile yapılır. Yazmaç dosyası 32 adet 32-bit yazmaç içerir. Tek bir komutta iki kaynak ve bir de hedef yazmaç adresleyebilir. ALU komutları yazmaçlar ve/veya komut içinde belirtilen sabit değer üzerinde işlem yaparak sonucu hedef yazmaca aktarır. SelCPU2 iki saat döngüsünde üç aşamalı ardışık düzen işleme(pipeline) yapasındadır ve çoğu komut tek bir saat döngüsünde tamamlayabilir. SelCPU2 işlemcisi donanımsal çarpma ve bölme komutlarını destekler. Opsiyonel olarak veri önbelleği ve yerel bağlı hafıza birimi içerebilir. SelCPU2 işlemcisi SOC sistem veri yolu olarak Avalon-MM ara yüzünü destekler. Altera SOPC Builder aracı ile SOC tasarımda bileşen olarak kullanılabilir. SelCPU2 statik dallanma tahmini birimi içerir ve hatalı tahmin sadece bir saat döngüsü kayba neden olur. SelCPU2 işlemcisi için Assembler ve yeniden uyarlanabilir LCC C derleyicisine arka yüz geliştirilmiştir. Bu sayede ANSI C ile işlemci üzerinde çalışacak program geliştirme imkânı sağlanmıştır.Yapılan tasarımın performans değerlendirmesi eşdeğer bir SOC sistemi üzerinde Altera Nios II işlemcisi ile karşılaştırmalı olarak yapılmıştır. GCC C derleyicisinin üçüncü optimizasyon seviyesi ile elde edilen ortak assembly kodu ile yapılan Dhrystone performans testinde SelCPU2 işlemcisi 47,43 DMIPS, Nios II/f işlemcisi ise 33,48 DMIPS sonuç almıştır. Sonuç olarak SelCPU2 işlemcisi, Nios II işlemcisine göre %41 daha yüksek performans göstermiştir. Altera Cyclone III FPGA üzerinde SelCPU2 işlemcisinin maksimum çalışma frekansı 85 MHz iken Nios II/f işlemcisinin maksimum çalışma frekansı 150 MHz'dir. Alan kullanımı açısından, SelCPU2 işlemcisi 1.771 LE, Nios II işlemcisinin 2.397 LE kullanmaktadır ve SelCPU2 %26 daha az alan kaplamaktadır. Tahmini güç tüketimi analizi sonucunda SelCPU2 208 mW ile Nios II işlemcisinden %4,3 daha az güç tüketmektedir. Tez çalışması sonucunda tasarlanarak gerçeklenen SelCPU2 işlemcisinin tasarım hedeflerini karşıladığı ve ticari bir işlemci olan Altera Nios II işlemcisine göre daha yüksek performans gösterdiği görülmüştür.