看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《black32044 (大黑)》之銘言: : 這題其實是模考題目 : 我就拿出來問了 : 題目是這樣的 , X1,X2 are different values in the same block, : P1,P2 are processors using the write-invalidate the write-invalidate snooping : protocol. : time P1 P2 H/M : 1 WriteX2 : 2 W X2 : 3 Read X1 : 4 R X1 : 5 W X2 : 6 R X1 : 答案是 M,M,M,H,H,M : 我不知道他的流程耶,希望有高手能解答 雖然有人推文解了,還是回一下 write-invalidate 的意義在於你有多個處理器,共用一塊記憶體 但是各自有自己的快取,當P1處理器對資料做運算時,若P2此時 也有這筆資料區塊的複製,那P2這時持有的資料就不是最新的了 為了解決快取不一致的問題,所以我們發展出了snooping協定, 分1.寫入更新 : 你每寫入一次就通知所有有跟你有同樣區塊的人 把數值改為最新的內容,缺點則是太花時間 2.寫入無效 : 每寫入一次就通知所有有跟你有同樣區塊的人把 該區塊設為無效,若P2之後想要使用被設無效的區塊 則重新從記憶體載入,因為只需設無效不需更新內容, 相對比較節省時間,通常會採用 以這題來說X1,X2都在同一個block ,稱A 1.P1寫(M) : 第一次寫入因為資料還沒載入P1快取必失誤 2.P2寫(M) : 第一次寫入因為資料還沒載入P2快取必失誤,而且此時P1快取中有 block A,故要把P1的A設無效 3.P1讀(M) : 因為被設無效只能重新載入,讀不會更改值不用把P1設無效 4.P2讀(H) : Hit 5.P2寫(H) : Hit,把P1設無效 6.P1讀(M) : 因為被設無效只能重新載入 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.159.34
black32044:謝謝~ 01/14 09:33
yoie:清晰 01/15 15:55