Re: [理工] Cache

看板Grad-ProbAsk作者 (葫蘆吞象)時間11年前 (2013/01/14 07:31), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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

01/14 09:33, , 1F
謝謝~
01/14 09:33, 1F

01/15 15:55, , 2F
清晰
01/15 15:55, 2F
文章代碼(AID): #1GyqFkSh (Grad-ProbAsk)
討論串 (同標題文章)
本文引述了以下文章的的內容:
理工
3
14
完整討論串 (本文為第 2 之 2 篇):
理工
3
14
理工
2
2
文章代碼(AID): #1GyqFkSh (Grad-ProbAsk)