作者quts (生人勿近)
看板Grad-ProbAsk
標題[理工] [計組] write allocate
時間Sun Nov 1 19:27:41 2009
關於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