Önbellek
Bellek, bilgisayarın programları ve verileri geçici veya kalıcı olarak depoladığı bir donanım bileşenidir. Bilgisayar belleği, işlemci tarafından işlenen talimatları ve verileri tutar. İşlemci, bellekteki verileri okur veya yazarak, programları yürütür ve verileri işler.
Bellek genellikle elektronik devreler ve çipler kullanılarak inşa edilir. Bilgisayar bellekleri, okuma/yazma hızlarına, kapasitelere ve maliyetlere göre farklı türlerde olabilir. Bilgisayar belleği, çoğunlukla RAM (rastgele erişimli bellek) olarak adlandırılır ve işlemci tarafından hızlıca okunabilir ve yazılabilir. Ayrıca bilgisayarlarda daha yavaş ancak kalıcı bir bellek türü olan ROM (salt okunur bellek) de bulunur.
Bellek Özellikleri
Bellekler, birden fazla özelliklerine göre sınıflandırılabilir. İşlevlerine göre, bellekler genel olarak ikiye ayrılır:
- Ana bellek (RAM): CPU tarafından erişilebilen bellek türüdür ve geçici depolama alanı sağlar. CPU, ana bellekten verileri hızlı bir şekilde okuyabilir ve yazabilir.
- İkincil bellek: Örneğin, sabit diskler, SSD'ler, flaş sürücüler, CD/DVD'ler, vb. gibi harici depolama birimleridir.
Diğer sınıflandırma özellikleri şunlardır:
- Erişim hızına göre: Bellekler, erişim hızına göre sınıflandırılabilir. Bu kapsamda, ana bellek daha hızlıdır ve işlemciyle doğrudan iletişim kurarken, ikincil bellek daha yavaştır ve erişim için disk kontrolcüsüne ihtiyaç duyar.
- Kapasiteye göre: Bellekler kapasitelerine göre sınıflandırılabilir. Kapasite, belleklerin tutabileceği veri miktarını ifade eder. Ana bellekler, genellikle birkaç gigabayta kadar kapasiteye sahiptir, ancak ikincil bellekler terabaytlarca kapasiteye sahip olabilir.
- Fiziksel yapıya göre: Bellekler, fiziksel yapılarına göre sınıflandırılabilir. RAM, DRAM, SRAM, ROM, Flash bellek gibi farklı fiziksel yapıya sahip bellekler bulunmaktadır.
- Okuma/yazma özelliklerine göre: Bellekler, okuma/yazma özelliklerine göre sınıflandırılabilir. ROM (Salt Okunur Bellek), yalnızca okunabilen bir bellek türüdür ve belleğe yazılamaz. RAM (Rastgele Erişim Belleği) ise hem okunabilir hem de yazılabilir.
Bellek Hiyerarşisi
Bellek hiyerarşisi, bilgisayarlarda verilerin geçici olarak saklandığı, farklı boyutlarda ve farklı hızlarda olan belleklerin bir hiyerarşisi olarak tanımlanabilir. Bellekler, bellek hiyerarşisinde alt seviyeden üst seviyeye doğru artan bir hız ve kapasite değişimi gösterirler. Aşağıda bellek hiyerarşisi seviyeleri ve özellikleri açıklanmaktadır:
- Kayıtlar (Registers): Bellek hiyerarşisinin en hızlı ve en küçük kapasiteli bölümüdür. CPU içinde bulunur ve işlemci komutları için geçici depolama alanı olarak kullanılır. Kayıtların boyutu, işlemcinin mimarisine göre değişebilir.
- Önbellek Belleği (Cache Memory): CPU ile ana bellek arasında yer alan hızlı bir bellek bölümüdür. İşlemci, veriye erişmeden önce önbelleği kontrol eder. Eğer veri önbellekte bulunuyorsa, ana belleğe erişmek yerine hemen önbellekten veri alınır. Bu, ana bellek erişimlerindeki gecikmeleri azaltır. Önbellek bellekleri, işlemcinin hızına göre değişik boyutlarda olabilir.
- Ana Bellek (Main Memory): Ana bellek, işletim sistemi ve diğer programlar tarafından kullanılan, verilerin geçici olarak depolandığı bir bellek türüdür. Genellikle RAM (Rastgele Erişimli Bellek) olarak adlandırılır ve bilgisayarın en büyük hafıza kapasitesine sahip olan bellek türüdür. RAM, verileri elektronik olarak depolar ve elektrik kesildiğinde bellek içeriği silinir.
- Sanal Bellek (Virtual Memory): Sanal bellek, ana bellek kapasitesinin artırılması için kullanılan bir bellek yönetimi tekniğidir. Bilgisayarın sabit disk bölümünden bir bölüm, geçici bir bellek olarak kullanılır. Programlar, gerektiğinde bu geçici belleği kullanır. İşlemcinin erişim hızı, ana belleğe kıyasla çok daha düşüktür.
- Sabit Diskler: Sabit diskler, genellikle bilgisayarın depolama kapasitesinin büyük bir bölümünü oluşturur. Verilerin uzun süreli saklanması için kullanılır. Sabit diskler, manyetik bir plaka üzerinde verileri depolayan ve bir okuma/yazma kafası ile bu verilere erişim sağlayan bir cihazdır.
Bu bellek hiyerarşisi, hızlı ve küçük kapasiteli kayıtlardan yavaş ve büyük kapasiteli sabit disklerine doğru bir artış gösterir.
Bellek Parameteleri
Tipik bellek parametreleri şunlardır:
- Kapasite: Belleğin ne kadar veri depolayabileceğini gösterir ve genellikle byte veya bit cinsinden ölçülür.
- Erişim Süresi: Bellekteki verilere erişmenin ne kadar hızlı olduğunu gösterir ve genellikle nanosaniye veya mikrosaniye cinsinden ölçülür.
- Aktarım Hızı: Belleğin verileri okuyup yazma hızını gösterir ve genellikle megabayt veya gigabayt cinsinden ölçülür.
- Güç Tüketimi: Belleğin çalışması sırasında ne kadar enerji tükettiğini gösterir ve genellikle watt cinsinden ölçülür.
- Fiziksel Boyut: Belleğin fiziksel boyutu, bellek modülünün boyutlarına bağlıdır ve genellikle inç veya milimetre cinsinden ölçülür.
- Bağlantı Arayüzü: Bellek modüllerinin anakartlara veya diğer bileşenlere nasıl bağlandığını belirleyen standart bir arayüzdür. Örnek olarak DDR3 veya DDR4 belleklerinin anakarta sokulduğu DIMM yuvaları verilebilir.
Bu parametreler, belleklerin özelliklerini belirlemek ve farklı bellek türleri arasındaki farkları anlamak için kullanılabilir.
Önbellek
Önbellek, bir sisteme veya cihaza erişim sırasında gereksinim duyulan verileri ön bellek hafızasında depolayan, bu sayede verilere daha hızlı erişim sağlayan bir ara bellek türüdür.
Önbellek, verilerin hızlı bir şekilde işlenmesini sağlamak için kullanılan bir bellek türüdür. İşlemci, işlem yapmak için ihtiyaç duyduğu verileri sistem belleğinden önbelleğe kopyalar. Bu sayede, işlemcinin verilere erişimi daha hızlı olur çünkü önbellek, sistem belleğine göre daha hızlıdır.
Önbellek, bellek hiyerarşisinin daha üst kısmında yer alır ve bu nedenle daha küçük bir kapasiteye sahiptir. Önbellek, birincil bellek ve ana bellek ile iş birliği yapar ve bu sayede sistem performansı artar.
Önbellek, çeşitli türleri vardır, ancak en yaygın olanları seviye 1 (L1) önbellek, seviye 2 (L2) önbellek ve seviye 3 (L3) önbellektir. L1 önbellek, en hızlı önbellek türüdür ve işlemciye en yakın olanıdır. L2 önbellek, L1 önbellekten daha yavaştır ve daha büyük bir kapasiteye sahiptir. L3 önbellek, en büyük önbellek türüdür, ancak en yavaş olanıdır.
Önbellek Tasarım Esasları
Önbellek tasarımı yapılırken aşağıdaki faktörlere dikkat edilir:
- Boyut: Önbelleğin boyutu, bellek hiyerarşisinin diğer bileşenleri ile uyumlu olmalıdır. Ayrıca, önbellek boyutu arttıkça maliyet de artar.
- İşlemci ve Bellek Arasındaki Uzaklık: Önbellek ile işlemci arasındaki uzaklık azaldıkça, önbellek erişim hızı artar. Önbellek, mümkün olduğunca işlemciye yakın olmalıdır.
- Erişim Zamanı: Önbellek, mümkün olduğunca hızlı bir erişim süresine sahip olmalıdır. Bu, önbellekten veri okuma süresini azaltacaktır.
- Veri Yapısı: Önbellek, bellek bloklarının sık kullanılan veri yapısı ve bellek bloklarının çevresindeki verilerin erişim örüntülerini öğrenerek en iyi şekilde kullanılmalıdır.
- Çalışma Frekansı: Önbellek, işlemcinin çalışma frekansına uygun olarak tasarlanmalıdır. Daha yüksek bir frekansa sahip işlemciler daha hızlı önbellek erişimine ihtiyaç duyar.
- Güncelleme Stratejisi: Önbellek, bellek bloklarının işlemcide değiştirilip değiştirilemeyeceğini belirleyen bir güncelleme stratejisine sahip olmalıdır. Bu stratejiler genellikle yazma geri çekme, yazma durdurma ve yazma işlemi tamamlandıktan sonra güncelleme gibi yöntemleri içerir.
- Veri Yönetimi: Önbellek, bellek bloklarının nasıl yönetileceğini belirleyen bir veri yönetimi stratejisine sahip olmalıdır. Bu stratejiler genellikle en az kullanılan blokların silinmesi, en sık kullanılan blokların korunması ve sık kullanılan blokların önbellekte tutulması gibi yöntemleri içerir.