日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 小林coding
[導(dǎo)讀]大家好,我是小林。我之前寫過CPU緩存一致性MESI協(xié)議:10張圖打開CPU緩存一致性的大門。然后期間挺多人對MESI協(xié)議的轉(zhuǎn)換有疑問,其實(shí)我在文章中把MESI協(xié)議狀態(tài)切換的各個(gè)過程都總結(jié)成了一個(gè)表格,可能內(nèi)容太多,很多小伙伴沒有仔細(xì)看。就在昨天,我發(fā)現(xiàn)個(gè)可以「在線體驗(yàn)?MESI?協(xié)議狀態(tài)轉(zhuǎn)換」過程的網(wǎng)站,地址如下:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm我先給大家復(fù)習(xí)下MESI協(xié)議,然后再跟大家講一些這個(gè)網(wǎng)站怎么用。MESI協(xié)議MESI協(xié)議其實(shí)是4個(gè)狀態(tài)單詞的開頭字母縮寫,分別是:Modified,已修改...

大家好,我是小林。我之前寫過 CPU 緩存一致性 MESI 協(xié)議:10 張圖打開 CPU 緩存一致性的大門。
然后期間挺多人對 MESI 協(xié)議的轉(zhuǎn)換有疑問,其實(shí)我在文章中把 MESI 協(xié)議狀態(tài)切換的各個(gè)過程都總結(jié)成了一個(gè)表格,可能內(nèi)容太多,很多小伙伴沒有仔細(xì)看。就在昨天,我發(fā)現(xiàn)個(gè)可以「在線體驗(yàn)?MESI?協(xié)議狀態(tài)轉(zhuǎn)換」過程的網(wǎng)站,地址如下:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm
我先給大家復(fù)習(xí)下 MESI 協(xié)議,然后再跟大家講一些這個(gè)網(wǎng)站怎么用。

MESI 協(xié)議

MESI 協(xié)議其實(shí)是 4 個(gè)狀態(tài)單詞的開頭字母縮寫,分別是:
  • Modified,已修改

  • Exclusive,獨(dú)占

  • Shared,共享

  • Invalidated,已失效

這四個(gè)狀態(tài)來標(biāo)記 Cache Line 四個(gè)不同的狀態(tài)。「已修改」?fàn)顟B(tài)就是我們前面提到的臟標(biāo)記,代表該 Cache Block 上的數(shù)據(jù)已經(jīng)被更新過,但是還沒有寫到內(nèi)存里。而「已失效」?fàn)顟B(tài),表示的是這個(gè) Cache Block 里的數(shù)據(jù)已經(jīng)失效了,不可以讀取該狀態(tài)的數(shù)據(jù)?!釜?dú)占」和「共享」?fàn)顟B(tài)都代表 Cache Block 里的數(shù)據(jù)是干凈的,也就是說,這個(gè)時(shí)候 Cache Block 里的數(shù)據(jù)和內(nèi)存里面的數(shù)據(jù)是一致性的。「獨(dú)占」和「共享」的差別在于,獨(dú)占狀態(tài)的時(shí)候,數(shù)據(jù)只存儲(chǔ)在一個(gè) CPU 核心的 Cache 里,而其他 CPU 核心的 Cache 沒有該數(shù)據(jù)。這個(gè)時(shí)候,如果要向獨(dú)占的 Cache 寫數(shù)據(jù),就可以直接自由地寫入,而不需要通知其他 CPU 核心,因?yàn)橹挥心氵@有這個(gè)數(shù)據(jù),就不存在緩存一致性的問題了,于是就可以隨便操作該數(shù)據(jù)。另外,在「獨(dú)占」?fàn)顟B(tài)下的數(shù)據(jù),如果有其他核心從內(nèi)存讀取了相同的數(shù)據(jù)到各自的 Cache ,那么這個(gè)時(shí)候,獨(dú)占狀態(tài)下的數(shù)據(jù)就會(huì)變成共享狀態(tài)。那么,「共享」?fàn)顟B(tài)代表著相同的數(shù)據(jù)在多個(gè) CPU 核心的 Cache 里都有,所以當(dāng)我們要更新 Cache 里面的數(shù)據(jù)的時(shí)候,不能直接修改,而是要先向所有的其他 CPU 核心廣播一個(gè)請求,要求先把其他核心的 Cache 中對應(yīng)的 Cache Line 標(biāo)記為「無效」?fàn)顟B(tài),然后再更新當(dāng)前 Cache 里面的數(shù)據(jù)。事實(shí)上,整個(gè) MESI 的狀態(tài)可以用一個(gè)有限狀態(tài)機(jī)來表示它的狀態(tài)流轉(zhuǎn)。還有一點(diǎn),對于不同狀態(tài)觸發(fā)的事件操作,可能是來自本地 CPU 核心發(fā)出的廣播事件,也可以是來自其他 CPU 核心通過總線發(fā)出的廣播事件。下圖即是 MESI 協(xié)議的狀態(tài)圖:
MESI 協(xié)議的四種狀態(tài)之間的流轉(zhuǎn)過程,我匯總成了下面的表格,你可以更詳細(xì)的看到每個(gè)狀態(tài)轉(zhuǎn)換的原因:

網(wǎng)站體驗(yàn)

接下來說說,怎么玩這個(gè)網(wǎng)站。
看上圖,共分為三個(gè)部分:
  • 第一部分,內(nèi)存。顯示內(nèi)存地址和數(shù)據(jù);

  • 第二部分,CPU 緩存。顯示 CPU 緩存的變量數(shù)據(jù)和 MESI 協(xié)議狀態(tài),因?yàn)槲椰F(xiàn)在還沒開始操作,所以顯示的是空白。

  • 第三部分,CPU 操作。共有三個(gè) CPU,每個(gè) CPU 都有各自的 Cache,CPU 操作分別「讀」和「寫」,這部分是我們手動(dòng)操作的部分。

而且 CPU 和內(nèi)存之間有三條總線,分別是:
  • 數(shù)據(jù)總線(Data Bus):在CPU與內(nèi)存之間來回傳送需要處理或是需要儲(chǔ)存的數(shù)據(jù)。

  • 地址總線(Adress Bus),用來指定在內(nèi)存之中儲(chǔ)存的數(shù)據(jù)的地址。

  • shared,這個(gè)我也不知道是什么總線,網(wǎng)上沒搜到資料,網(wǎng)站上最細(xì)那條總線就是這個(gè)名字,作用是控制 Cache 的數(shù)據(jù)狀態(tài)。

接下來,來演示下效果。我操作 CPU1 讀取 a0 變量,此時(shí)頁面會(huì)顯示如下(實(shí)際上是有動(dòng)畫的效果的,我這里就不錄制動(dòng)圖了,建議大家自己去操作一遍,自己感受下過程):?可以看到,CPU1 核心從內(nèi)存讀取了 a0 變量的數(shù)據(jù),并緩存在了 Cache1 里,而且此時(shí)狀態(tài)為 E (獨(dú)占)。然后我操作 CPU2 讀取 a0 變量,此時(shí)頁面會(huì)顯示如下:
可以看到,CPU1 和 CPU1 的 Cache 數(shù)據(jù)的狀態(tài)都是 S(共享),和表格中表述的現(xiàn)象一致。別看我的結(jié)果是靜態(tài)的,實(shí)際上當(dāng)我操作完? CPU2 讀取 a0 變量后,實(shí)際上是有動(dòng)畫效果的,這里有個(gè)小技巧,在動(dòng)畫的過程中,我們可以點(diǎn)擊網(wǎng)站任意一個(gè)位置,就會(huì)暫停,然后再點(diǎn)擊就開始,這樣我們可以很清晰的知道這個(gè)狀態(tài)過程是怎么通過這三個(gè)總線完成的。
我大概簡述下過程:
  1. 點(diǎn)擊 CPU2 的 read a0 操作;

  2. CPU2 會(huì)向地址總線,發(fā)送讀取 a0?變量的數(shù)據(jù)的請求,此時(shí)該請求不僅會(huì)被內(nèi)存收到,也會(huì)被其他 CPU 核心收到。

  3. CPU1 從地址總線得知,CPU2 發(fā)起的讀取地址存在于 CPU1 Cache 里,于是 CPU1 Cache 里數(shù)據(jù)的狀態(tài)會(huì)從 E(獨(dú)占)變更為 S(共享);

  4. 內(nèi)存收到 CPU2 發(fā)起的讀取 a0?數(shù)據(jù)的請求后,就會(huì)通過數(shù)據(jù)總線將數(shù)據(jù)傳遞給 CPU2;

  5. 最后數(shù)據(jù)會(huì)寫到 CPU2 Cache 里,且狀態(tài)是 S(共享)。

其他狀態(tài)的變更,我在這里就不介紹了,家自己去網(wǎng)站體驗(yàn)下,這樣會(huì)感觸比較深,光聽我講也記不住。可以對照我文章中 MESI 狀態(tài)轉(zhuǎn)換的表格來做實(shí)驗(yàn),感受下 MESI 狀態(tài)到底是如何在不用加鎖的情況下,是如何實(shí)現(xiàn) CPU 緩存一致性的。我也把網(wǎng)站地址附在了「閱讀原文」,點(diǎn)擊即可訪問。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

由臺(tái)達(dá)集團(tuán)于2026年3月29日通過美通社發(fā)布新聞稿《集裝箱式SST直流移動(dòng)智算中心發(fā)布》中,第3張有誤,已進(jìn)行替換。特此更正,更新后的全文及圖片如下: 集裝箱式SST直流移動(dòng)智算中心發(fā)布 臺(tái)達(dá)、漢騰科技、龍芯中科攜...

關(guān)鍵字: 移動(dòng) ST 固態(tài)變壓器 CPU

面對AI Agent與Physical AI的浪潮,單純依靠增加GPU或NPU的補(bǔ)丁式方案已難以為繼,CPU架構(gòu)必須進(jìn)行面向AI的底層重塑。 阿里達(dá)摩院發(fā)布的玄鐵C950旗艦處理器,不僅刷新了單核性能紀(jì)錄,更通過原生A...

關(guān)鍵字: 玄鐵C950 CPU AI 物理AI RISC-V

北京2026年3月27日 /美通社/ -- 當(dāng)?shù)谑鍖萌珖\(yùn)動(dòng)會(huì)辦公系統(tǒng)全程穩(wěn)定運(yùn)行時(shí),當(dāng)銀行柜員輕點(diǎn)鼠標(biāo)實(shí)現(xiàn)業(yè)務(wù)秒級(jí)響應(yīng)時(shí),當(dāng)大學(xué)生刷一卡通順暢進(jìn)出宿舍、食堂、圖書館時(shí),當(dāng)新能源汽車充電樁智能調(diào)度、巨災(zāi)預(yù)警系統(tǒng)精準(zhǔn)響應(yīng)...

關(guān)鍵字: CPU 指令集 芯片 操作系統(tǒng)

成立三十余年來,Arm一直是芯片行業(yè)特殊的“幕后推手”——不生產(chǎn)一顆芯片,卻定義了全球99%智能手機(jī)的底層架構(gòu)。然而,這家長期保持中立的IP授權(quán)巨頭,如今正打破自己一手建立的商業(yè)規(guī)則。

關(guān)鍵字: ARM CPU 芯片

Arm 首次將其平臺(tái)矩陣拓展至量產(chǎn)芯片產(chǎn)品,為業(yè)界提供覆蓋 IP、Arm計(jì)算子系統(tǒng) (CSS)及芯片的最廣泛的計(jì)算產(chǎn)品選擇。 發(fā)布首款由 Arm 設(shè)計(jì)的數(shù)據(jù)中心 CPU——Arm AGI CPU,專為代理式AI 基...

關(guān)鍵字: ARM CPU 數(shù)據(jù)中心 代理式AI

2026年3月24日,美國加州圣何塞訊——Super Micro Computer, Inc.(NASDAQ:SMCI)作為云端計(jì)算、AI/機(jī)器學(xué)習(xí)、存儲(chǔ)和5G/邊緣領(lǐng)域的全方位IT解決方案供應(yīng)商,宣布推出基于NVIDI...

關(guān)鍵字: DCBBS液冷架構(gòu) CPU 存儲(chǔ)

3月24日,由阿里巴巴達(dá)摩院主辦的2026玄鐵RISC-V生態(tài)大會(huì)在上海舉行。高通、Arteris、Canonical、SHD Group、海爾、中興通訊、全志科技、北京智芯微、南芯科技等全球數(shù)百家產(chǎn)學(xué)研機(jī)構(gòu)齊聚一堂,分...

關(guān)鍵字: RISC-V CPU 算力

Supermicro的NVIDIA Vera Rubin NVL72與HGX Rubin NVL8系統(tǒng)是基于DCBBS液冷架構(gòu)所設(shè)計(jì),與NVIDIA Blackwell...

關(guān)鍵字: CPU MICRO NVIDIA SUPER

3月24日消息,今日,在上海舉行的2026玄鐵RISC-V生態(tài)大會(huì)上,阿里巴巴達(dá)摩院發(fā)布新一代旗艦CPU產(chǎn)品玄鐵C950。

關(guān)鍵字: RISC-V CPU

March 18, 2026 ---- 根據(jù)TrendForce集邦咨詢最新AI Server研究,在大型云端服務(wù)供應(yīng)商(CSP)加大自研芯片力道的情況下,NVIDIA(英偉達(dá))在GTC 2026大會(huì)改為著重各領(lǐng)域的AI...

關(guān)鍵字: ASIC GPU CPU
關(guān)閉