Buna bir örnek yardımıyla bakalım. Doğrudan eşlenmiş bir önbelleğimiz olduğunu ve geri yazma politikasının kullanıldığını varsayalım. Yani önbellek satırında geçerli bir bit, kirli bit, etiket ve veri alanımız var. Bir işlemimiz olduğunu varsayalım: A yazın (burada A, önbelleğin ilk satırına eşlenir).
Olan şey, işlemciden gelen verilerin (A) önbelleğin ilk satırına yazılmasıdır. Geçerli bit ve etiket bitleri ayarlanmıştır. Kirli bit 1'e ayarlanmıştır.
Kirli bit, en son önbelleğe getirildiğinden beri yazılan önbellek satırının olduğunu gösterir!
Şimdi başka bir işlemin yapıldığını varsayalım: E'yi okuyun (burada E aynı zamanda ilk önbellek satırına da eşlenir)
Doğrudan eşlenmiş önbelleğe sahip olduğumuz için, ilk satır basitçe bellekten getirilecek olan E bloğu ile değiştirilebilir. Ancak satıra en son yazılan blok (blok A) henüz belleğe yazılmadığından (kirli bit ile gösterilir), bu nedenle önbellek denetleyicisi önce A bloğunu belleğe aktarmak için belleğe geri yazacak , sonra belleğe bir okuma işlemi yayınlayarak satırı E bloğu ile değiştirecektir. kirli bit artık 0'a ayarlanmıştır.
Bu nedenle, geri yazma politikası, bloğun bellekte ve ilişkili önbellek satırında aynı olacağını garanti etmez. Bununla birlikte, satır değiştirilmek üzereyken, ilk önce bir geri yazma gerçekleştirilir.
İlke üzerinden yazma bunun tam tersidir. Buna göre hafızada her zaman güncel veriler olacaktır. Yani, önbellek bloğu yazılırsa, bellek de buna göre yazılacaktır. (kirli bit kullanılmaz)
write back
performansı daha iyi mi demek istiyorsun ?