Bilgisayarın "beyni" nasıl çalışır: Komuttan sonuca

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

İşlemci tek bir algoritma ile çalışır: Bellekten komutu okur, çözer, eylemi gerçekleştirir ve sonucu yazar. Bu döngü saniyede milyarlarca kez tekrarlanır. Süreci hızlandırmak için veriler geçici olarak çipin içindeki son derece hızlı yazmaçlarda saklanır ve sık kullanılan bilgiler, her seferinde yavaş ana belleğe erişmek zorunda kalmamak için önbelleğe alınır.

Temel mimari: Üç ana bileşen

Çalışma mantığını anlamak için işlemciyi siyah bir kutu olarak değil, iş bölümünün net olduğu bir ofis olarak düşünelim. Tüm sistem üç temel ayak üzerinde durur:

  1. Kontrol Birimi (Control Unit) — orkestra şefi. Diğer tüm parçalara ne yapacaklarını ve hangi sırayla yapacaklarını söyler.
  2. Aritmetik Mantık Birimi (ALU) — uygulayıcı. Tüm hesaplamalar burada gerçekleşir: toplama, karşılaştırma, mantıksal işlemler.
  3. Yazmaçlar ve önbellek — çalışma masası. Şu anda ihtiyaç duyulan veriler için son derece hızlı bellektir.

Ana kural: Veriler işlemci çekirdeğine ne kadar yakınsa, o kadar hızlı işlenir. Bu nedenle yazmaçlar önbellekten daha hızlıdır, önbellek ana bellekten (RAM) daha hızlıdır ve RAM de sabit diskten (SSD) daha hızlıdır.

Komut döngüsü: Her işlemin beş adımı

Tarayıcıyı açmaktan oyundaki fizik hesaplamalarına kadar her görev makine komutlarına ayrılır. İşlemci bunları standart bir döngü üzerinden işler (Fetch-Decode-Execute):

  1. Getirme (Fetch). İşlemci "komut sayacına" (özel bir yazmaç) bakar, bir sonraki talimatın adresini öğrenir ve onu bellekten alır.
  2. Çözme (Decode). Kontrol birimi, ikili kod halindeki talimatı dahili blokların anlayacağı dile çevirir. Örneğin, "bu iki sayının toplanması komutudur".
  3. Yürütme (Execute). ALU eylemi gerçekleştirir. Sayıları toplamak gerekiyorsa toplar. Karşılaştırmak gerekiyorsa karşılaştırır.
  4. Belleğe Erişim (Memory Access). Komutun dışarıdan verilere ihtiyacı varsa (örneğin, ana bellekten bir değişkeni okumak), işlemci istekte bulunur. İşlem tamamen hesaplama temelli ise bu adım atlanabilir.
  5. Sonucu Yazma (Write Back). İşlemin sonucu bir yazmaca kaydedilir veya tekrar belleğe gönderilir.

Bundan sonra komut sayacı bir sonraki talimata geçer ve döngü yeniden başlar.

Yazmaçlar: Neden ana bellekten daha önemlidir?

Yazmaçlar, doğrudan işlemci çekirdeğine gömülü, sadece birkaç bayt kapasiteli bellek hücreleridir. Sayıları azdır (genellikle modern genel amaçlı mimarilerde 16 ila 32 arasında), ancak kritik öneme sahiptirler.

Yazmaç TürüNe için sorumludurAnaloji
Komut Sayacı (PC)Bir sonraki talimatın adresini saklarKitaptaki ayraç
AkümülatörHesaplama ara sonuçlarını saklarMasadaki taslak kağıt
Genel Amaçlı YazmaçlarDeğişkenlerin geçici saklanması (a, b, x)Bozuk para cepleri
Bayrak YazmacıSon işlemin durumunu saklar (sıfır mıydı, taşma var mıydı)Işık göstergesi

Neden her şeyi yazmaçlarda saklayamıyoruz? Kristal üzerinde çok fazla yer kaplarlar ve boşta kaldıklarında bile enerji tüketirler. Bu nedenle yalnızca şu anda gerekli olanlar onlarda tutulur. Geri kalanı ana bellekte sırasını bekler.

Bellek hiyerarşisi: Hızla mücadele

İşlemci gigahertzlerde çalışırken, ana bellek önemli ölçüde daha yavaştır. Eğer CPU her işlem için RAM'den veri beklemek zorunda kalsaydı, zamanının %90'ını boşa harcardı. Bu sorun önbellek hiyerarşisi ile çözülür.

Önbellek belleği seviyeleri

  • L1 (Seviye 1): En hızlı ve en küçük olanı (onlarca kilobayt). Komut önbelleği ve veri önbelleği olarak ayrılmıştır. Çekirdeğe bitişiktir.
  • L2 (Seviye 2): Biraz daha yavaş ama daha büyük (yüzlerce kilobayt veya birkaç megabayt). Genellikle her çekirdek için özeldir.
  • L3 (Seviye 3): Büyük kapasite (onlarca megabayt), işlemcinin tüm çekirdekleri tarafından paylaşılır. Ana bellek öncesi arabellek olarak hizmet eder.

İşlemci verileri L1'de bulamazsa, L2'de, ardından L3'te arar ve ancak ondan sonra yavaş RAM'e gider. Böyle bir isabet kaçırma (cache miss) zaman açısından pahalıya mal olur — yüzlerce saat darbesi boşta geçer.

Modern optimizasyonlar: İşlem hattı ve tahmin

Erken dönem işlemcilerde bir sonraki adım ancak önceki adım tamamen tamamlandıktan sonra başlardı. Günümüzde işlem hattı (pipeline) kullanılmaktadır.

Bir çamaşırhaneyi düşünün: Bir makine yıkarken, diğeri önceki yüklemedeki çamaşırları kurutur ve üçüncüsü ütüler. İşlemci de aynı şekilde: Bir çekirdek 2 numaralı komutu çözerken, diğeri 1 numaralı komutu zaten yürütür ve üçüncüsü 3 numaralı komutu getirir.

Dallanma sorunu Kodda if/else koşulu varsa, işlemci hesaplamayı yapana kadar hangi dalın çalışacağını bilmez. Beklememek için dal tahmin edici kullanır. Yolu "tahmin eder" ve talimatları önceden yükler. Tahmini doğruysa hız kazanılır. Yanılırsa, işlem hattının temizlenmesi gerekir ki bu performansı düşürür.

CPU çalışma mantığını anlamada sık yapılan hatalar

  • "Daha fazla çekirdek = her şey daha hızlı." Çekirdekler çoklu görevlerde ve paralel hesaplamalarda (rendering, arşivleme) yardımcı olur. Ancak tek iş parçacıklı görevler (eski oyunlar, ofis yazılımlarının bir kısmı) tek bir çekirdeğin hızına ve işlem hattı mimarisine bağlıdır.
  • "Hertz değeri ana göstergedir." Modern bir işlemcideki 3 GHz ile on yıl önceki bir çipteki 3 GHz farklı performans sunar. Daha önemlisi, her saat darbesinde yürütülen komut sayısıdır (IPC).
  • "Önbellek yazılımsal olarak artırılabilir." Önbellek kapasitesi donanım seviyesinde sabittir. Programlar yalnızca verilere erişimi optimize ederek önbelleğe isabet oranını artırabilir (veri yerelliği).

SSS

İşlemci neden ısınır? Transistörlerin anahtarlanması sırasında (saniyede milyarlarca kez) ısı açığa çıkar. Yük ve voltaj ne kadar yüksekse, ısınma o kadar güçlü olur. Fazla ısı soğutucu tarafından uzaklaştırılır.

Saat frekansı basitçe nedir? Bu, işlemcinin çalışma ritmidir. 1 GHz = saniyede 1 milyar saat darbesi. Bir saat darbesinde bir işlemin bir kısmı veya bütün basit bir talimat yürütülebilir.

32-bit ve 64-bit işlemciler arasındaki fark nedir? Ana fark, veriler için "koridorun" boyutudur. 64-bit işlemci çok daha büyük bir ana bellek alanına (4 GB üzeri) erişebilir ve her saat darbesinde daha büyük sayıları işleyebilir.