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.
Ş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
Yorum Gönder