Port ve Donanım

İşlemci Cache Belleği Ne İşe Yarar?

İki işlemci arasında karar verirken teknik listelerde tuhaf bir satır göze çarpar: "12 MB L3 cache" ya da "L2: 8x1.25 MB". Çekirdek sayısı ve frekans tanıdıktır ama cache satırı çoğu zaman atlanır. Oysa iki işlemcinin çekirdek sayısı ve saat hızı aynıysa, aradaki farkı büyük ölçüde bu satır belirler.

Cache tam olarak nedir, RAM'den farkı ne?

İşlemci, işleyeceği veriyi bir yerden almak zorunda. Bu veri diskte (SSD ya da HDD), oradan RAM'e, RAM'den de işlemciye taşınıyor. Sorun şu: işlemci saniyede milyarlarca işlem yaparken RAM'den veri gelmesini beklemek onun için sonsuzluk gibi. Cache, işlemcinin içine gömülü, çok küçük ama çok hızlı bir bekleme odası. Sık kullanılan veriyi burada tutar ve RAM'e gitmek zorunda kalmaz.

Fark ölçek farkı: RAM'e erişim işlemci için onlarca nanosaniye sürerken, L1 cache'e erişim bir nanosaniyenin altındadır. Depolamada SSD ve HDD arasındaki uçurumun, bir kat daha küçük ölçekte yaşanan hali diyebilirsiniz.

L1, L2 ve L3 neden ayrı ayrı var?

Çünkü hız ile kapasite ters çalışır. Bir belleği hızlandırmak istiyorsanız küçük ve çekirdeğe yakın tutmanız gerekir; büyütürseniz yavaşlar ve pahalılaşır. Bu yüzden üretici tek bir bellek yerine kademeli bir yapı kurar.

Seviye Tipik boyut Kim kullanır Rolü
L1 Çekirdek başına 32–128 KB Tek çekirdek, özel En sıcak veri ve komutlar; en hızlı katman
L2 Çekirdek başına 512 KB – 4 MB Genelde tek çekirdek L1'de bulunamayanı yakalar, orta tampon
L3 4 – 128 MB (toplam) Tüm çekirdekler paylaşır Son durak; RAM'e gitmeyi engeller, çekirdekler arası veri paylaşımı

İşleyiş basit: işlemci veriyi önce L1'de arar, yoksa L2'ye, sonra L3'e, en son RAM'e bakar. Her başarısız arama gecikme ekler. "Cache hit oranı" dediğimiz şey, verinin kaçta kaç oranda RAM'e gitmeden bulunduğudur ve bu oran birkaç puan artsa bile hissedilir performans getirir.

Büyük L3 her zaman iyi mi?

Hayır, iş yüküne bağlı. Cache'in işine yaraması için programın aynı veriyi tekrar tekrar kullanması ya da verinin küçük bir alanda yoğunlaşması gerekir.

İki işlemci arasında karar verirken neye bakmalıyım?

Karşılaştırmayı şöyle kurgulayın:

Durum Öncelik
Çekirdek ve frekans benzer, L3 farkı büyük Oyun ağırlıklıysa büyük L3'lü olan
L3 benzer, çekirdek sayısı farklı Render/derleme ağırlıklıysa çok çekirdekli olan
Çekirdek başına L2 farkı var Genelde yeni mimari işareti; yeni nesli seç
Toplam cache aynı ama biri "birleşik" değil Parçalı L3'te çekirdekler arası gecikme artabilir

Bir tuzağa dikkat: farklı nesillerin ya da farklı üreticilerin cache sayılarını doğrudan kıyaslamak yanıltıcı. Cache'in gecikmesi, ilişkilendirme yapısı ve ön getirme (prefetch) algoritması da en az boyutu kadar etkili. 32 MB L3'ü olan eski bir işlemci, 16 MB'lı yeni bir mimariyi geçemeyebilir. Bu yüzden sayıya değil, ilgilendiğiniz iş yükünde ölçülmüş gerçek test sonuçlarına bakın.

Cache'i sonradan artırabilir miyim?

Hayır. Cache işlemci kalıbının içindedir; RAM gibi takıp çıkarma ya da SSD gibi büyütme imkânı yok. Aldığınız işlemcinin cache'i, o işlemciyi kullandığınız sürece sabittir. Bu da cache'i satın alma anında düşünülmesi gereken bir kalem yapıyor — RAM miktarını sonradan çözebilirsiniz, cache'i çözemezsiniz.

Cache azsa RAM'i artırmak işe yarar mı?

Farklı problemleri çözerler. RAM yetersizse sistem diske taşar ve her şey tıkanır; bu yüzden önce yeterli RAM şart. RAM yeterliyse asıl darboğaz, RAM ile işlemci arasındaki mesafedir ve orayı ancak cache ile hızlı bellek kapatır. Bellek hızını (örneğin daha yüksek frekanslı bir kit) artırmak, cache'in kaçırdığı erişimlerin maliyetini düşürerek dolaylı yardım eder.

Pratik öneri

  1. Oyuncuysanız: Aynı fiyat bandında büyük L3'lü işlemciyi seçin. Ancak ekran kartı bütçesini kesmeyin; çoğu çözünürlükte kare hızını belirleyen hâlâ GPU'dur.