看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《qoojordon (穎川琦)》之銘言: : ARCHI部分請參考 #1KfchHnu 有提供張凡解答 : OS部分和版友對答案 : 11.ABDE : 12.ACDE : 13.ABCE : 14.AE : 15.ABCDE : 16.A : 17.ABCD : 18.BCD : 19.ACDE : 20.ABCDE : 1/4 6:30 修正 11,15,16 : 1/10 5:30 修正12(B),13(B),謝謝winnie48提醒 : 紅色表示我自己也不太確定 想討論這份的一個選項, 4(d)write miss時採write-allocate policy是更新memory後從memory搬block到cache ,這選項敘述雖然怪怪的但邏輯上應該沒錯? 還是他的意思就是更新memory@@ -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.16.150 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1422158559.A.0C3.html
qoojordon: 我覺得沒錯,只是敘述很模糊,不過write-allocate policy01/25 12:16
qoojordon: 會先寫回MEMORY嗎? 還是只有cache block是dirty而且要01/25 12:17
qoojordon: 替換出cahce的時候才會發生寫回memory的動作?01/25 12:18
JacobSyu: W.B.:dirty才寫回吧...01/25 12:59
galapous: 你講的情形比較像write hit時採write back機制的處理?01/25 13:02
galapous: 我理解是write miss時寫回memory再copy一份allocate到ca01/25 13:04
galapous: che01/25 13:04
galapous: Write miss意思不是cache中找不到該block,這樣應該沒01/25 13:07
galapous: 有dirty的問題吧?有點混亂orz01/25 13:07
a95641126: 樓上但妳從memory搬到cache有可能替換掉的block是dirty01/25 13:14
a95641126: 的所以需要先寫回呀01/25 13:14
galapous: 不過選項只提到採write allocate,然後說不會把“要寫入01/25 13:31
galapous: “的cache block放入memory中,這樣會是指被替換掉的blo 01/25 13:31
galapous: ck嗎?01/25 13:31
qoojordon: 更正一下,wirte allocate應該是"會"把要寫入的block搬01/25 13:34
qoojordon: 進cache,解讀上是發生W.M.時,需不需分配cache空間給這01/25 13:35
qoojordon: 個miss block01/25 13:36
galapous: 因為其他題有隨意組合的問題,所以想說這選項是不是只01/25 13:36
galapous: 考慮write allocate的部份,至於用write through or wri01/25 13:36
galapous: te back都不影響?01/25 13:36
qoojordon: 就是因為有你說的組合問題,所以我才說看到write01/25 13:37
qoojordon: allocate它的核心目標應該就是cache一定會分配空間,至 01/25 13:38
qoojordon: 於用write through or write back只是是否適合的問題01/25 13:39
galapous: 所以這樣說選項還是正確的?要寫入的cache block應該是01/25 13:51
galapous: 在memory中更新後再搬到cache中?01/25 13:51
galapous: 我發現原文寫寫回有錯,我想講的是更新的意思01/25 13:53
galapous: 我終於了解大家的推文了……sorry01/25 13:54
※ 編輯: galapous (140.112.16.150), 01/25/2015 13:56:29
a95641126: 當write hit時才會採用write back 或write through, 01/25 18:55
a95641126: 當write miss 時才會採用write allocate或write around 01/25 18:55
a95641126: Write back 不會更新memory中的資料,因為要write的blo 01/25 18:59
a95641126: ck不在cache中,要把要寫入的block從memory搬到cache, 01/25 18:59
a95641126: 所以這邊如果我要替換的block是dirty就要先寫回memory 01/25 19:00
a95641126: ,然後替換之後只寫cache不寫memory所以通常搭配write 01/25 19:00
a95641126: back使用,而write around就是write miss 時將block 01/25 19:00
a95641126: 替換上來後,cache和memory的block都要寫入,通常配合w 01/25 19:00
a95641126: rite through 01/25 19:00
galapous: thx 01/25 19:10
carlossp: 可以請問一下16題的(c), TLB不是associative register? 01/25 19:32
carlossp: 還有(a)是錯在哪裡? 01/25 19:33
galapous: 其實16我也是選a沒選c,有人能講解一下嗎XD 01/25 20:38
galapous: 應該是18題吧?! 01/25 20:46
carlossp: 我在計組課本看到TLB可以用associative mem來實作 01/25 21:08
carlossp: 可是在OS課本上又說TLB是associative register,差異吧 01/25 21:09
qoojordon: 18(c)題確實如同car所說,查了書本有兩種寫法,所以我不 01/25 22:06
qoojordon: 知道怎麼選,18(a)我覺得TLB是"硬體"協助paging效能 01/25 22:06
qoojordon: 16題只找的到一個safe sequence P1,P0,P2 01/25 22:07
qoojordon: 所以這樣16題答案應該要改成D,看看大家作的有沒有出入 01/25 22:08
galapous: 16應該是A?假設P1做完那B資源不是只有4@@ 01/25 22:20
galapous: 18(a)懂了,感謝 01/25 22:26
qoojordon: 16是(a) , 我抄錯排數字惹 , 謝謝G大指正 , 我會把它 01/25 22:43
qoojordon: 修正到第一篇 01/25 22:43
galapous: 是說我看你第一篇本來答案就寫A說XDD 01/26 00:08