[理工] write back cache 問題

作者: s567101 (anson)   2021-12-27 11:50:43
寫考古的時候看到「為什麼write back cache 在write miss時,只能有write allocate 一種選擇?」,我查到的解釋都是說因為採用no-write allocate 的話memory和cache 會有data inconsistency 的問題。
但採用no write allocate 來直接修改memory 上的資料的話,由於在cache 本來就已經miss了,cache 上應該沒有要的block 才對,那這樣怎麼會有inconsistency 的問題呢?cache 上面根本沒有target block 啊。
以上是我的疑問,再麻煩大家指教,謝謝。
作者: NCTUCKCurry (CKNCTUCurry)   2021-12-27 15:04:00
write back/write through和write allocate/no writeallocate應該是四種組合都可以用,只是write back通常搭配write allocate,write through通常搭配no write allocate
作者: pipiLUANAIAI (狗貓咪)   2021-12-27 16:41:00
write back使用no write allocate代表write miss後更新在記憶體,在下一次的write還是會miss,一樣要更新在記憶體,這樣一開始選擇write back的意義就失去了,dirty bit這功能對於miss block形同不存在,我在猜想這會不會是所謂的inconsistency
作者: s567101 (anson)   2021-12-27 21:23:00
感謝樓上兩位的回答,感覺還是不要鑽這個問題好了,知道為什麼要這樣搭配應該比較重要XD
作者: OhYiDay (小白Z)   2020-01-12 00:21:00
我跟你想到了一模一樣的問題 正準備上來發文 沒想到有人問了!!

Links booklink

Contact Us: admin [ a t ] ucptt.com