CPU (Central Processing Unit, yani merkezi işlem birimi), bir bilgisayarın ya da sunucunun beynidir. Yazılımdan gelen komutları alır, bunları temel matematiksel ve mantıksal işlemlere çevirir ve sonucu üretir. Bir web sayfasını derleyen, veritabanı sorgusunu çalıştıran, PHP kodunu yorumlayan hep bu birimdir. Bu yazıda işlemcinin gerçekte ne yaptığını, iç yapısını ve sunucu tarafında neden önemli olduğunu adım adım anlatıyoruz.

CPU Nedir?

İşlemci, milyarlarca minik anahtardan (transistör) oluşan, tırnak büyüklüğünde bir yonga (chip) üzerine yerleştirilmiş bir mantık devresidir. Görevi tek cümleyle özetlenebilir: komutları getir, çöz ve çalıştır. Bir program çalıştığında, aslında işlemciye sırayla verilen çok sayıda basit talimat çalışır. Bu talimatların her biri sayıları toplamak, iki değeri karşılaştırmak ya da bellekten veri okumak kadar sade işlerdir; karmaşık davranış bu sade adımların saniyede milyarlarca kez tekrarlanmasından doğar.

Modern bir bilgisayarda CPU tek başına çalışmaz. Belleği (bkz. RAM ve DDR nedir), depolama birimini (bkz. disk türleri) ve ağ donanımını bir orkestra şefi gibi yönetir. Genel bir bakış için sunucu donanımı rehberimize göz atabilirsiniz.

İşlemcinin Temel Görevi: Komut Döngüsü

İşlemcinin yaptığı her şeyin temelinde komut döngüsü (instruction cycle) yatar. Bu döngü üç ana aşamadan oluşur ve saniyede milyarlarca kez tekrarlanır:

  • Getir (Fetch): Sıradaki komut, program sayacının (program counter) gösterdiği bellek adresinden okunur.
  • Çöz (Decode): Kontrol birimi, komutun ne anlama geldiğini ve hangi kaynakların gerektiğini belirler.
  • Çalıştır (Execute): Aritmetik-mantık birimi işlemi yapar; sonuç bir register'a veya belleğe yazılır.

Bu döngüye çoğu zaman "geri yaz" (write-back) ve "bellek erişimi" gibi ek adımlar da eklenir. Modern işlemciler bu adımları bir montaj hattı gibi üst üste bindirir; buna pipeline (boru hattı) denir. Böylece bir komut çalışırken, bir sonraki komut aynı anda çözülebilir.

CPU'nun İç Yapısı

Bir işlemcinin içinde birbiriyle konuşan birkaç temel blok bulunur. Bu blokların isimleri üreticiye göre değişse de mantık aynıdır:

BileşenGörevi
ALU (Aritmetik-Mantık Birimi)Toplama, çıkarma, karşılaştırma gibi hesaplamaları yapar
Kontrol Birimi (CU)Komutları çözer ve diğer birimleri yönetir
Register'larİşlemcinin içindeki en hızlı, en küçük geçici hafıza hücreleri
Önbellek (Cache)Sık kullanılan veriyi işlemciye yakın tutan hızlı bellek
Saat (Clock)Tüm birimleri senkron tutan ritmi üreten sinyal kaynağı

Register'lar ile ana bellek (RAM) arasındaki hız farkı çok büyüktür. İşte bu yüzden araya önbellek katmanları konur; amaç işlemciyi mümkün olduğunca boş beklemekten kurtarmaktır.

Çekirdek (Core) ve İş Parçacığı (Thread) Nedir?

Eski işlemciler tek çekirdekliydi; yani aynı anda tek bir komut akışını yürütebiliyorlardı. Bugün ise çok çekirdekli (multi-core) işlemciler standarttır. Her çekirdek, kendi ALU ve register setine sahip, bağımsız çalışabilen küçük bir işlemci gibidir. Dört çekirdekli bir işlemci, kabaca dört işi gerçekten aynı anda yürütebilir.

İş parçacığı (thread) ise bir çekirdeğin üzerinde çalışan bağımsız komut akışıdır. Bazı işlemciler, eşzamanlı çoklu iş parçacığı (SMT; Intel bunu Hyper-Threading olarak adlandırır) sayesinde tek bir fiziksel çekirdeği işletim sistemine iki mantıksal çekirdek gibi gösterir. Bu, çekirdeğin bir iş parçacığı beklerken diğerini çalıştırarak boşta kalan kaynakları değerlendirmesini sağlar; ancak fiziksel çekirdek sayısını gerçekten ikiye katlamaz.

Saat Hızı (Clock Speed) ve IPC

Saat hızı, işlemcinin saniyede kaç döngü çalıştırdığını gösterir ve GHz (gigahertz) ile ölçülür. 1 GHz, saniyede bir milyar döngü demektir. Uzun süre "yüksek GHz = hızlı işlemci" varsayıldı, ama bu tablonun yalnızca bir parçası.

Diğer belirleyici faktör IPC'dir (Instructions Per Cycle; döngü başına komut sayısı). İki işlemci aynı GHz'de çalışsa bile, döngü başına daha fazla komut tamamlayan işlemci daha hızlıdır. Gerçek performans kabaca şu ilişkiyle özetlenir:

text
Performans  ~  Saat Hızi (GHz)  x  IPC  x  Cekirdek Sayisi

# Bu yuzden yalnizca GHz'e bakmak yanils yonlendirir:
# dusuk GHz + yuksek IPC, yuksek GHz + dusuk IPC'yi gecebilir.

Önbellek (Cache) Katmanları: L1, L2, L3

İşlemci, RAM'den veri çekmek için beklediğinde zaman kaybeder. Bu gecikmeyi azaltmak için çekirdeğin hemen yanına küçük ama çok hızlı bellek katmanları yerleştirilir. Bunlara önbellek denir ve genellikle üç seviyeye ayrılır:

SeviyeKonumGenel Özellik
L1Her çekirdeğe özelEn küçük ve en hızlı; komut ve veri için ayrı bölümleri olabilir
L2Genellikle çekirdeğe özelL1'den büyük, biraz daha yavaş
L3Çekirdekler arasında paylaşımlıEn büyük ve en yavaş önbellek; yine de RAM'den çok daha hızlı

İşlemci aradığı veriyi önbellekte bulursa buna "cache hit", bulamayıp RAM'e gitmek zorunda kalırsa "cache miss" denir. İyi yazılmış yazılım, veriye öngörülebilir bir düzende erişerek cache hit oranını artırır ve dolayısıyla hızlanır.

CPU Mimarileri: x86 ve ARM

İşlemcilerin komut setleri (ISA; instruction set architecture) farklı ailelere ayrılır. Bugün en yaygın iki aile x86 ve ARM'dır:

Özellikx86 / x86-64ARM
YaklaşımGeleneksel olarak CISC (karmaşık komut seti)RISC (indirgenmiş komut seti)
Yaygın kullanımMasaüstü, dizüstü, çoğu sunucuMobil cihazlar, gömülü sistemler, artan oranda sunucu
LisanslamaÇoğunlukla belirli üreticiler tarafından üretilirTasarım lisanslanır, birçok firma kendi yongasını üretir
Öne çıkan yönYüksek tekil çekirdek performansı ve geniş yazılım uyumuGüç verimliliği ve iş başına düşük enerji

Son yıllarda ARM tabanlı işlemciler veri merkezlerinde de yaygınlaşmaya başladı; özellikle enerji verimliliği ölçekli ortamlarda önemli bir maliyet kalemi olduğu için. Yine de yazılım uyumluluğu, mimari seçiminde hâlâ belirleyici bir kriterdir.

32-bit ve 64-bit Ne Anlama Gelir?

Bir işlemcinin "bit" değeri, tek seferde işleyebildiği veri genişliğini ve adresleyebildiği bellek miktarını etkiler. 32-bit bir işlemci teorik olarak yaklaşık 4 GB'a kadar (2^32 bayt) bellek adresleyebilir. 64-bit işlemciler ise pratikte bu sınırı ortadan kaldırır; teorik adresleme uzayı astronomik ölçüde büyüktür.

Bugün masaüstü ve sunucu dünyasında 64-bit standarttır. Çok fazla RAM kullanan veritabanları, sanallaştırma ve modern uygulamalar için 64-bit zorunludur; bu yüzden 4 GB'ın üzerinde belleğe sahip her sunucu 64-bit çalışır.

CPU ile GPU Arasındaki Fark

İşlemci (CPU) az sayıda ama güçlü çekirdeğe sahiptir ve sıralı, karar ağırlıklı işlerde (dallanma, mantık, genel amaçlı hesaplama) üstündür. Ekran kartı işlemcisi (GPU) ise binlerce basit çekirdekten oluşur ve aynı işlemi büyük veri kümelerine paralel uygulamakta çok iyidir.

  • CPU: Genel amaçlı, düşük gecikme, karmaşık ve sıralı iş akışları için ideal.
  • GPU: Yüksek paralellik, grafik işleme, bilimsel hesaplama ve yapay zekâ eğitiminde güçlü.
  • Bir web sunucusunun günlük işlerinin büyük kısmı CPU üzerinde döner; GPU ancak özel iş yükleri için gerekir.

Sunucularda ve Web Hosting'de CPU

Bir web sitesi ziyaret edildiğinde, sunucudaki işlemci PHP/Node/Python kodunu çalıştırır, veritabanı sorgularını işler, TLS şifrelemesini hesaplar ve yanıtı hazırlar. Trafik arttıkça bu işlem yükü artar; yeterli çekirdek yoksa istekler kuyruğa girer ve sayfa açılış süreleri uzar.

Sanal sunucularda genellikle vCPU (sanal çekirdek) kavramıyla karşılaşırsınız. Bir vCPU, çoğunlukla fiziksel bir çekirdeğin ya da onun bir iş parçacığının size ayrılmış payıdır. Sunucu tiplerinin (paylaşımlı, VPS, dedicated, cloud) kaynak paylaşımı açısından farkları için VDS, VPS, fiziksel ve cloud sunucu farkları yazımıza bakabilirsiniz.

Linux tabanlı bir sunucuda işlemci bilgisini incelemek için şu komutlar kullanılır:

bash
# Islemci ozeti: model, cekirdek, thread, cache
lscpu

# Ham cekirdek/model bilgisi
cat /proc/cpuinfo | grep -E 'model name|processor' | head

# Anlik cekirdek bazli kullanim (q ile cikilir)
top

# Yuk ortalamasi (1, 5, 15 dakikalik)
uptime

CPU Performansını Etkileyen Faktörler

Bir işlemcinin gerçek dünyadaki hızını yalnızca tek bir sayı belirlemez. Başlıca etkenler şunlardır:

FaktörEtkisi
Çekirdek ve iş parçacığı sayısıAynı anda kaç işin paralel yürüyebileceğini belirler
Saat hızı (GHz)Tek bir çekirdeğin ne kadar hızlı komut işlediğini gösterir
IPC / mimari nesliDöngü başına verimliliği; yeni nesiller genelde daha yüksektir
Önbellek boyutuRAM'e gitme ihtiyacını azaltarak gecikmeyi düşürür
Isı ve güç limitiAşırı ısınınca işlemci hız düşürür (thermal throttling)
Bellek ve disk hızıİşlemciyi besleyen veri akışı yavaşsa çekirdekler boş bekler

Görüldüğü gibi işlemci, sistemin geri kalanından bağımsız düşünülemez. Hızlı bir çekirdek, yavaş disk veya yetersiz bellek yüzünden boşta bekliyorsa potansiyelini kullanamaz. Depolama tarafının etkisi için disk türleri yazımız iyi bir tamamlayıcıdır.

Sık Sorulan Sorular

Daha fazla çekirdek her zaman daha iyi midir?

Hayır. Yazılım paralel çalışacak şekilde tasarlanmadıysa fazladan çekirdek boş kalır. Tek bir işin hızının önemli olduğu senaryolarda yüksek tek çekirdek performansı, çok sayıda çekirdekten daha değerli olabilir. Web sunucuları gibi çok istekli ortamlar ise çekirdek sayısından belirgin fayda görür.

GHz değeri yüksek olan işlemci mutlaka daha hızlı mıdır?

Şart değil. Farklı mimari ve nesillerde döngü başına iş (IPC) değişir; bu yüzden daha düşük GHz'li yeni bir işlemci, daha yüksek GHz'li eski bir işlemciyi geçebilir. Sağlıklı karşılaştırma için güncel benchmark verilerine bakın.

vCPU ile fiziksel çekirdek aynı şey mi?

Tam olarak değil. vCPU, sanallaştırma katmanının size tahsis ettiği paydır ve genellikle bir fiziksel çekirdeğe ya da iş parçacığına karşılık gelir. Paylaşımlı ortamlarda gerçek performans, komşu iş yüklerinden de etkilenebilir.