İşlemci önbellek önemli mi?

CPU önbelleği hakkında her zaman çok konuşulur, ancak herkes bunun gerçekte ne olduğunu ve sistemin sorunsuz çalışması veya oyun gereksinimlerini karşılaması vb. için minimum kapasiteye sahip olmanın gerekli olup olmadığını bilmiyor. Dolayısıyla bu makalede, bu gizemli bellek türü hakkında daha fazla şey öğreneceğiz ve performans söz konusu olduğunda neden bu kadar önemli olduğunu öğreneceğiz.

Önbellek kelimesi neyi ifade eder?

Önbellek veya bazı durumlarda arabellek, genellikle iki birim arasında yer alan ve bilgiye erişimi hızlandırmak için kullanılan bir ara bellekten başka bir şey değildir. Bu bellekler, yüksek fiyatları göz önüne alındığında düşük kapasiteye sahip olmalarına rağmen yüksek hızlıdır.

CPU önbelleği söz konusu olduğunda, verileri ve talimatları tutmak için işlemci çekirdeklerinin yakınına yerleştirilen geçici bellektir, böylece CPU’nun daha fazla kullanılabilir olması sağlanır ve erişim için saat döngülerindeki RAM veya ana bellekteki bilgileri için kaybı düşürür.

Bu bellek genellikle SRAM türündedir ve birkaç nanosaniyede erişerek RAM bellekten bile daha hızlıdır. Bu nedenle, performansı önemli ölçüde artırmaya izin verir, çünkü eğer mevcut değilse, CPU’nun RAM bellekte yürütülecek işlemlerin veri bilgilerine ve talimatlarına erişmesi gerekir, bu da daha fazla saat döngüsü beklemek (daha fazla gecikme) anlamına gelir.

Önbellek ve RAM farkı

Bildiğiniz gibi, bir program veya yazılım, bir dizi veri ve talimattan başka bir şey değildir. Talimatlar, verilere uygulanan işlemlerdir. Örneğin, CPU’nun 2 + 3 işlemini gerçekleştirmesi gerekiyorsa, ALU bu durumda 2 ve 3 olacak işlenenleri veya verileri alır ve kontrol birimi ALU’nun ekleme moduna geçmesi için sinyaller gönderir. bu durumda ADD deyimini aldığında.

Peki o zaman CPU’nun bu bilgilere ulaşabilmesi için CPU önbelleğinin varlığından önce bunun RAM bellekte yapılması gerekiyordu ve bu bellek CPU’dan daha yavaş olduğu için darboğazlar oluşuyordu. Bu nedenle önbellek, gecikme çok daha düşük olduğu için daha az saat döngüsü cezasıyla erişimleri hızlandırmak için bir arabellek görevi görecek şekilde oluşturulmuştur.

Aslında, önbellek genellikle standart RAM’den 100 kata kadar daha hızlıdır. Bu kadar hızlıysa, neden kapasitesini artırıp RAM olmadan yapmıyorsunuz diye düşünebilirsiniz, bunun nedeni basit. Bu belleğin üretimi çok pahalıdır, bu nedenle yüksek kapasiteli yongalar elde etmek çoğu kullanıcı için çok pahalı olacaktır.

Önbellek performansı nasıl etkiler?

Önbelleğin işlemeyi nasıl daha hızlı hale getirdiğini merak ediyorsanız, şimdiye kadar gayet iyi bildiğiniz gibi, bu belleğin gecikme süresi çok düşüktür, bu nedenle ona erişmek çok az saat döngüsü gerektirir. Diğer daha yavaş belleklere erişmek yerine bu şekilde performans kazanırsınız ve sonuçta performansı etkileyecek değerli saat döngülerini boşa harcarsınız.

CPU bir parça veriye veya onu yürütmek için bir talimata ihtiyaç duyduğunda, önce önbelleğe bakar. Oradaysa, vurur, böylece ona çok hızlı bir şekilde erişebilirsiniz. Öte yandan, veriler önbellekte bulunmadığında, CPU’yu daha uzun bir rotada, yani daha fazla gecikmeyle aramaya zorlayan bir hata veya kayıp meydana gelir. Ve bu, daha yüksek seviyelere, RAM belleğe ve hatta en kötü durumda sabit diske erişim anlamına gelir.

Önbellek seviyeleri

Bir işlemci satın alırken teknik özelliklerini incelediğimizde ne anlama geldiklerini anlamak açısından da önemli olduğundan, olabilecek CPU veya GPU önbellek düzeylerinden bahsetmeden bu makaleyi bitirmek istemiyorum:

L1 veya Düzey 1 önbellek

Bu L1 önbelleği, hepsinin en hızlısıdır. Kontrol ve yürütme birimlerine çok yakın olan küçük bir bellektir ve buna erişmenin saat döngülerindeki cezası minimumdur. Ek olarak, birçok mevcut mimaride, veriler için ayrı bir L1 ve talimatlar için başka bir L1 vardır.

L2 veya Düzey 2 önbellek

Bu seviye 2 önbelleğin kapasitesi L1’den daha yüksektir, ancak genellikle ona erişim için saat döngüleri açısından daha fazla ceza verir. Ancak yine de L1 kadar hızlı olmasa da çok hızlı. Bu nedenle CPU ilk önce L1’de arama yapacak ve bir isabet olursa aradığını hızlı bir şekilde elde edecek ve bir kayıp olursa bu seviyede arama yapmak zorunda kalacaktır. Bu hafızanın genellikle birleşik olduğu söylenmelidir, bu nedenle hem verileri hem de talimatları saklayabilir.

L3 veya Düzey 3 önbellek

L2’de de bir eksiklik olması durumunda, CPU bir sonraki seviye olan L3’ü arayacaktır. Bu bellek aynı zamanda veriler ve talimatlarla birleştirilmiştir ve L2’den daha büyük kapasiteye sahiptir. Ancak, tahmin edebileceğiniz gibi, erişim L2’den biraz daha yavaştır.

Yani erişim hızı L1 > L2 > L3 olacaktır… Dolayısıyla CPU L1’de aramaya başlayacak ve ancak bir kayıp olursa L2’ye gidecek ve yine bir kayıp olursa L3’ü aramaya gidecektir ve eğer bir eksiklik olursa, RAM belleğe gitmesi gerekirdi, vb. RAM’den sonraki şey, orada da yoksa, sanal bellek, yani sabit sürücünün RAM’in bir uzantısı olarak da kullanılan kısmına erişim olacaktır.

Ayrıca L3’ün genellikle son seviye (LLC veya Son Seviye Önbellek) olduğunu belirtmek isterim, ancak L4’e veya L0 gibi L1’den daha düşük seviyelere bile sahip olabilen sistemler vardır. Ancak, bu daha nadir…

Öte yandan, bu önbelleklerdeki veri ve talimatların saklanması veya imha edilmesi, algoritmalar aracılığıyla, her zaman gelecekte erişilmesi en muhtemel bilgilere veya işlemlerden en yüksek olanlara öncelik verecek şekilde yapılır.