RISC Tasarım Felsefesi

ARM çekirdekleri RISC mimarisini kullanır. Peki nedir bu RISC?

RISC = Reduced Instruction Set Computing

CISC = Complex Instruction Set Computing

RISC denilen şey aslında bir tasarım felsefesidir, yüksek hızlarda tek bir cycle (döngü) süresinde işleyen basit ancak güçlü direktifler sağlamayı amaçlar. RISC felsefesi donanım tarafından yürütülen karmaşık talimatların azaltılması konusunda yoğunlaşır, çünkü donanıma nazaran yazılımla yapılması işlerin daha anlaşılabilir ve daha esnek olmasını sağlar. Sonuç olarak, RISC tasarımı derleyicilerde daha çok talep görür. Ancak, halihazırda karmaşık komut setli bilgisayar,namıdiğer CISC mimarisi, donanım üzerinde yapıların fonksiyonelliği bakımından daha güvenilirdir, bu nedenle CISC yapıları daha karmaşıktır. Şekil-1 RISC ve CISC arasındaki temel farkları görebiliriz.

Şekil1.1_CISC_RISC_FarklarıRISC felsefesi 4 ana tasarım kuralı ile uygulanır :

1) Komutlar (Instructions) – RISC işlemcileri sayısı azaltılmış yapı sınıflarına sahiptir. Bu sınıflar tek bir cycle (döngü) süresinde çalışabilen basit işlemleri sağlar. Derleyici yada programcı basit yapıları bir araya getirerek karmaşık işlemleri sentezler (bölme işlemi gibi). Her yapı pipeline ı gerçekleştirebilmek için sabit uzunlukludur. CISC işlemcilerde ise durum tam tersine komutların uzunluğu ve işlenme süreleri değişkendir ve zaman alabilir. (Pipeline işlemler için kısaca işlemcinin bir yandan güncel bilgiyi çözümlemek bir yandanda gelecek bilgiyi fetch edebilmesi (yakalayabilmesi) özelliği diyebiliriz.)

2) İletim Hatları (Pipelines) – Komutların işlenmesi küçük birimlere ayrılır ve böylelikle pipeline lar sayesinde paralel olarak çalıştırılabilirler. Kısaca Pipeline özelliğinde her bir cycle (döngü) süresinde maksimum iş yapabilmesi amacıyla hattın genişlemesi olarak düşünebiliriz. O an girişteki bilgi işlenirken gelecek bilgiyi yakalamamız gerekiyorki anlamlı bilgiyi kaçırmayalım. Komutları pipeline aşamasında çözümleyebiliriz. CISC işlemcilerdeki gibi komutların işlenmesi için microcode denilen mini programlara ihtiyaç yoktur.

3) Kayıtçılar (Registers) – RISC makineleri oldukça fazla genel-kullanım kayıtçılarına sahiptir. Herbir kayıtçı anlamlı bilgi yada adres barındırabilir. Kayıtçılar aslında tüm veri işleme faaliyetleri için yerel hafıza birimleri gibi davranırlar. CISC makinelerde ise durum biraz daha farklıdır, burada özel amaçlar için ayrılmış kayıtçılar mevcuttur.

4) Yükleme-Depolama Mimarisi (Load-Store Architecture) – İşlemci kayıtçılarda tutulan veriler üzerinde işlem yaparlar. Ayrı olan yükleme ve depolama komutları kayıtçı kümeleri ile harici hafıza arasında veri transferini gerçekleştirir. Hafıza erişimleri daha maliyetlidir, dolayısıyla hafıza erişimlerini data işlemlerinden ayırmak bize avantaj sağlar çünkü kayıtçı kümelerinde tutulan veri parçalarını sürekli hafızaya erişim sağlamadan birçok defa kullanabiliriz. CISC tasarımda ise tersine, veri işleme faaliyetleri doğrudan hafızaya erişerek yapılabilir.

Bu tasarım kuralları RISC işlemcilerinin daha basit olmasını sağlar, ve dolayısıyla çekirdek yüksek saat frekanslarında çalışabilir. Tersine, geleneksel CISC işlemcileri daha komplekstir ve daha düşük saat frekanslarında çalışır. 20 seneden fazladır, CISC ve RISC arasındaki fark net değildir, çünkü CISC işlemcileri RISC kavramlarından daha çok şey barındırır.

Kaynak : ARM System Developer’s Guide Designing and Optimizing System Software Andrew N. Sloss,D. Symes, C. Wright

 

Leave a Reply

Your email address will not be published.