99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

討論經(jīng)典的DynamIQ的cache架構(gòu)

Linux閱碼場 ? 來源:代碼改變世界ctw ? 作者:代碼改變世界ctw ? 2022-10-26 11:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

思考:1、在經(jīng)典的 DynamIQ架構(gòu) 中,數(shù)據(jù)是什么時(shí)候存在L1 cache,什么時(shí)候存進(jìn)L2 cache,什么時(shí)候又存進(jìn)L3 cache,以及他們的替換策略是怎樣的?比如什么時(shí)候數(shù)據(jù)只在L1?什么時(shí)候數(shù)據(jù)只在L2?什么時(shí)候數(shù)據(jù)只在L3?還有一些組合,比如什么時(shí)候數(shù)組同時(shí)在L1和L3,而L2沒有?這一切的規(guī)則是怎樣定義的?

2、本文不討論什么MESI協(xié)議,也不討論cache基本原理,本文討論的是多級cache之間的替換策略。

說明:本文討論經(jīng)典的DynamIQ的cache架構(gòu),忽略 big.LITTLE的cache架構(gòu)

d105c8a8-4853-11ed-a3b6-dac502259ad0.png

1、L1 / L2 cache直接的替換策略

我們先看一下DynamIQ架構(gòu)中的cache中新增的幾個(gè)概念:

(1)Strictly inclusive: 所有存在L1 cache中的數(shù)據(jù),必然也存在L2 cache中

(2)Weakly inclusive: 當(dāng)miss的時(shí)候,數(shù)據(jù)會被同時(shí)緩存到L1和L2,但在之后,L2中的數(shù)據(jù)可能會被替換

(3)Fully exclusive: 當(dāng)miss的時(shí)候,數(shù)據(jù)只會緩存到L1

綜上總結(jié):inclusive/exclusive 描述的僅僅是 L1和L2之間的替換策略

我們再去查閱 ARMV9 cortex-A710 trm手冊,查看該core的cache類型,得知:

d11e1f5c-4853-11ed-a3b6-dac502259ad0.png

L1 I-cache和L2之間是 weakly inclusive的

L1 D-cache和L2之間是 strictly inclusive的

也就是說:

當(dāng)發(fā)生D-cache發(fā)生miss時(shí),數(shù)據(jù)緩存到L1 D-cache的時(shí)候,也會被緩存到L2 Cache中,當(dāng)L2 Cache被替換時(shí),L1 D-cache也會跟著被替換

當(dāng)發(fā)生I-cache發(fā)生miss時(shí),數(shù)據(jù)緩存到L1 I-cache的時(shí)候,也會被緩存到L2 Cache中,當(dāng)L2 Cache被替換時(shí),L1 I- cache不會被替換

再次總結(jié) :L1 和 L2之間的cache的替換策略,I-cache和D-cache可以是不同的策略,每一個(gè)core都有每一個(gè)core的做法,請查閱你使用core的手冊。

2、core cache / DSU cache / memory 之間的替換策略

說實(shí)話, core cache/DSU cache/ 這個(gè)名字可能不好,感覺叫 privatecache和share cache更好,我也不知道官方一般使用哪個(gè),反正我們能理解其意思即可吧。

那么他們之間的替換策略是怎樣的呢?

我們知道MMU的頁表中的表項(xiàng)中,管理者每一塊內(nèi)存的屬性,其實(shí)就是cache屬性,也就是緩存策略。其中就有cacheable和shareable、Inner和Outer的概念。如下是針對 DynamIQ 架構(gòu)做出的總結(jié),注意哦,僅僅是針對 DynamIQ 架構(gòu)的cache。

如果將block的內(nèi)存屬性配置成Non-cacheable,那么數(shù)據(jù)就不會被緩存到cache,那么所有observer看到的內(nèi)存是一致的,也就說此時(shí)也相當(dāng)于Outer Shareable。其實(shí)官方文檔,也有這一句的描述:在B2.7.2章節(jié) “Data accesses to memory locations are coherent for all observers in the system, and correspondingly are treated as being Outer Shareable”

如果將block的內(nèi)存屬性配置成write-through cacheable 或 write-back cacheable,那么數(shù)據(jù)會被緩存cache中。write-through和write-back是緩存策略。

如果將block的內(nèi)存屬性配置成 non-shareable, 那么core0訪問該內(nèi)存時(shí),數(shù)據(jù)緩存的到Core0的L1 D-cache / L2 cache (將L1/L2看做一個(gè)整體,直接說數(shù)據(jù)會緩存到core0的private cache更好),不會緩存到其它c(diǎn)ache中。

如果將block的內(nèi)存屬性配置成 inner-shareable, 那么core0訪問該內(nèi)存時(shí),數(shù)據(jù)只會緩存到core 0的L1 D-cache / L2 cache和 DSU L3 cache,不會緩存到System Cache中(當(dāng)然如果有system cache的話 ) ,(注意這里MESI協(xié)議其作用了)此時(shí)core0的cache TAG中的MESI狀態(tài)是E, 接著如果這個(gè)時(shí)候core1也去讀該數(shù)據(jù),那么數(shù)據(jù)也會被緩存core1的L1 D-cache / L2 cache, 此時(shí)core0和core1的MESI狀態(tài)都是S

如果將block的內(nèi)存屬性配置成 outer-shareable, 那么core0訪問該內(nèi)存時(shí),數(shù)據(jù)會緩存到core 0的L1 D-cache / L2 cache 、cluster0的DSU L3 cache 、 System Cache中, core0的MESI狀態(tài)為E。如果core1再去讀的話,則也會緩存到core1的L1 D-cache / L2 cache,此時(shí)core0和core1的MESI都是S。這個(gè)時(shí)候,如果core7也去讀的話,數(shù)據(jù)還會被緩存到cluster1的DSU L3 cache. 至于DSU0和DSU1之間的一致性,非MESI維護(hù),具體怎么維護(hù)的請看DSU手冊,本文不展開討論。

Non-cacheable write-through
cacheable
write-back
cacheable
non-shareable 數(shù)據(jù)不會緩存到cache
(對于觀察則而言,又相當(dāng)于outer-shareable)
core0訪問該內(nèi)存時(shí),數(shù)據(jù)緩存的到Core0的L1 D-cache / L2 cache (將L1/L2看做一個(gè)整體,直接說數(shù)據(jù)會緩存到core0的private cache更好),不會緩存到其它c(diǎn)ache中 同左側(cè)
inner-shareable 數(shù)據(jù)不會緩存到cache
(對于觀察則而言,又相當(dāng)于outer-shareable)
core0訪問該內(nèi)存時(shí),數(shù)據(jù)只會緩存到core 0的L1 D-cache / L2 cache和 DSU L3 cache,不會緩存到System Cache中(當(dāng)然如果有system cache的話 ) , (注意這里MESI協(xié)議其作用了)此時(shí)core0的cache TAG中的MESI狀態(tài)是E, 接著如果這個(gè)時(shí)候core1也去讀該數(shù)據(jù),那么數(shù)據(jù)也會被緩存core1的L1 D-cache / L2 cache, 此時(shí)core0和core1的MESI狀態(tài)都是S 同左側(cè)
outer-shareable 數(shù)據(jù)不會緩存到cache
(對于觀察則而言,又相當(dāng)于outer-shareable)
core0訪問該內(nèi)存時(shí),數(shù)據(jù)會緩存到core 0的L1 D-cache / L2 cache 、cluster0的DSU L3 cache 、 System Cache中, core0的MESI狀態(tài)為E。如果core1再去讀的話,則也會緩存到core1的L1 D-cache / L2 cache,此時(shí)core0和core1的MESI都是S
思考:那么此時(shí)core7去讀取會怎樣?
同左側(cè)





審核編輯:劉清

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

    關(guān)注

    0

    文章

    24

    瀏覽量

    7338
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    18756

原文標(biāo)題:深度解讀DynamIQ架構(gòu)cache的替換策略

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    紫光展銳推出全球首款基于DYNAMIQ架構(gòu)的4核LTE平臺--虎賁T310

    4月9日,紫光展銳宣布推出新一代LTE移動芯片平臺紫光展銳虎賁T310(以下簡稱:虎賁T310),這是全球首款基于Arm DynamIQ架構(gòu)、面向智能手機(jī)的4核LTE芯片平臺,可實(shí)現(xiàn)優(yōu)異的運(yùn)算性能
    發(fā)表于 04-12 15:50 ?1701次閱讀

    ARM全新DynamIQ架構(gòu)奠定未來10年發(fā)展基礎(chǔ)

    ARM全新推出的DynamIQ架構(gòu)首次允許一個(gè)處理器芯片集成8個(gè)內(nèi)核,而且可以是異構(gòu)內(nèi)核,它第一次使得處理器供應(yīng)商可以采用更高效、更靈活的多核配置,它徹底奠定了未來10年ARM Cortex-A系列處理器的發(fā)展基礎(chǔ)。
    發(fā)表于 04-05 15:30 ?1684次閱讀

    Arm Cortex-A53 cache架構(gòu)解析

    A53的L1 Data cache遵從的是MOESI協(xié)議,如下所示在L1 data cache的tag中存有MOESI的標(biāo)記位。
    的頭像 發(fā)表于 09-01 15:01 ?9460次閱讀
    Arm Cortex-A53 <b class='flag-5'>cache</b>的<b class='flag-5'>架構(gòu)</b>解析

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

    進(jìn)入正文,我們來看現(xiàn)代 ARM 架構(gòu)體系(DynamIQ 架構(gòu))中的 cache 層級關(guān)系圖。注意 L1/L2 都在 core 中,L3 在 cluster 中。
    的頭像 發(fā)表于 10-27 16:26 ?1154次閱讀
    淺析<b class='flag-5'>Cache</b>多核之間的一致性MESI協(xié)議

    DynamIQ,ARM的千億出貨量大生意

    面對未來巨大的市場需求,ARM也開始了行動,敲響了DynamIQ的千億出貨量大生意。
    發(fā)表于 03-24 11:00 ?2468次閱讀

    DynamIQ世界中的big.LITTLE是什么樣的?

    ARM DynamIQ 技術(shù)于近期發(fā)布,因其對 big.LITTLE 技術(shù)未來發(fā)展的影響而引起了科技行業(yè)和“技術(shù)愛好者”的強(qiáng)烈興趣。簡而言之,big.LITTLE 成為了 DynamIQ 技術(shù)中的一部分。那么現(xiàn)在讓我們回過頭來,從一個(gè)更大的范圍,看看這其中的關(guān)系。
    發(fā)表于 10-16 06:44

    ARM DynamIQ計(jì)算技術(shù)介紹

    ARM DynamIQ全新時(shí)代的計(jì)算技術(shù)
    發(fā)表于 02-03 06:49

    淺析ARM處理器的power架構(gòu)

    的power mode和cluster的power mode。1、core的power modepower mode有以下一些模式:可見,在DynamiQ架構(gòu)下的power,core的power模式,有多種
    發(fā)表于 03-31 11:24

    Arm DynamIQ共享單元技術(shù)參考手冊

    DynamIQ? 共享單元(DSU)包括支持DynamIQ的L3存儲系統(tǒng)、控制邏輯和外部接口? 簇DynamIQ? 集群微體系結(jié)構(gòu)將一個(gè)或多個(gè)核心與DSU集成,以形成一個(gè)集群,該集群實(shí)現(xiàn)為指定的配置
    發(fā)表于 08-08 06:48

    ARM Dynamiq共享單元-120型技術(shù)參考手冊

    DynamIQ? 共享單元-120(DSU-120)提供了一個(gè)共享的L3存儲系統(tǒng)、窺探控制和過濾以及其他控制邏輯,以支持a級架構(gòu)核心的集群。該集群被稱為DSU-120 DynamIQ? 簇此外,片上系統(tǒng)(SoC)的所有外部接口均
    發(fā)表于 08-08 06:29

    ARM Dynamiq?共享單元-110型技術(shù)參考手冊

    DynamIQ? 共享單元-110(DSU-110)提供了一個(gè)共享的L3內(nèi)存系統(tǒng)、窺探控制和過濾以及其他控制邏輯,以支持a級架構(gòu)核心的集群。該集群被稱為DSU-110 DynamIQ? 簇此外,到片上系統(tǒng)(SoC)的所有外部接口
    發(fā)表于 08-10 07:52

    DynamIQ世界中的big.LITTLE

    ARM DynamIQ 技術(shù)于近期發(fā)布,因其對 big.LITTLE 技術(shù)未來發(fā)展的影響而引起了科技行業(yè)和“技術(shù)愛好者”的強(qiáng)烈興趣。簡而言之,big.LITTLE 成為了 DynamIQ 技術(shù)中的一部分。那么現(xiàn)在讓我們回過頭來,從一個(gè)更大的范圍,看看這其中的關(guān)系。
    發(fā)表于 04-14 16:36 ?1289次閱讀
    <b class='flag-5'>DynamIQ</b>世界中的big.LITTLE

    解讀ARM架構(gòu)最新的DynamIQ技術(shù),人工智能和VR

    ARM DynamIQ 技術(shù)于近期發(fā)布,因其對 big.LITTLE 技術(shù)未來發(fā)展的影響而引起了科技行業(yè)和“技術(shù)愛好者”的強(qiáng)烈興趣。簡而言之,big.LITTLE 成為了 DynamIQ 技術(shù)中的一部分。那么現(xiàn)在讓我們回過頭來,從一個(gè)更大的范圍,看看這其中的關(guān)系。
    發(fā)表于 04-21 16:54 ?1018次閱讀

    big.LITTLE 和DynamIQ有什么關(guān)系?DynamIQ big.LITTLE 有什么好處?

    ARM DynamIQ 技術(shù)于近期發(fā)布,因其對 big.LITTLE 技術(shù)未來發(fā)展的影響而引起了科技行業(yè)和技術(shù)愛好者的強(qiáng)烈興趣。簡而言之,big.LITTLE 成為了 DynamIQ 技術(shù)中的一部分
    發(fā)表于 07-10 10:51 ?5831次閱讀

    什么是 Cache? Cache讀寫原理

    由于寫入數(shù)據(jù)和讀取指令分別通過 D-Cache 和 I-Cache,所以需要同步 D-Cache 和 I-Cache,即復(fù)制后需要先將 D-Cach
    發(fā)表于 12-06 09:55 ?3523次閱讀