動圖方式,理解 CPU 緩存一致性協議!

      網友投稿 920 2025-04-01

      大家好,我是小林。

      我之前寫過 CPU 緩存一致性 MESI 協議:10 張圖打開 CPU 緩存一致性的大門。

      然后期間挺多人對 MESI 協議的轉換有疑問,其實我在文章中把 MESI 協議狀態切換的各個過程都總結成了一個表格,可能內容太多,很多小伙伴沒有仔細看。

      就在昨天,我發現個可以「在線體驗?MESI?協議狀態轉換」過程的網站,地址如下:

      https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm

      我先給大家復習下 MESI 協議,然后再跟大家講一些這個網站怎么用。

      MESI 協議

      Modified,已修改

      Exclusive,獨占

      Shared,共享

      Invalidated,已失效

      網站體驗

      第一部分,內存。顯示內存地址和數據;

      第二部分,CPU 緩存。顯示 CPU 緩存的變量數據和 MESI 協議狀態,因為我現在還沒開始操作,所以顯示的是空白。

      第三部分,CPU 操作。共有三個 CPU,每個 CPU 都有各自的 Cache,CPU 操作分別「讀」和「寫」,這部分是我們手動操作的部分。

      數據總線(Data Bus):在CPU與內存之間來回傳送需要處理或是需要儲存的數據。

      地址總線(Adress Bus),用來指定在內存之中儲存的數據的地址。

      shared,這個我也不知道是什么總線,網上沒搜到資料,網站上最細那條總線就是這個名字,作用是控制 Cache 的數據狀態。

      點擊 CPU2 的 read a0 操作;

      CPU2 會向地址總線,發送讀取 a0?變量的數據的請求,此時該請求不僅會被內存收到,也會被其他 CPU 核心收到。

      CPU1 從地址總線得知,CPU2 發起的讀取地址存在于 CPU1 Cache 里,于是 CPU1 Cache 里數據的狀態會從 E(獨占)變更為 S(共享);

      用動圖的方式,理解 CPU 緩存一致性協議!

      內存收到 CPU2 發起的讀取 a0?數據的請求后,就會通過數據總線將數據傳遞給 CPU2;

      最后數據會寫到 CPU2 Cache 里,且狀態是 S(共享)。

      緩存

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:hyperlink函數怎么用(hyperlink函數怎么用相對路徑)
      下一篇:office甘特圖(office甘特圖插件)
      相關文章
      国产AV无码专区亚洲Av| 色噜噜AV亚洲色一区二区| 亚洲乱码无码永久不卡在线| 国产亚洲精品美女久久久久| 亚洲一区二区观看播放| 亚洲自偷自偷在线成人网站传媒| 亚洲国产av美女网站| 亚洲国产精品综合一区在线| 亚洲中文字幕久在线| 亚洲一卡二卡三卡| 99999久久久久久亚洲| 亚洲综合精品伊人久久| 亚洲乱码中文字幕在线| 亚洲国产精品无码久久九九大片| 亚洲精品蜜夜内射| 色偷偷亚洲第一综合| 亚洲成人影院在线观看| 亚洲中文无韩国r级电影| 中文字幕亚洲电影| 亚洲色精品aⅴ一区区三区| 黑人精品videos亚洲人| 亚洲AV无码一区东京热| 久久亚洲国产精品成人AV秋霞| 精品亚洲成a人片在线观看| 亚洲成a人片7777| 中文字幕亚洲码在线| 亚洲妇女无套内射精| 亚洲av中文无码| 亚洲中文字幕无码一久久区| 亚洲国产成人片在线观看| 香蕉视频在线观看亚洲| 亚洲第一区视频在线观看| 亚洲情A成黄在线观看动漫软件| 亚洲日韩国产二区无码| 亚洲av成人一区二区三区在线观看| 亚洲视频在线免费| 亚洲AV综合色区无码一区| 亚洲精品国产成人99久久| 亚洲av成人一区二区三区| 亚洲av无码偷拍在线观看| 亚洲男人的天堂在线va拉文|