哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

3天內不再提示

談一談CPU緩存和緩存一致性

汽車玩家 ? 來源:簡書 ? 作者:habit_learning ? 2020-05-03 17:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

左圖為最簡單的高速緩存的配置,數(shù)據(jù)的讀取和存儲都經(jīng)過高速緩存,CPU核心與高速緩存有一條特殊的快速通道;主存與高速緩存都連在系統(tǒng)總線上(BUS)這條總線還用于其他組件的通信

在高速緩存出現(xiàn)后不久,系統(tǒng)變得越來越復雜,高速緩存與主存之間的速度差異被拉大,直到加入了另一級緩存,新加入的這級緩存比第一緩存更大,并且更慢,而且經(jīng)濟上不合適,所以有了二級緩存,甚至是三級緩存

談一談CPU緩存和緩存一致性

1.為什么需要CPU cache?

CPU的頻率太快了,快到主存跟不上,這樣在處理器時鐘周期內,CPU常常需要等待主存,浪費資源。 所以cache的出現(xiàn),是為了緩解CPU和內存之間速度的不匹配問題(結構:cpu->cache->memory)。

2.CPU cache 存在的原理?

局部性原理:CPU 訪問存儲器時,無論是存取指令還是存取數(shù)據(jù),所訪問的存取單元都趨于聚集在一個較小的連續(xù)區(qū)域中。

時間局部性:如果某個數(shù)據(jù)被訪問,那么在不久的將來他很可能被再次訪問。

空間局部性:如果某個數(shù)據(jù)被訪問,那么與他相鄰的數(shù)據(jù)很快也可能被訪問。

3.緩存一致性(MESI)

MESI協(xié)議中cache line數(shù)據(jù)狀態(tài)有4種,引起數(shù)據(jù)狀態(tài)轉換的CPU cache操作也有4種,因此要理解MESI協(xié)議,就要將這16種狀態(tài)轉換的情況討論清楚。

談一談CPU緩存和緩存一致性

初始場景:在最初的時候,所有的CPU中都沒有數(shù)據(jù),其中一個CPU發(fā)生讀操作,此時發(fā)生RR(數(shù)據(jù)從主內存中讀取到當前CPU的cache),狀態(tài)為E(獨占,只有當前CPU有數(shù)據(jù),并且和主存一致)。此時,如果有其他CPU也讀取主存數(shù)據(jù),則狀態(tài)修改為S(共享,多個CPU之間擁有相同數(shù)據(jù),并且和主存保持一致),如果其中一個CPU發(fā)生數(shù)據(jù)修改,那么該CPU中數(shù)據(jù)狀態(tài)修改為M(擁有最新數(shù)據(jù),和主存不一致,但是以當前CPU中的數(shù)據(jù)為準),并通知其他擁有該數(shù)據(jù)的CPU數(shù)據(jù)失效,其他CPU中的cache line狀態(tài)修改為I(失效,和主存中的數(shù)據(jù)被認為不一致,數(shù)據(jù)不可用應該重新獲取)

modify

場景:當前CPU中數(shù)據(jù)狀態(tài)是modify,表示當前CPU中擁有最新數(shù)據(jù),雖然主存中的數(shù)據(jù)和當前CPU中的數(shù)據(jù)不一致,但是以當前CPU中的數(shù)據(jù)為準;

LR:此時如果發(fā)生local read,即當前CPU讀數(shù)據(jù),直接從cache中獲取數(shù)據(jù),擁有最新數(shù)據(jù),因此狀態(tài)不變;

LW:直接修改本地cache數(shù)據(jù),修改后也是當前CPU擁有最新數(shù)據(jù),因此狀態(tài)不變;

RR:因為本地內存中有最新數(shù)據(jù),因此當前CPU不會發(fā)生RR和RW,當本地cache控制器監(jiān)聽到總線上有RR發(fā)生的時,必然是其他CPU發(fā)生了讀主存的操作,此時為了保證一致性, 當前CPU應該將數(shù)據(jù)寫回主存,而隨后的RR將會使得其他CPU和當前CPU擁有共同的數(shù)據(jù),因此狀態(tài)修改為S;

RW(將當前CPU緩存中的數(shù)據(jù)寫入到主內存里面):同RR,當cache控制器監(jiān)聽到總線發(fā)生RW,當前CPU會將數(shù)據(jù)寫回主存,因為隨后的RW將會導致主存的數(shù)據(jù)修改,因此狀態(tài)修改成I;

exclusive

場景:當前CPU中的數(shù)據(jù)狀態(tài)是exclusive,表示當前CPU獨占數(shù)據(jù)(其他CPU沒有數(shù)據(jù)),并且和主存的數(shù)據(jù)一致;

LR:從本地cache中直接獲取數(shù)據(jù),狀態(tài)不變;

LW:修改本地cache中的數(shù)據(jù),狀態(tài)修改成M(因為其他CPU中并沒有該數(shù)據(jù),因此不存在共享問題,不需要通知其他CPU修改cache line的狀態(tài)為I);

RR:因為本地cache中有最新數(shù)據(jù),因此當前CPU cache操作不會發(fā)生RR和RW,當cache控制器監(jiān)聽到總線上發(fā)生RR的時候,必然是其他CPU發(fā)生了讀取主存的操作,而RR操作不會導致數(shù)據(jù)修改,因此兩個CPU中的數(shù)據(jù)和主存中的數(shù)據(jù)一致,此時cache line狀態(tài)修改為S;

RW:同RR,當cache控制器監(jiān)聽到總線發(fā)生RW,發(fā)生其他CPU將最新數(shù)據(jù)寫回到主存,此時為了保證緩存一致性,當前CPU的數(shù)據(jù)狀態(tài)修改為I;

shared

場景:當前CPU中的數(shù)據(jù)狀態(tài)是shared,表示當前CPU和其他CPU共享數(shù)據(jù),且數(shù)據(jù)在多個CPU之間一致、多個CPU之間的數(shù)據(jù)和主存一致;

LR:直接從cache中讀取數(shù)據(jù),狀態(tài)不變;

LW:發(fā)生本地寫,并不會將數(shù)據(jù)立即寫回主存,而是在稍后的一個時間再寫回主存,因此為了保證緩存一致性,當前CPU的cache line狀態(tài)修改為M,并通知其他擁有該數(shù)據(jù)的CPU該數(shù)據(jù)失效,其他CPU將cache line狀態(tài)修改為I;

RR:狀態(tài)不變,因為多個CPU中的數(shù)據(jù)和主存一致;

RW:當監(jiān)聽到總線發(fā)生了RW,意味著其他CPU發(fā)生了寫主存操作,此時本地cache中的數(shù)據(jù)既不是最新數(shù)據(jù),和主存也不再一致,因此當前CPU的cache line狀態(tài)修改為I;

invalid

場景:當前CPU中的數(shù)據(jù)狀態(tài)是invalid,表示當前CPU中是臟數(shù)據(jù),不可用,其他CPU可能有數(shù)據(jù)、也可能沒有數(shù)據(jù);

LR:因為當前CPU的cache line數(shù)據(jù)不可用,因此會發(fā)生RR操作,此時的情形如下。

A. 如果其他CPU中無數(shù)據(jù)則狀態(tài)修改為E;

B. 如果其他CPU中有數(shù)據(jù)且狀態(tài)為S或E則狀態(tài)修改為S;

C. 如果其他CPU中有數(shù)據(jù)且狀態(tài)為M,那么其他CPU首先發(fā)生RW將M狀態(tài)的數(shù)據(jù)寫回主存并修改狀態(tài)為S,隨后當前CPU讀取主存數(shù)據(jù),也將狀態(tài)修改為S;

LW:因為當前CPU的cache line數(shù)據(jù)無效,因此發(fā)生LW會直接操作本地cache,此時的情形如下。

A. 如果其他CPU中無數(shù)據(jù),則將本地cache line的狀態(tài)修改為M;

B. 如果其他CPU中有數(shù)據(jù)且狀態(tài)為S或E,則修改本地cache,通知其他CPU將數(shù)據(jù)修改為I,當前CPU中的cache line狀態(tài)修改為M;

C. 如果其他CPU中有數(shù)據(jù)且狀態(tài)為M,則其他CPU首先將數(shù)據(jù)寫回主存,并將狀態(tài)修改為I,當前CPU中的cache line狀態(tài)修改為M;

RR:監(jiān)聽到總線發(fā)生RR操作,表示有其他CPU讀取內存,和本地cache無關,狀態(tài)不變;

RW:監(jiān)聽到總線發(fā)生RW操作,表示有其他CPU寫主存,和本地cache無關,狀態(tài)不變;

總結

MESI協(xié)議為了保證多個CPU cache中共享數(shù)據(jù)的一致性,定義了cache line的四種狀態(tài),而CPU對cache的4種操作可能會產生不一致狀態(tài),因此cache控制器監(jiān)聽到本地操作和遠程操作的時候, 需要對地址一致的cache line狀態(tài)做出一定的修改,從而保證數(shù)據(jù)在多個cache之間流轉的一致性。

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

    關注

    68

    文章

    11320

    瀏覽量

    225786
  • 緩存
    +關注

    關注

    1

    文章

    248

    瀏覽量

    27805
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【生產制造】從元器件到成品,尼賽拉體化設計打造高一致性傳感器

    在電子元器件領域,產品一致性是批量生產與電路集成的核心要求,電流傳感器作為精密檢測器件,其一致性直接影響電子設備的批量生產良率與性能穩(wěn)定性。尼賽拉憑借“從霍爾元件、磁芯等核心元器件到傳感器成品
    的頭像 發(fā)表于 04-08 11:31 ?72次閱讀
    【生產制造】從元器件到成品,尼賽拉<b class='flag-5'>一</b>體化設計打造高<b class='flag-5'>一致性</b>傳感器

    京東緩存中間件架構與緩存內核優(yōu)化

    、容災策略不、數(shù)據(jù)一致性保障困難等問題日益凸顯。 ? 在京東內部,大量業(yè)務系統(tǒng)依賴JIMDB作為緩存解決方案。然而,在實際使用與運維過程中,我們發(fā)現(xiàn)了以下幾個普遍存在的痛點: ?部署架構不統(tǒng)
    的頭像 發(fā)表于 04-03 16:18 ?1790次閱讀
    京東<b class='flag-5'>緩存</b>中間件架構與<b class='flag-5'>緩存</b>內核優(yōu)化

    是德科技推出全新GDDR7發(fā)射端一致性測試解決方案

    是德科技(NYSE: KEYS )宣布推出全新GDDR7發(fā)射端一致性解決方案,該方案可加速圖形與人工智能(AI)應用領域遵循JEDEC標準的驗證進程。
    的頭像 發(fā)表于 03-02 11:05 ?507次閱讀
    是德科技推出全新GDDR7發(fā)射端<b class='flag-5'>一致性</b>測試解決方案

    比斯特通用分選機四線制測試技術保障電芯性能一致性

    電芯的性能一致性直接決定了終端產品的安全、續(xù)航能力與使用壽命,然而,受制于原材料差異、制造工藝波動等因素,即使是同批次生產的電芯,其電壓、內阻等關鍵參數(shù)仍存在微小偏差。深圳比斯特自動化設備
    的頭像 發(fā)表于 01-29 16:20 ?271次閱讀
    比斯特通用分選機四線制測試技術保障電芯性能<b class='flag-5'>一致性</b>

    以太網(wǎng)一致性測試全解析:保障高性能網(wǎng)絡的關鍵技術

    在高速網(wǎng)絡設備的設計與制造中,以太網(wǎng)一致性測試是確保產品性能穩(wěn)定、符合行業(yè)標準的關鍵環(huán)節(jié)。我們能夠為客戶提供從測試標準解讀到實際問題排查的全方位支持。本文將以100Base-TX和1000Base-T為例,系統(tǒng)介紹以太網(wǎng)一致性測試的核心內容與標準依據(jù),幫助客戶理解測試的重
    的頭像 發(fā)表于 01-20 17:42 ?1260次閱讀
    以太網(wǎng)<b class='flag-5'>一致性</b>測試全解析:保障高性能網(wǎng)絡的關鍵技術

    儲能電池一致性,已成核心競爭力

    電子發(fā)燒友網(wǎng)報道(文/黃山明)隨著新型儲能以及長時儲能在儲能中占比越來越多,儲能電池的一致性問題開始凸顯。而所謂的一致性,是指同規(guī)格型號的電池在容量、內阻、電壓、自放電率、溫度特性和衰減速度等關鍵
    的頭像 發(fā)表于 01-08 16:37 ?7305次閱讀

    比斯特1810B自動分選機實現(xiàn)電池性能一致性的保障設備

    在動力電池和儲能系統(tǒng)快速發(fā)展的當下,電池性能一致性已成為衡量產品質量的關鍵指標。一致性將直接影響電池組的整體性能發(fā)揮,更關乎產品的安全可靠和使用壽命。深圳比斯特自動化設備有限公司推出的1810B
    的頭像 發(fā)表于 01-06 17:06 ?629次閱讀
    比斯特1810B自動分選機實現(xiàn)電池性能<b class='flag-5'>一致性</b>的保障設備

    有關100M、1000M以太網(wǎng)一致性測試問題探討交流

    100M、1000M以太網(wǎng)一致性測試
    的頭像 發(fā)表于 12-14 10:42 ?765次閱讀
    有關100M、1000M以太網(wǎng)<b class='flag-5'>一致性</b>測試問題探討交流

    電纜組件相位一致性的意義

    、技術本質:定義與量化指標 相位一致性描述的是多通道電纜組件在相同頻率與輸入信號下,各通道輸出信號相位差的穩(wěn)定程度。核心衡量指標包括: 相位偏差 :單通道相位的波動范圍 通道間相位差 :多通道之間
    的頭像 發(fā)表于 11-27 13:41 ?480次閱讀
    電纜組件相位<b class='flag-5'>一致性</b>的意義

    請教大家下DP一致性測試問題

    請教大家下,DP的Vbios中已經(jīng)固定了預加重和Swing的值,DP的TX信號一致性測試項中Non Pre-Emphasis Level Test(Swing2/Swing0)-PLTPAT,這個測試項意思是Swing2與Swing0偏差嗎?已經(jīng)固定了Swing中,這
    發(fā)表于 11-12 15:57

    鏡頭不一致的問題原因分析

    在機器視覺系統(tǒng)的視界,鏡頭一致性猶如維系整個生態(tài)的隱形生命線,貫穿于光學成像、圖像處理到智能決策的全鏈路,其細微波動足以顛覆整個檢測系統(tǒng)的可靠。當工業(yè)界熱衷于討論算法精度與算力突破時,鏡頭這基礎光學元件的
    的頭像 發(fā)表于 09-11 09:45 ?1413次閱讀

    高性能緩存設計:如何解決緩存偽共享問題

    在多核高并發(fā)場景下, 緩存偽共享(False Sharing) 是導致性能驟降的“隱形殺手”。當不同線程頻繁修改同緩存行(Cache Line)中的獨立變量時,CPU
    的頭像 發(fā)表于 07-01 15:01 ?868次閱讀
    高性能<b class='flag-5'>緩存</b>設計:如何解決<b class='flag-5'>緩存</b>偽共享問題

    車用鋰離子電池機理建模與并聯(lián)模組不一致性研究

    車用鋰離子電池機理建模與并聯(lián)模組不一致性研究
    發(fā)表于 05-16 21:02

    MCU緩存設計

    MCU 設計通過優(yōu)化指令與數(shù)據(jù)的訪問效率,顯著提升系統(tǒng)性能并降低功耗,其核心架構與實現(xiàn)策略如下: 緩存類型與結構 指令緩存(I-Cache)與數(shù)據(jù)緩存(D-Cache)? I-Ca
    的頭像 發(fā)表于 05-07 15:29 ?1260次閱讀

    堆焊熔池輪廓實時監(jiān)控,實現(xiàn)工藝穩(wěn)定性與焊縫一致性

    及稀釋程度等關鍵參數(shù)對焊層質量有直接影響,實時監(jiān)控熔池輪廓和溫度分布可及時預警缺陷并指導參數(shù)優(yōu)化,以保證焊層一致性與工藝穩(wěn)定性。今天起了解堆焊熔池輪廓實時監(jiān)控,實現(xiàn)工藝穩(wěn)定性與焊縫一致性。 堆焊簡介 堆焊,又
    的頭像 發(fā)表于 04-24 17:15 ?786次閱讀
    堆焊熔池輪廓實時監(jiān)控,實現(xiàn)工藝穩(wěn)定性與焊縫<b class='flag-5'>一致性</b>
    额敏县| 谷城县| 沂南县| 兴安县| 利川市| 枞阳县| 昌黎县| 铜川市| 罗山县| 张家口市| 平陆县| 武鸣县| 常熟市| 马龙县| 济阳县| 兰州市| 内乡县| 丰原市| 宜黄县| 临泽县| 克东县| 始兴县| 都安| 罗源县| 日喀则市| 长泰县| 忻城县| 晋州市| 淳安县| 河池市| 灵台县| 辽宁省| 罗江县| 化隆| 佳木斯市| 甘洛县| 长阳| 伊春市| 广德县| 达州市| 剑川县|