高缓一致性协议课件.pptVIP

高缓一致性协议课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一個狀態轉換的例子一覽表處理器動作P1中狀態P2中狀態P3中狀態匯流排事務數據提供者Pl讀uS————BusRd主存P3讀uS——SBusRd主存P3寫uI——MBusRdX主存P1讀uS——SBusRdP3高速緩存P2讀uSSSBusRd主存六、MESI監聽協議1.前言MESI屬於寫無效協議。它根據所有的讀、寫、命中或不命中,與在匯流排上監聽的事件來跟蹤高速緩存行的狀態。MESI(ModifiedExclusiveSharedlnvalid)協議是MSI協議的改進協議。這個協議最初是由在Urbana—Champaign的Illinois大學的研究者提出的,所以也稱為Illinois協議。許多現代微處理器設計中已經實現了MESI協議,例如IntelPentium、i860、PowerPC601等。與MSI協議相比,MESI協議增加了一個互斥(E)狀態。小規模的SMP機器的一類主要的工作負載是順序程式,假如採用MSI協議,當一個順序程式先讀人一個資料項目,然後修改一個資料項目時,就要產生兩個匯流排事務:①一個BusRd事務,用來得到記憶體塊,並置為S狀態產生一個BusRdX事務,用來將該塊狀態從S變為M狀態。而在順序程式中資料項目不存在共用者,因此只會在一個高速緩存有該塊拷貝,②後一個BusRdX事務是不必要的。為了改進這種情況,加入了一個E狀態,用來表示只有一個高速緩存中有這個記憶體塊,且該塊內容沒有被修改過。只要開始發出BusRd事務,得到記憶體塊,並置為E狀態,就可以直接進行修改,而不需要產生BusRdX事務。②模式1無效方案所有P個處理器在第一次迭代將引起一個常規緩存撲空。在後續k-1,處理器1將產生一次升級,但所有其他的處理器將經歷一次讀撲空。這樣,將升級算作撲空,撲空=P+(k-1)XP=16+9X16=160,其中151個是讀撲空,9個是升級;流量=讀撲空XRdMiss+(k-1)XUpdate=151X70+9X6=10624位元組模式2:①模式2更新方案首次迭代將發生兩次常規緩存撲空,處理器1一次,處理器2一次;在後續k-1次迭代中,將沒有更多的撲空產生,但在每次迭代會產生M次更新。這樣,我們將看到撲空=2;流量=2XRdMiss+MX(k-1)XUpdate=2X70+10X9X14=1400位元組②模式2無效方案首次迭代將發生兩次常規緩存撲空。在後續k-1次迭代中,每次迭代產生1次升級(對於第一個寫)和一次常規讀撲空。這樣,將升級算作撲空,總體上撲空=2+(k-1)=2+9=11;流量=撲空XRdMiss+(k-1)XUpgrade=11X70+9X6=824位元組結論:各有優缺點;有可能設計出方案來,使更新和作廢協議雙方的優點都體現出來。3.基於更新和基於無效協議的結合結合優點,二者都支持。通過頁面粒度動態決定,一個緩存頁的一致性是通過更新還是通過無效來維護。關於協議選擇的決定可以通過系統調用指出它們利用TLB來向一致性子系統指明用哪一種協議。這種方案的主要缺點是它們給程式員增加了為頁或者數劇結構選擇協議的負擔。由於控制的粒度較粗,也使得這種決定不容易作出,因為適應不同數據結構的頁可能落在相同的頁面上。①替代的方法是通過在運行時觀察共用的行為,在緩存塊的粒度來選擇協議。理想情況每一個寫希望能夠看到未來所有處理器對當前緩存塊的引用,然後再決定是否的拷貝或者更新。由於這個資訊顯然是得不到的,還由於有緩存替換和偽共用帶來的嚴重的波動,需要一種更實際的方案。②競爭性方案是基於運行時觀察到的模式,從硬體上在作廢和更新之間改變對於一個存儲塊的協議。這種方案的關鍵是,如果對一個緩存塊作了錯誤的決定,由於那個錯誤帶來的損失應該保持有界並且很小,例如,如果一個塊當前用更新模式,一旦一個處理器連續向它寫,但沒有其他處理器從中讀,它就不應該保留在更新個模式中。③限制更新協議的損失讓每一緩存塊和一個向下計數器聯繫起來只要一個緩存塊被本地處理器訪問,它計數值就被置一個閾值k。每當一個塊收到一次更新,計數器就遞減。如果計數器到了0,這個塊就在本地被無效作廢。本地作廢的後果是下一次一個更新在匯流排上產生時,它可能找不到持有一個有效拷貝的緩存;這種情況將切換到已修改狀態,並且將停止產生更新。如果現在某個處理器訪問這一塊,它就要再次被切換到共用狀態,這個混合協議會又開始產生更新。④一個在SunSparcCente

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档