0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析Cache多核之間的一致性MESI協(xié)議

冬至子 ? 來源:Arm精選 ? 作者:baron ? 2023-10-27 16:26 ? 次閱讀

思考:
1、為什么要學習 MESI 協(xié)議?哪里用到了?你確定真的用到了?
2、MESI 只是一個協(xié)議,總得依賴一個硬件去執(zhí)行該協(xié)議吧,那么是誰來維護或執(zhí)行的呢?
3、你不理解的真的是 MESI 嗎,真的需要學習 MESI 嗎?應該是 cache 架構吧
4、core0 和 core1 之間的一致性是 MESI?那 cluster0 和 cluster1 之間的呢?sytem1 和 sytem2 之間的呢?
5、MESI 協(xié)議中的 M、E、S、I 的比特位,都是存在哪里的?

1、系統(tǒng)中有哪些一致性需要維護

進入正文,我們來看現代 ARM 架構體系(DynamIQ 架構)中的 cache 層級關系圖。注意 L1/L2 都在 core 中,L3 在 cluster 中。

所以從以下圖中就能夠直觀的看到答案了:

  • (1)core0、core1… 之間的一致性 需要維護
  • (2)cluster0 和 cluster1 之間的 L3 Cache 一致性 需要維護
  • (3)system 之間的一致性需要維護

image.png

其中,core0、core1 之間的一致性是遵從 MESI 協(xié)議,而 cluster0/cluster1 之間的一致性、多個 system 之間的一致性并沒有遵從 MESI 協(xié)議。
所以本文重點介紹的,也就是 core0、core1 之間的一致性,即 MESI 協(xié)議。

2、core 硬件對 MESI 協(xié)議的支持

接下來,進入下一個問題, MESI 協(xié)議中的 M、E、S、I 的比特位都是存在哪里的?這個問題并不難,告別懶惰,多翻一翻 ARM TRM 手冊就能找到答案,如下是armv9 -- cortex-A710 TRM手冊中的,cache 的 TAG 里都有什么?

答案顯然易見,在 Cache 的 TAG 中,有兩個比特位表示了 MESI 的狀態(tài)

image.png

3、MESI 協(xié)議的原理

接下來進入本文的核心,MESI 協(xié)議到底是什么?怎樣維護一致性的?

(看以下圖表,我就不說話了)

image.png

image.png

image.png

Events

  • RH = Read Hit
  • RMS = Read miss, shared
  • RME = Read miss, exclusive
  • WH = Write hit
  • WM = Write miss
  • SHR = Snoop hit on read
  • SHI = Snoop hit on invalidate
  • LRU = LRU replacement

Bus Transactions

  • Push = Write cache line back to memory
  • Invalidate = Broadcast invalidate
  • Read = Read cache line from memory
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RMS
    RMS
    +關注

    關注

    2

    文章

    137

    瀏覽量

    35652
  • ARM架構
    +關注

    關注

    14

    文章

    175

    瀏覽量

    36178
  • Cortex-A7
    +關注

    關注

    0

    文章

    34

    瀏覽量

    16428
  • cache技術
    +關注

    關注

    0

    文章

    41

    瀏覽量

    1033
  • TRM
    TRM
    +關注

    關注

    0

    文章

    7

    瀏覽量

    3285
收藏 人收藏

    評論

    相關推薦

    介紹ARM存儲一致性模型的相關知識

    今天要說的這個是存儲一致性(memory consistency),不要跟前面講過緩存一致性cache coherence)混淆了。
    的頭像 發(fā)表于 02-14 09:19 ?1661次閱讀

    C6678 多核程序的初始化及L1P cache一致性問題

    工作? 2)C66x DSP CorePac User Guide上說了L1D cache和LL2之間cache一致性是由硬件維護的。但沒有提到L1P
    發(fā)表于 06-21 14:21

    c6678cache一致性

    專家您好! ? ?我現在在做6678 cache一致性的東西,想請問一下一致性的維護哪些是硬件實現的,哪些需要程序員實現?謝謝!
    發(fā)表于 06-24 04:38

    6678多核之間的L1 CACHE一致性是由硬件實現的嗎

    工程師您好! 按照6678文檔上所講,每個core都有個L1D cache和L1P cache,那么這八個核之間的L1 CACHE是會存在
    發(fā)表于 12-25 11:25

    為什么需要進行WiMAX協(xié)議一致性測試?

    為什么需要進行WiMAX協(xié)議一致性測試看完你就知道
    發(fā)表于 04-15 06:16

    小編科普CPU緩存一致性協(xié)議MESI

    什么是緩存一致性協(xié)議MESI?MESI協(xié)議中的狀態(tài)有哪幾種?MESI
    發(fā)表于 06-17 10:00

    順序一致性和TSO一致性分別是什么?SC和TSO到底哪個好?

    如果是多核心的程序,那么順序一致性就是,對于任何個核心而言所有核心的內存訪問實際執(zhí)行順序都和程序指定順序相同上圖中左邊是核心C1的程序指定順序,右邊是核心C2的程序指定順序,中間是實際的內存訪問順序
    發(fā)表于 07-19 14:54

    改進的基于目錄的Cache一致性協(xié)議

    介紹幾種典型目錄一致性協(xié)議并分析它們的優(yōu)缺點。在綜合全映射目錄和有限目錄優(yōu)點的基礎上,通過在存儲器層上增加個存儲器高速緩存(Cache)層的方式,提出并討論
    發(fā)表于 04-02 09:05 ?32次下載

    一致性規(guī)劃研究

    針對一致性規(guī)劃的高度求解復雜度,分析主流一致性規(guī)劃器的求解策略,給出影響一致性規(guī)劃器性能的主要因素:啟發(fā)信息的有效,信念狀態(tài)表示方法的緊湊
    發(fā)表于 04-06 08:43 ?12次下載

    CMP中Cache一致性協(xié)議的驗證

    CMP是處理器體系結構發(fā)展的個重要方向,其中Cache一致性問題的驗證是CMP設計中的項重要課題。基于MESI
    發(fā)表于 07-20 14:18 ?38次下載

    DMR空中接口協(xié)議一致性測試技術

    文章介紹了DMR的產生、發(fā)展以及DRM協(xié)議體系結構?;?b class='flag-5'>協(xié)議一致性測試的基本概念,劃分了DRM協(xié)議一致性測試集
    發(fā)表于 12-22 15:13 ?35次下載
    DMR空中接口<b class='flag-5'>協(xié)議</b><b class='flag-5'>一致性</b>測試技術

    RFID協(xié)議一致性測試系統(tǒng)設計(二)

      軟件無線電這關鍵技術的應用,使得RFID協(xié)議一致性測試系統(tǒng)能夠突破傳統(tǒng)儀器受專有硬件限制的局限性,在標準化、模塊化、層次化的體系結構上滿足一致性測試的需求。RFID
    發(fā)表于 03-28 17:37 ?1389次閱讀
    RFID<b class='flag-5'>協(xié)議</b><b class='flag-5'>一致性</b>測試系統(tǒng)設計(二)

    RFID協(xié)議一致性測試系統(tǒng)設計(三)

      在具體實現了RFID協(xié)議一致性測試系統(tǒng)之后,我們將可以應用于對RFID單元的實際測試之中,本節(jié)以EPC UHF Class 1 Gen 2(也被稱為ISO 18000-6 Type C)標準的協(xié)議
    發(fā)表于 03-28 17:37 ?1249次閱讀
    RFID<b class='flag-5'>協(xié)議</b><b class='flag-5'>一致性</b>測試系統(tǒng)設計(三)

    Cache一致性協(xié)議優(yōu)化研究

    問題的由來.總結了多核時代高速緩存一致性協(xié)議設計的關鍵問題,綜述了近年來學術界對一致性的研究.從程序訪存行為模式、目錄組織結構、一致性粒度、
    發(fā)表于 12-30 15:04 ?0次下載
    <b class='flag-5'>Cache</b><b class='flag-5'>一致性</b><b class='flag-5'>協(xié)議</b>優(yōu)化研究

    介紹下cpu緩存一致性MESI協(xié)議

    之前介紹了java并發(fā)包的cas原理和java內存模型,這篇我們介紹下cpu緩存一致性原理,可以幫助我們更好的理解cas的底層原理。
    的頭像 發(fā)表于 06-09 16:01 ?4349次閱讀
    介紹下cpu緩存<b class='flag-5'>一致性</b>(<b class='flag-5'>MESI</b><b class='flag-5'>協(xié)議</b>)