Cache (Önbellek) Nedir? Nasıl Çalışır? Cache Bellek Kullanımının Amacı Nedir?

Cache (Önbellek) Nedir?

Bilgisayar sisteminde işlemci yani CPU hafızadan sürekli veri okuma işlemi yapar. Bu işlem oldukça hızlıdır ve verilerin hafızadan CPU’ya aktarılma hızı daha yavaş gerçekleştiğinden CPU bu işlemleri beklemek zorunda kalmaktadır. Bu da performansı düşürmektedir. Bunu engellemek için de cache yani önbellek kullanılmaktadır.

Önbellek, yürütülmekte olan programa ait bilgileri ve komutları geçici olarak tutan bir bellek türüdür. Bir program yürütülürken sık kullanılan bilgileri ve komutları tekrar tekrar ana bellekten çağırmak zaman ve performans kaybına yol açmaktadır. Bu yüzden bu sık kullanılan bilgiler ilk seferde hafızadan alınır ve CPU’ya yakın olan önbelleğe kopyalanır. Böylece bu bilgiler gerektiğinde tekrar hafızaya gidilmez ve önbellekten çekilir. Bu sayede hem zamandan hem işten tasarruf edilir ve performans arttırılır.
cache ve cpu ilişkisi
Şekil 1. Bellekler ve CPU arasındaki ilişki

Cache (Önbellek) Kullanımının Amacı

Önbellek kullanımının amacı, sık erişilmesi gereken bilgileri işlemciye uzak olan ana bellekten kopyalayarak işlemciye yakın olan geçici hafızada tutmak ve bu sayede erişimi kolaylaştırıp hızı arttırmaktır. Ana bellek erişim süresi 60 nanosaniye olan DRAM kullanırken önbellek erişim süresi 10 nanosaniye olan SRAM kullanmaktadır. Bu da hızın oldukça artmasına sebep olmaktadır. Önbellek, ana belleğe göre oldukça küçük bir boyuttadır. Önbelleğin boyutunu büyütmek maliyeti oldukça arttırmaktadır. Bu yüzden ana bellek, önbellek mantığıyla yapılamamaktadır.

Cache (Önbellek) Nasıl Çalışır?

Önbelleğin CPU’ya yakınlık derecesine göre farklı seviyeleri vardır. Bunlar L1, L2 ve L3’tür. Bazen L4 de vardır. Ana bellekten alınan veri sırasıyla L3, L2 ve L1’e aktarılmaktadır.
  • L1 Seviyesi: CPU’nun en çok gerek duyduğu önemli veriler ve kodlar bu belleğe aktarılır. 2 KB ve 256 KB arasında değişen hafızası ile en küçük ve en hızlı önbellek seviyesidir.
  • L2 Seviyesi: Önceleri ana kart üzerinde yer alırken zamanla işlemci çekirdeğine entegre edilmiştir. 256 KB ve 2 MB arasındaki hafızasıyla L1 seviyesinden daha fazla veri tutmaktadır.
  • L3 Seviyesi: Hafızası 2MB ve 256 MB arasındadır ve çok çekirdekli işlemcilerde tüm çekirdeklere tek yerden hizmet vermek için kullanılmaktadır.

Yorumlar

Bu blogdaki popüler yayınlar

Interrupt (Kesme) Nedir? Interrupt Çeşitleri Nelerdir?

Shell Nedir? C99 ve R57 Nedir?