İşlemciler
İşlemciler, adından da anlaşıldığı gibi bilgisayardaki işlemleri gerçekleştiren ve gerekli yerlere gönderen kilit elemandır. Bilgisayarın olmazsa olmazlarından olan işlemciye, bilgisayar üzerinde yapılan her işlem muhakkak uğrar. Benzetme yapacak olursak işlemciyi bilgisayarın beyni olarak düşünebiliriz. Bu benzetmeyi yapmasam olmazdı arkadaşlar 🙂
Tek Çekirdekli Bir İşlemci Yapısı
İşlemcilerin yapısı nasıl diye soracak olursak tam anlamıyla yukarıdaki resimde görüldüğü gibidir. İsterseniz bu birimleri tek tek açıklamaya başlayalım.
1. Execution Unit(Core=Çekirdek):
Bu ünite komutları çalıştırır ve pipeline (iş hattı) denen yollarla beslenip tam sayıları kullanarak okuma, değiştirme ve komut çalıştırma işlemlerini yapar.
2. Arithmetic Logic Unit(Aritmetik ve Mantık Birimi):
Kısaltması ALU olan bu birim mikroişlemcinin yapıtaşıdır diyebiliriz. Bu bölüm dört işlem, verilerin karşılaştırılması, karşılaştırmanın sonucuna göre yeni işlemlerin seçilmesi ve kararların verilmesi gibi işlemlerin yapılmasını sağlar. ALU’nun ne kadar fonksiyonu varsa işlemci o kadar değer kazanır.
3. 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.
4. Floating Point Unit(Kayar Nokta Birimi):
Bu ünite tamsayı olmayan floating point (kayar nokta) hesaplamalarından sorumludur.
5. Önbellek (Cache):
İşlemcilerin verilere daha hızlı ulaşabilmesi için önemli kodların ve verilerin bellekten kopyalandığı yerlerdir. Kodlar için olan Code Cache ve veriler için olan Data Cache olarak ikiye ayrılır. Güncel işlemcilerde önbellekler Level 1, Level 2 ve Level 3 olarak bulunurlar. Hız bakımından karşılaştıracak olursak L1 > L2 > L3 > RAM diyebiliriz.
6. BUS Interface(Veriyolu Arabirimi):
İşlemciye veri+kod karışımını getiren arabirimdir. Bu karışımı getirdikten sonra birbirinden ayırır, kullanılmasını sağlar ve tekrar geri birleştirerek dışarıya yollar. Bu arabirimin genişliği işlemcinin adresleyebileceği hafızayı belirler. (32bit-64bit)
7. Registers(Kaydediciler):
Anabellekteki veriler işlenmek üzere merkezi işlem birimine taşınır. Burada verilerin işlenmesi sırasında kaydedicilerde bekletilirler.
8. Instruction Decoder(Komut Çözücüler):
İşlemcinin yapması gereken kodların icrası için gerekli işlemleri başlatır ve komutun çalıştırılması için gerekli işlemleri belirler.
Daha fazla bilgi için takipte kalın.