CPU nedir? Nasıl çalışır?
CPU-Central Processing Unit-Merkezi İşlemci Birimi'nin çalışma prensibi nasıldır?
Bilgisayarın en önemli bileşenidir. Transistor denilen yarıiletken elektronik malzemelerden oluşurlar. Kendisine sırasıyla verilen aritmetik ve mantıksal komutları yapar.
Tüm donanım birimlerini emrinde kullanabilir ve yönetebilir. İşlemcinin matematiksel ve mantıksal işlemleri yapan birimine ALU(Arithmetic Logic Unit) denir.
İşlemcinin ALU dan geriye kalan yapısını, hafıza birimleri, veriyoları, çeşitli kontrol ve denetleme bileşenleri oluşturur. Günümüzde Intel, AMD, Motorola, VIA gibi işlemci üreticileri vardır.
İşlemcinin Temel Bileşenleri
1. ALU(Aritmetik ve Mantıksal İşlem Birimi): Toplama çıkarma, çarpma, bölme, mantıksal ve, veya, değil komutları ve kaydırma komutları.
2. Komut Çözücü(Instruction Decoder): İş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.
3. Kaydediciler(Registery): İşlemci içerisinde sayıları depolamak için kullanılan hafıza çeşididir. İşlemci veri uzunluğu kadar genişliğe(32, 64 bit) sahiptirler. Literatürde test, EBX, EAX, BX, ES, IP gibi isimler alan kaydedici hafıza gözleri vardır.
4. Bayraklar(Flags): İşlemlerin sonucuna göre 1 ya da 0 değerlerini alan 1 bit genişliğe sahip hafıza gözleridir. Sıfır, işaret, elde, eşlik, taşma gibi çeşitleri vardır. Örneğin bir çıkarma işleminde sonuç sıfır çıkarsa sıfır bayrağı 1 değerini alır.
5. Veriyolları(Buses): İşlemcinin diğer donanım birimleri ile bağlantısını sağlayan iletken elektriksel yollardır. Üç adet veriyolu bulunur. Bunlar veri(data), adres(address) ve kontrol(control) veriyollarıdır.
İşlemcinin Temel Bileşenleri(2)
İşlemciler üretilirken kendilerine yüklenen komutları istenildiğinde yapabilme kabiliyetine sahiptirler. Bu komutlar genel işlemlerin icrası için üç gruba ayrılırlar. Bir bilgisayar kendisinde tanımlı olmayan komutları icra edemez.
- Matematiksel ve Mantıksal İşlem komutları. Toplama çıkarma, çarpma, bölme, mantıksal ve, veya, değil komutları ve kaydırma komutları.
- Verilerin hafıza veya kaydediciler arasında transfer edilmesini sağlayan komutlar. Hafıza ve kaydediciler kendi aralarında veya karşılıklı veri transferi.
- Karar verme ve istenen komut satırına dallanma komutları. Sayıların karşılaştırılarak, pozitif, sıfır, eşitlik, negatif... durumlarının oluşumuna göre istenen komuta dallanabilme.
İşlemciler komutları yürütürken öncelikle işletilen komut sırasını üzerinde tutan program sayıcının(PC=program counter) gösterdiği adresteki komut RAM den alınır(Fetch). Alınan komut, komut çözücü tarafından, nasıl yürütüleceği ve ne anlama geldiği belirlenir(Decode). Sonunda ise çözülen komut doğrultusunda ALU ya verilen direktifler yardımıyla istenen işlemler yaptırılır(Execute). Elde edilen sonuçlar istenen hafıza gözlerine yazılır(Write Back). Bu işlemler bir sonraki komut için benzer şekilde devam ederek işletilmesi gereken komutlar bitene kadar sürer.
Yukarıda bahsedildiği üzere komutların icra edilmesi 4 aşamada gerçekleşmektedir. Fetch(F), Decode(D), Execute(E) ve WriteBack(WB) aşamalarıdır. Eğer bir komutun icrası önceki komutun write back aşamasından sonra başlarsa burada zaman kayıpları oluşur. Çünkü işlemcinin örneğin fetch sırasında ALU çalışmaz boşta kalmış olur. Zaman kayıplarını önlemek için pipeline(kesintisiz iş akışı) denilen bir yapı kullanılır. Yani aynı anda işlemcinin boşta kalan tüm birimleri kullanılmış olur. Bu kayıp aşağıda gösterilmiştir. 12 saat frekansında sadece üç komut icra edilirken pipeline yapıda 4 komutun icrası 7 saat frekansında halledilir.
İşlemci Parametreleri
1. Hız: İşlemcinin en önemli parametresi komutları işleme hızıdır. Birimi frekans olarak GHz katsayısı(10003) ile değerlendirilir. İşlemcinin hızlı olması işlemlerini daha kısa sürede tamamlaması anlamına gelmektedir. Günümüzde 1.8, 2.0, 2.2, 2.4, 2.6, 3.0, 3.2, 3.6, 3.8 GHz hızlarında olanları vardır.
2. Bit Genişliği: İşlem yapabilme boyutunu gösterir. Günümüzde 64 ve 32 bit işlemciler vardır. İşlemcinin sahip olduğu kaydediciler, veri hattı ve adres hattının genişliğini gösterir.
3. FSB Hızı: İşlemcinin, kuzey köprüsü ile iletişim hızını gösterir. Günümüzde 1333, 1066, 800, 533 Mhz değerlerine sahip işlemciler vardır.
4. Level2(L2) Cache: İşlemciye yakınlığından dolayı bu isim verilir. En yakın olana L1, diğerine L2, L3 gibi isimlendirmeler kullanılır. Yapısı SRAM hafıza tipindedir. SRAM hafızalar daha hızlı fakat maliyetleri yüksek hafıza çeşitleridir. Yavaş olan RAM erişimlerini azaltmak için işlemci içerisinde yer alan daha hızlı fakat küçük boyutlardaki hafızaya verilen isimdir. İşlemcinin hafıza kontrol devresinden(MCH) istekte bulunduğu her kod bu belleğe yazılır. İşlemci aynı kodu RAM yerine daha hızlı olan bu bellekten alır.
Eğer bu bellekte olmayan bir kod isteği gelirse MCH uzun süre kullanılmayan kod yerine yenisini yerleştirir. Böylece cache belekte sık kullanılan kodlar kalarak, ortalama bellek erişimi hızlanmış olur. Günümüzde Athlon 64 X2 Dual işlemcilerde 2x1MB, P4 lerde 2MB, Core2 Dualarda 4MB, Core2 Quad larda 8MB ve Celeron larda 1MB veya 512 KB L2 bellek miktarı vardır. L2 miktarı ne kadar fazla olursa o kadar çok kod saklanabilir. Fakat uygulama belirli kodları daha sık kullanıyorsa bu büyük L2 kapasitesinin faydası olmayacaktır. RAM'den tipik olarak 4 kat daha hızlı çalışmaktadır.
5. Çekirdek(Core) Sayısı: İşlemci paketi içerisinde birbirinden bağımsız olarak komutları çalıştırabilen her yapıya çekirdek ismi verilmektedir. Gerçek zamanlı olarak kendisine verilen işa kışı görevlerini aynı anda yerine getirerek performansı artırır. Her çekirdek birbirinden bağımsız FSB ye sahiptir. Tüm çekirdekler L2 yi ortak kullanırlar. Günümüzde 2 ve 4 çekirdekli işlemciler bulunmaktadır. Intel Pentium Dual Core, Intel Pentium Core 2 Duo, Intel Quad Core ve AMD Athlon X2 serisi çok çekirdekli yapıya sahiptir.
6. Soket Yapısı: Anakartlar konusunda da değinildiği gibi işlemci pin yapısı ile anakart soket yapısı birbirinin aynısı olması gerekir. Anakart konusuna bakabilirsiniz.