CISC ve RISC Kavramları Nedir? Ne
İşe Yarar?
CISC (Complex Instruction Set
Computer), geleneksel bilgisayar mimarisidir. İşlemci kendi üzerinde bulunan
microcode adlı minyatür bir yazılımı kullanarak komut setlerini çalıştırır. Bu
sayede komut setleri değişik uzunluklarda olabilir ve bütün adresleme
modellerini kullanabilirler. Bunun dezavantajı çalışmak için daha karmaşık bir
devre tasarımına ihtiyaç duyulmasıdır.
İşlemci
üreticileri daha komlpleks (ve güçlü) işlemciler üretmek için sürekli daha
büyük komut setleri kullandılar. 1974 yılında IBM'den John Cocke bir çipin daha
az komutla çalışabilmesi gerektiğini düşündü ve ortaya sadece sınırlı sayıda
komut setleri kullanabilen RISC (Reduced Instruction Set Computer) mimarisi
çıktı. Bu mimaride komutların uzunluğu sabittir ve bu yüzden de direk olmayan
adresleme modu kullanılamaz. Sadece tek bir saat döngüsünde veya daha az sürede
çalıştırabilecek komutlar işleme konabilir. RISC işlemcilerin en büyük
avantajları komutları çok çabuk işleyebilmeleridir çünkü bu mimaride komutlar
çok basittir. Bu sayede RISC işlemcileri tasarlayıp üretmek daha ucuzdur, çünkü
bu basit komutlar için daha az transistör ve daha basit devreler gerekir.
- Execution Unit (Core=Çekirdek): Bu ünite komutları çalıştırır ve pipeline (işhattı) denen yollarla beslenip tamsayıları kullanarak okuma, değiştirme ve komut çalıştırma işlemlerini yapar. Artimetik hesaplamalar için ALU(Arithmetic and Logic Unit) denen aritmetik ve mantık üniteleri kullanılır, ALU için işlemcilerin yapıtaşıdır diyebiliriz.
- Branch Predictor: Bu ünite bir program çalışırken başka bir satıra atlayacağı zaman hangi satırların işleme konacağını tahmin etmeye çalışarak Prefetch (komutların bellekten ne zaman çağrılacağına karar verir ve komutları Decode ünitesine doğru sırayla gönderir) ve Decode (bu ünite de kompleks makina dili komutlarını ALU'nun ve registerların kullanabileceği basit komutlara dönüştürür) ünitelerine hız kazandırmaya çalışır.
- Floating Point Unit: Bu ünite tamsayı olmayan floating point (kayar nokta) hesaplamalarından sorumludur
- L1 Cache: İşlemci için önbellek. Önemli kodlar ve veriler bellekten buraya kopyalanır ve işlemci bunlara daha hızlı ulaşabilir. Kodlar için olan Code ve veriler için olan Data cache olmak üzere ikiye ayrılır. Güncel işlemcilerde L2 (Level 2, 2. seviye) önbellek de bulunur. Önceleri L2 önbellek anakartta bulunurdu. Daha sonra slot işlemciler ortaya çıktı ve işlemci çekirdeğinin de üzerinde bulunduğu kartuj şeklindeki paketlerde önbellek çekirdeğin dışında ama işlemciyle aynı yapıda kullanılmaya başlandı. Bu kısa geçiş döneminden sonraysa önbellek işlemci çekirdeklerine entegre edildi.
- BUS Interface: İşlemciye veri – kod karışımını geitirir, bunları ayırarak işlemcinin ünitelerinin kullanmasını sağlar ve sonuçları tekrar birleştirerek dışarı yollar. Bu arayüzün genişliği işlemcinin adresleyebileceği hafızayı belirler. Örneğin 32 bitlik hafıza genişliğine sahip bir işlemci 232 byte (4 GB) hafızayı adresleyebilir ve bu hafızadan aynı anda 32 bit üzerinde işlem yapabilir. Günümüzde masaüstü pazarına 32 bitlik işlemciler hakimken sunucu uygulamarı ve bilimsel çalışmalar için de 64 bitlik işlemciler yaygın olarak kullanılır.
Bir işlemcideki bütün elemalar saat vuruşlarıyla çalışır.
Saat hızı bir işlemcinin saniyede ne kadar çevrim yapabileceğini belirler. 200
MHz saat hızı 200 MHz olan bir işlemci kendi içinde saniyede 200 çevrim
yapabilir. Her çevrimde işlemcinin ne kadar işlem yapabileceği işlemcinin
yapısına göre değişir. Bu saat vuruşları anakart üzerindeki Clock Generator
denen yongayla üretilir. Bu yonganın içinde çok hassas kristaller vardır. Bu
kristallerin titreşimleri saat vuruşlarını oluşturur.
Program Counter (PC) denen birim içinde çalıştırılacak bir
sonraki komutun hafızadaki adresini bulundurur. Bu komutun çalıştırılma zamanı
geldiğinde kontrol ünitesi komutu işlenmek üzere hafızadan alır ve işlemci
üzerindeki Instruction Register denen bölüme işlenmek üzere aktarır. Yazmaç da
diyebileceğimiz registerlar hafızadan verilerin veya kodların yazılabildiği
geçici saklama alanlarıdır. İçindeki adresi gerekli yazmaca aktaran PC daha
sonra bir arttırılır ve bir sonraki komutun zamanı geldiğinde Instruction
Register'a aktarılmak üzere hazırda beklemesi sağlanır.
Komut işlendikten sonra hesaplamayı yapan birim Status
Register (SC) denen yazmacın değerini değiştirir, bu yazmaçta bir önceki
işlemin sonucu saklıdır.
Kontrol ünitesi bu yazmaçtaki değeri kullanarak sonuca göre
gerekli komutları çalıştırabilir.
Hiç yorum yok:
Yorum Gönder