Sobes.tech
Middle

Önbelleğin çalışma kuralları hakkında bana anlat.

sobes.tech yapay zeka

AI'dan gelen yanıt

Önbellek, verilere erişimi hızlandırmak için kopyalarını tutar. Temel kurallar:

  1. Referansın Yerelliği (Locality of Reference):

    • Zamansal Yerellik: Bir veri öğesi yakın zamanda kullanıldıysa, muhtemelen yakında tekrar kullanılacaktır.
    • Mekansal Yerellik: Bir veri öğesi kullanıldıysa, muhtemelen komşu öğeleri de yakında kullanılacaktır.
  2. Önbellek Değiştirme Politikaları (Cache Replacement Policies): Önbellek dolduğunda ve yeni veriler için yer gerektiğinde hangi bloğun silineceğini belirler. Yaygın politikalar:

    • FIFO (İlk Giren, İlk Çıkar): En "eski" blok silinir.
    • LRU (En Az Son Kullanılan): En az yakın zamanda kullanılan blok silinir.
    • LFU (En Az Sık Kullanılan): En az sık kullanılan blok silinir.
  3. Önbellek Yazma Politikaları (Cache Writing Policies): Değişikliklerin ne zaman ana belleğe senkronize edileceğini belirler.

    • Write-Through: Veriler aynı anda hem önbelleğe hem de ana belleğe yazılır. Tutarlılığı sağlar, ancak daha yavaştır.
    • Write-Back: Veriler önce sadece önbelleğe yazılır. Blok silindiğinde veya açıkça "kirli" (değiştirilmiş) olarak işaretlendiğinde ana bellek güncellenir. Daha hızlıdır, ancak değişiklikleri izlemek için mekanizma gerektirir.
  4. Önbellek Hatası Durumları (Cache Miss Handling): Talep edilen verilerin önbellekte olmadığında sistemin nasıl tepki vereceğini belirler.

    • Sistem, verileri bir sonraki bellek seviyesinden (örneğin, ana bellek) alır.
    • Veriler önbelleğe yerleştirilir (varsa mevcut bloğu değiştirerek), ve sonra talep eden işleme sunulur.
  5. Önbellek Tutarlılık Kuralları (Cache Coherence Rules): Çok işlemcili sistemlerde, birkaç işlemci aynı verilerin kopyalarına sahip olabilir. Tüm önbellekler arasındaki tutarlılığı sağlarlar. Örnek protokoller: MSI, MESI.

  6. İptal Etme/Güncelleme Kuralları (Cache Invalidation/Update): Bir yerdeki veriler değiştirildiğinde (örneğin, bir işlemcinin önbelleğinde), diğer önbelleklerdeki kopyanın geçersiz kılınması veya güncellenmesi gerekir, böylece eski verilerin kullanımı önlenir.