看板 Grad-ProbAsk 關於我們 聯絡資訊
關於cache的write allocate 由於我在白算盤的第四版找不到相關的敘述 跟同學討論之後覺得還是有些地方怪怪的 想請板上大大開釋一下 張凡老師的講義提到 "Write allocate - the block is locked on a write miss, followed by the write-hit action." 我的想法是 當處理器做完運算想要把資料寫回的時候 發現在cache當中沒有相對應的資料可以複寫(<---write miss發生) 於是從memory當中把資料複製到cache再將剛剛運算完的資料寫入 然後將這筆新的資料從cache再寫到memory 舉例來說就是 當處理器運算a=a+1之後想要把新的a也就是a+1寫入cache 但是找不到本來應該存在的a 於是從memory當中把a搬入cache然後把a變成a+1 然後把a+1寫回memory 我和同學覺得這樣的動作未免也太不直接了~"~ 為什麼不接寫入memory就好(也就是write around)? 還是說這樣子的動作只是為了搭配write through而已? 另外想請問以黃色的部份解釋write miss對不對? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.136
polomoss:write allocate 是用來解決 write miss發生 11/01 22:23
polomoss:有兩種解決搭配之前所用的 write through/write back 11/01 22:24
polomoss:也就是它是針對那兩種狀況衍生出這兩種解決方式 11/01 22:25
quts:那我另外想請問...我這樣解釋write allocate對不對? 11/02 01:25
quts:還有write miss是這樣解釋嗎? 11/02 01:25
quts:因為我找不到相關的參考資料~"~ 11/02 01:25
quts:謝謝 11/02 01:26
bennylu:google "write allocate", 第一筆就找到了 11/02 02:10
quts:謝謝 11/02 08:30