Modern CPU'nun Anatomisi: Temel Bileşenler ve Etkileşimleri

Kerem Aydın·7 Temmuz 2026·⏱5 dk

İşlemci beş ana işlevsel bloktan oluşur: Hesaplamaları gerçekleştiren aritmetik mantık birimi (ALU); komut akışını koordine eden kontrol birimi; mevcut verileri depolayan son derece hızlı yazmaçlar; belleğe erişimi hızlandıran çok seviyeli önbellek; ve görevlerin paralel işlenmesini sağlayan bir veya daha fazla çekirdek. Bu yapının anlaşılması, GHz frekansının hızın tek göstergesi olmadığını ve programların bilgisayar kaynaklarını nasıl verimli kullandığını açıklar.

Özet: İşlemci monolitik bir kristal değil, karmaşık bir üretim hattıdır. Veriler yavaş ana bellekten önbellek ve yazmaçlar aracılığıyla ALU'ya geçer; burada kontrol biriminin titiz rehberliği altında işlemler gerçekleştirilir.

Aritmetik Mantık Birimi (ALU)

ALU (Arithmetic Logic Unit), işlemcinin içindeki "hesap makinesi"dir. Tüm fiziksel veri dönüşümleri tam olarak burada gerçekleşir.

ALU'nun Temel İşlevleri

  • Aritmetik işlemler: toplama, çıkarma, çarpma, bölme.
  • Mantıksal işlemler: değerleri karşılaştırma (büyük/küçük/eşit), bit düzeyinde işlemler (VE, VEYA, DEĞİL, özel VEYA).
  • Bit kaydırmaları: verilerin yazmaç içinde taşınması; bu genellikle iki'nin kuvvetleriyle hızlı çarpma veya bölme yapmak için kullanılır.

Modern işlemcilerde tek bir ALU bulunmaz. Birden fazla ALU vardır ve bunlar paralel çalışabilir. Örneğin, bir ALU sayıları toplarken, diğeri if koşulu için mantıksal bir karşılaştırma yapabilir. Buna süperskaler mimari denir.

Kontrol Birimi (Control Unit)

ALU eller ise, kontrol birimi (KB) kararları veren beyindir. Kendisi hesaplama yapmaz, ancak tüm orkestrayı yönetir.

Kontrol Biriminin Görevleri

  1. Komut getirimi: KB, bir sonraki komutu bellekten (veya komut önbelleğinden) okur.
  2. Kod çözme: Makine kodunu (sıfır ve birlerden oluşan küme) işlemcinin diğer bloklarının anlayabileceği sinyallere dönüştürür.
  3. Yürütme: Verileri uygun ALU'ya veya bellek çalışma modülüne gönderir.
  4. Sonucu yazma: İşlem sonucunu bir yazmaca veya belleğe kaydeder.

Dal tahmini: KB'nin en zor görevlerinden biri, kodun hangi dalının sıradan yürütüleceğini (örneğin, if-else koşulundan sonra) tahmin etmektir. Tahmin doğruysa, üretim hattı boşta kalmaz. Yanlış çıkarsa, işlemci hatalı hesaplamaları iptal eder; bu da değerli saat döngülerine mal olur.

Yazmaçlar: En Hızlı Bellek

Yazmaçlar doğrudan hesaplama çekirdeğinin içindedir. Bunlara erişim 1 işlemci saat döngüsünde gerçekleşir, bu da onları bilgisayardaki en hızlı depolama hücreleri yapar.

Yazmaç Türleri

  • Genel amaçlı yazmaçlar (GPR): Mevcut hesaplamalar için operandları (sayılar, adresler) saklar.
  • Komut sayacı (PC/IP): Bellekteki bir sonraki talimatın adresini gösterir.
  • Bayrak yazmacı (EFLAGS/RFLAGS): Son işlemlerin durumunu saklar (sonuç sıfır mıydı, taşma oldu mu, sayı negatif miydi).

Sınırlı sayıda yazmaç, mimarinin ana darboğazıdır. Derleyiciler, yavaş ana belleğe erişmemek için en önemli değişkenleri tam olarak yazmaçlarda tutmaya çalışır.

Önbellek Belleği: Hız ve Kapasite Arasındaki Tampon

Ana bellek (RAM), işlemciden onlarca kat daha yavaş çalışır. Bu farkı telafi etmek için, CPU kristaline gömülü statik bellek (SRAM) olan önbellek kullanılır.

Önbellek Seviyeleri

SeviyeHızKapasiteAmaç
L1MaksimumÇok küçük (onlarca KB)Komut ve veri önbelleğine ayrılır. Şu anda gerekenleri saklar.
L2YüksekOrta (yüzlerce KB – birkaç MB)L1 için tampon. Genellikle her çekirdek için özeldir.
L3OrtaBüyük (onlarca MB)Tüm çekirdekler tarafından paylaşılır. Çekirdeklerin RAM'e başvurmadan veri alışverişi yapmasına olanak tanır.

Yerellik ilkesi: İşlemci, yalnızca gerekli değişkeni değil, komşu verileri de önbelleğe yükler, çünkü programlar belleğe genellikle ardışık olarak erişir.

Çekirdekler ve Çoklu İş Parçacığı

Çekirdek (Core), kendi ALU, yazmaç, L1/L2 önbellek seti ve kontrol birimini içeren bağımsız bir hesaplama bloğudur.

Performans Evrimi

Eskiden hız, frekansı (Hertz) artırarak yükseltilirdi. Günümüzde odak noktası çekirdek sayısındadır.

  • Çok çekirdeklilik: Farklı görevlerin gerçekten paralel olarak yürütülmesine olanak tanır (örneğin, bir çekirdekte video render alırken diğerinde müzik çalma).
  • Çoklu iş parçacığı (Hyper-Threading / SMT): Tek bir fiziksel çekirdeğin aynı anda iki komut akışını işlemesine olanak tanıyan teknolojidir. Bir akış bellekten veri beklerken, çekirdek boştaki ALU parçalarını kullanarak ikinci akışa geçer.

Çekirdek efsanesi: Daha fazla çekirdek her zaman daha hızlı anlamına gelmez. Program tek iş parçacıklıysa (örneğin, birçok eski oyun veya basit betik), yalnızca bir çekirdek kullanacaktır. Bu durumda, toplam sayıdan ziyade belirli bir çekirdeğin gücü (IPC – saat döngüsü başına talimat) daha önemlidir.

Birlikte Nasıl Çalışır: Yürütme Döngüsü

Tek bir talimatın işleme süreci şöyle görünür:

  1. Getirme (Fetch): Kontrol birimi talimatı L1 önbelleğinden alır.
  2. Kod Çözme (Decode): KB ne yapılması gerektiğini anlar (örneğin, "topla").
  3. Yürütme (Execute): Yazmaçlardaki veriler ALU'ya gider. Toplama işlemi gerçekleşir.
  4. Bellek (Memory): Gerekirse, sonuç önbelleğe/belleğe okunur veya yazılır.
  5. Geri Yazma (Write Back): Sonuç yazmaca kaydedilir.

Bu döngü pipelined (boru hatlı) yapıdadır: İlk talimat için beşinci adım yapılırken, ikinci talimat için dördüncü, üçüncü talimat için üçüncü adım ve böyle devam eder.

Mimariyi Anlamada Sık Yapılan Hatalar

  • "Önbellek yazılımla artırılabilir." Hayır, önbellek kapasitesi üretim sırasında kristalin fiziksel yapısı tarafından sabitlenmiştir.
  • "5 GHz frekans her zaman 3 GHz'den iyidir." Hayır, eski işlemcinin mimarisi daha az verimliyse (daha düşük IPC), daha düşük frekanslı ama modern bir çipe kaybedebilir.
  • "Yazmaçlar ve önbellek aynı şeydir." Hayır, yazmaçlar assembly programcısı tarafından görülür ve doğrudan hesaplamalar için kullanılır; önbellek ise yazılım için şeffaftır ve belleğe erişimi hızlandırmak için otomatik çalışır.

SSS

İşlemci neden ısınır? Ana ısınma, ALU ve diğer bloklar içindeki transistörlerin anahtarlanması sırasında gerçekleşir. Frekans ve voltaj ne kadar yüksekse, saniyedeki anahtarlama sayısı o kadar fazla olur ve o kadar çok ısı açığa çıkar. Verimsiz dal tahminleri de enerjiyi boşa harcar.

L1 ve L2 varken L3 önbelleğe neden ihtiyaç duyulur? L1 ve L2 genellikle her çekirdek için özeldir. L3, ortak bir veri havuzu olarak hizmet eder ve çekirdeklerin yavaş sistem veri yoluna ve ana belleğe başvurmadan hızlıca bilgi alışverişi yapmasına olanak tanır.

Tek bir çekirdek aynı anda iki görevi yürütebilir mi? Fiziksel olarak hayır, saat döngüsü başına tek bir mikro işlem yürütür. Ancak çoklu iş parçacığı (SMT) sayesinde, iki akış arasında bağlam değiştirmeyi o kadar hızlı yapar ki eşzamanlı çalışma illüzyonu yaratır; ayrıca bellek bekleme boşluklarını etkili bir şekilde doldurur.