色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

1.為什么需要CPU cache?

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

2.CPU cache 存在的原理?

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

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

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

3.緩存一致性(MESI)

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

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

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

modify

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

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

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

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

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

exclusive

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

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

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

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

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

shared

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

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

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

RR:狀態(tài)不變,因?yàn)槎鄠€(gè)CPU中的數(shù)據(jù)和主存一致;

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

invalid

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

LR:因?yàn)楫?dāng)前CPU的cache line數(shù)據(jù)不可用,因此會發(fā)生RR操作,此時(shí)的情形如下。

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,隨后當(dāng)前CPU讀取主存數(shù)據(jù),也將狀態(tài)修改為S;

LW:因?yàn)楫?dāng)前CPU的cache line數(shù)據(jù)無效,因此發(fā)生LW會直接操作本地cache,此時(shí)的情形如下。

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

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

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

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

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

總結(jié)

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

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

    關(guān)注

    68

    文章

    11070

    瀏覽量

    216815
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    246

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    高性能緩存設(shè)計(jì):如何解決緩存偽共享問題

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

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

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

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

    及稀釋程度等關(guān)鍵參數(shù)對焊層質(zhì)量有直接影響,實(shí)時(shí)監(jiān)控熔池輪廓和溫度分布可及時(shí)預(yù)警缺陷并指導(dǎo)參數(shù)優(yōu)化,以保證焊層一致性與工藝穩(wěn)定性。今天起了解堆焊熔池輪廓實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)工藝穩(wěn)定性與焊縫一致性。 堆焊簡介 堆焊,又
    的頭像 發(fā)表于 04-24 17:15 ?242次閱讀
    堆焊熔池輪廓實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)工藝穩(wěn)定性與焊縫<b class='flag-5'>一致性</b>

    一致性校正與邊緣融合拼接

    電子發(fā)燒友網(wǎng)站提供《差一致性校正與邊緣融合拼接.pdf》資料免費(fèi)下載
    發(fā)表于 04-10 18:02 ?0次下載

    請問如何保證多片AD1278的通道之間相位一致性

    讀取手冊,發(fā)現(xiàn)要保證多片AD1278的通道之間相位一致性需要兩點(diǎn):1、CLK一致;2、SYNC_N同時(shí)拉高。 我的情況: 1、各個(gè)AD1278的CLK來著不同的時(shí)鐘源,即分別采用10ppm
    發(fā)表于 01-14 06:02

    FCB-EV9520L光軸一致性的典范,焦距變換精準(zhǔn)如初

    索尼FCB-EV9520L出色的光軸一致性在多個(gè)應(yīng)用場景中展現(xiàn)出了其獨(dú)特的優(yōu)勢和價(jià)值。通過提高圖像的準(zhǔn)確、減少圖像畸變以及增強(qiáng)應(yīng)用場景的適應(yīng),F(xiàn)CB-EV9520L成為了市場上備受矚目的視頻產(chǎn)品解決方案之
    的頭像 發(fā)表于 12-09 09:45 ?633次閱讀
    FCB-EV9520L光軸<b class='flag-5'>一致性</b>的典范,焦距變換精準(zhǔn)如初

    一致性測試系統(tǒng)的技術(shù)原理和也應(yīng)用場景

    一致性測試系統(tǒng)是用來檢測零部件或系統(tǒng)實(shí)現(xiàn)是否符合相關(guān)標(biāo)準(zhǔn)或規(guī)范的測試流程,其技術(shù)原理和應(yīng)用場景具體如下:技術(shù)原理 基本框架:協(xié)議一致性測試的理論已經(jīng)相對成熟,主要代表是ISO制定的國際標(biāo)準(zhǔn)ISO
    發(fā)表于 11-01 15:35

    異構(gòu)計(jì)算下緩存一致性的重要

    在眾多回復(fù)中,李博杰同學(xué)的回答被認(rèn)為質(zhì)量最高。他首先將緩存一致性分為兩個(gè)主要場景:是主機(jī)內(nèi)CPU與設(shè)備間的一致性;二是跨主機(jī)的
    的頭像 發(fā)表于 10-24 17:00 ?1679次閱讀
    異構(gòu)計(jì)算下<b class='flag-5'>緩存</b><b class='flag-5'>一致性</b>的重要<b class='flag-5'>性</b>

    LMK05318的ITU-T G.8262一致性測試結(jié)果

    電子發(fā)燒友網(wǎng)站提供《LMK05318的ITU-T G.8262一致性測試結(jié)果.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 11:21 ?0次下載
    LMK05318的ITU-T G.8262<b class='flag-5'>一致性</b>測試結(jié)果

    TPS23882B SIFOs IEEE802.3bt 一致性測試報(bào)告

    電子發(fā)燒友網(wǎng)站提供《TPS23882B SIFOs IEEE802.3bt 一致性測試報(bào)告.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 10:48 ?1次下載
    TPS23882B SIFOs IEEE802.3bt <b class='flag-5'>一致性</b>測試報(bào)告

    級聯(lián)一致性和移相器校準(zhǔn)應(yīng)用手冊

    電子發(fā)燒友網(wǎng)站提供《級聯(lián)一致性和移相器校準(zhǔn)應(yīng)用手冊.pdf》資料免費(fèi)下載
    發(fā)表于 08-29 10:48 ?0次下載
    級聯(lián)<b class='flag-5'>一致性</b>和移相器校準(zhǔn)應(yīng)用手冊

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲器。CPU
    的頭像 發(fā)表于 08-22 14:54 ?6035次閱讀

    電感值和直流電阻的一致性如何提高?

    提高電感值和直流電阻的一致性,可以從以下幾個(gè)方面入手: 、提高電感值的一致性 優(yōu)化磁芯選擇 : 磁芯是電感器的關(guān)鍵組成部分,其材料特性和尺寸直接影響電感值。選擇具有高磁導(dǎo)率、低磁阻和穩(wěn)定性能的材料
    的頭像 發(fā)表于 08-19 15:27 ?697次閱讀

    LIN一致性測試規(guī)范2.1

    電子發(fā)燒友網(wǎng)站提供《LIN一致性測試規(guī)范2.1.pdf》資料免費(fèi)下載
    發(fā)表于 08-15 17:14 ?7次下載

    OPA569過溫信號一致性差是什么原因?qū)е碌模?/a>

    OPA569作為輸出級,輸出短路的時(shí)候,OPA569溫度上升較快。 同款產(chǎn)品,均輸出短路,有些產(chǎn)品短路僅幾秒鐘就采集到OPA569的7腳的過溫信號了。而有些產(chǎn)品需要過2-3分鐘才發(fā)出過溫信號。這是什么原因呢,一致性差別太大了。
    發(fā)表于 08-08 08:14
    主站蜘蛛池模板: 免费视频xxx | 亚洲伊人色 | 午夜福利试看120秒体验区 | videossexo乌克兰 | 三级黄.色 | 国产呻吟久久久久久久92 | 麻豆精品传媒卡一卡二传媒短视频 | 亚洲国产欧美在线看片 | 国产精品乱码色情一区二区视频 | 俄罗斯雏妓的BBB孩交 | 亚洲七七久久桃花综合 | 正在播放久久 | 小妇人电影免费完整观看2021 | 99精品影院 | 国产亚洲精品久久久久久白晶晶 | 恋夜影视列表免费安卓手机版 | 97蜜桃网123| 高清欧美一区二区三区 | 男人一进一出桶女人视频 | 精品国产九九 | 高hbl双性浪荡古代 高h 大尺度纯肉 np快穿 | 思思99热久久精品在线6 | 青柠在线观看视频在线高清 | 爱情岛论坛网亚洲品质 | 亚洲日本欧美国产在线视 | 青青草视频在线ac | 伊人伊人伊人 | 亚洲欧美一区二区三区九九九 | 在线看片韩国免费人成视频 | 久久亚洲欧美国产综合 | 亚洲免费视频网站 | 亚洲精品第一页 | 日韩人妻无码专区一本二本 | 亚洲国产精品特色大片观看 | 久久中文骚妇内射 | 蜜桃传媒在线播放 | 伦理片飘花手机在线 | 亚洲伊人久久大香线蕉综合图片 | 四虎视频最新视频在线观看 | 亚洲不卡一卡2卡三卡4卡5卡 | 久久99精品久久久久久园产越南 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品