91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

在組相聯(lián)cache中,用于替換cache line的算法有哪些?

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-10-08 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 在組相聯(lián)cache中,用于替換cache line的算法有哪些?

  • LRU(Least Recently Used)算法:該算法會跟蹤每個cache line的age(年齡)情況,并在需要時替換掉近期最少使用的cache line。
  • MRU(Most Recently Used)算法:這與LRU相反,最年輕的cache line會優(yōu)先被替換掉。
  • PLRU(Pseudo LRU)算法:這與LRU相似,它沒有age跟蹤cache line(這樣開銷較大),只有1個或2個bit來跟蹤cache line使用情況。
  • LFU(Least Frequently Used)算法:該算法會跟蹤一個cache line訪問的頻率,并決定替換使用次數(shù)最少的cache line。
  • Random replacement算法:該算法不存儲任何信息,當需要替換時隨機選擇一個cache line。

2. Cache coherency的問題是什么?

在SMP(Shared Multiprocessor systems)中,多個處理器都有自己的cache,同一數(shù)據(jù)(同一地址)的多個副本可能同時存在于不同的cache中。如果允許每個處理器自由更新cache,則可能導(dǎo)致數(shù)據(jù)一致性被破壞了。例如:如果允許兩個處理器向相同的地址寫入值,那么在不同的處理器上讀取相同的地址可能會看到不同的值。

3. 基于snoop的緩存一致性協(xié)議和基于directory的緩存一致性協(xié)議有什么區(qū)別?

在基于Snoop的一致性協(xié)議中,來自處理器的數(shù)據(jù)請求被發(fā)送到共享系統(tǒng)里的所有其它處理器。其它處理器根據(jù)這個請求查看自己是否有數(shù)據(jù)的副本,并做出相應(yīng)的響應(yīng)。因此,每個處理器都試圖保持內(nèi)存的一致性視圖。

在基于directory的一致性協(xié)議中,directory用于跟蹤哪些處理器正在訪問和緩存哪些地址。任何發(fā)出新請求的處理器都將檢查該directory,以了解是否有任何其它處理器用于數(shù)據(jù)副本,然后可以向該處理器發(fā)送點到點請求,以獲取最新的數(shù)據(jù)副本。

兩者的優(yōu)缺點為:基于snoop的一致性協(xié)議用于較小的系統(tǒng)的話,如果有足夠的帶寬用于傳遞請求,它會更快。但對于較大的SMP系統(tǒng)不具有可伸縮性,因此需要為每個請求廣播消息,可能會使系統(tǒng)過載阻塞?;赿irectory的一致性協(xié)議由于在發(fā)送消息之前需要查找記錄的表,可能會有較長的延遲。但它沒有廣播消息,可伸縮性更好,通常用于較大的SMP系統(tǒng)中。

4. 什么是MESI協(xié)議?

MESI協(xié)議是具有多個write-back 類型cache的設(shè)計中最常用的cache一致性協(xié)議。MESI表示在所有cache中跟蹤每個cache line并用于響應(yīng)snoop請求的狀態(tài)。這些不同的狀態(tài)可以解釋如下:

  • M(Modified):表示cache line數(shù)據(jù)相對于memory數(shù)據(jù)被修改過了,為dirty的。
  • E(Exclusive):此狀態(tài)表示cache line數(shù)據(jù)相對于內(nèi)存是clean的,且只在該cache中存在。Exclusive屬性允許該cache所在的處理器對該cache line進行寫操作。
  • S(Shared):該狀態(tài)表示cache line被多個cache共享,并且相對memory也是clean的。由于這是在所有cache共享的,因此協(xié)議不允許直接對該cache line進行寫操作。
  • I(Invalid):該狀態(tài)表示cache line無效,沒有任何有效數(shù)據(jù)。
  • 當cache line處于除Invalid之外的任何狀態(tài)時,cache都可以處理讀請求。當cache line處于Modified或Exclusive狀態(tài)時,才可以處理寫請求。

5. 什么是MESIF和MOESIF協(xié)議?

這兩個協(xié)議都是MESI協(xié)議的擴展,引入了兩個新的狀態(tài)”F”和”O(jiān)”,解釋如下:

  • F(Forward):F狀態(tài)時S狀態(tài)的一種特殊形式,表明cache應(yīng)該通過轉(zhuǎn)發(fā)數(shù)據(jù)來充當給定cache line的任何請求的指定反饋者。如果系統(tǒng)中有多個cache具有處于S狀態(tài)的同一cache line,則將其中一個指定為F狀態(tài),以便為來自不同處理器的新請求轉(zhuǎn)發(fā)數(shù)據(jù)。該協(xié)議確保,如果任何cache保存的cache line為S狀態(tài),那么最多只有一個(其他)cache保存的cache line為F狀態(tài)。這種狀態(tài)有助于減少對memory帶寬的占用,因為沒有F狀態(tài),即使一條cache line在多個cache中處于S狀態(tài),它們都不能將數(shù)據(jù)轉(zhuǎn)發(fā)給請求讀或?qū)懙牟煌幚砥?。(請注意,cache中的S狀態(tài)cache line只能服務(wù)于相同的處理器讀?。?/li>
  • O(Owned):O狀態(tài)時一種特殊的狀態(tài),它是為了在不需要寫回memory的情況下在系統(tǒng)的不同cache中移動修改過的或dirty的數(shù)據(jù)而引入的。如果cache line還與其它可以使cache line保持S狀態(tài)的cache共享,則cache line需要從M狀態(tài)轉(zhuǎn)換到O狀態(tài)。O狀態(tài)有助于將修改后的數(shù)據(jù)推遲寫回memory,直到真正需要時再寫。

6. 什么是RFO?

RFO代表Read for Ownership。這是cache一致性協(xié)議中的一種操作。它是由處理器試圖寫入共享或無效狀態(tài)的cache line時發(fā)出的,這將導(dǎo)致所有其它處理器將該cache line的狀態(tài)設(shè)置為Invalid。RFO是意圖寫入該memory地址的讀操作。因此,該操作是排他的,它將數(shù)據(jù)讀到cache中,并使持有該memory地址的所有其它處理器的cache無效掉這個cache line。

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

    關(guān)注

    68

    文章

    20261

    瀏覽量

    252631
  • 存儲器
    +關(guān)注

    關(guān)注

    39

    文章

    7739

    瀏覽量

    171742
  • SMP
    SMP
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    20842
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    499

    瀏覽量

    29170
  • cache技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    什么是“TKU”( Dubhe-80 )?

    Interface 我目前的猜測是,T 可能代表張量(如機器學(xué)習(xí)),而 K 可能是用于神經(jīng)網(wǎng)絡(luò)的內(nèi)核(代數(shù))。但 T 也可以代表 Trusted,K 也可以代表 Keys,所以有人知道 TKU 到底是什么?
    發(fā)表于 02-25 07:11

    【ESP32-C2系列】WT018684-S1/S1U模組規(guī)格書

    概述1特性01MCU內(nèi)置ESP8684系列芯片,32位RISC-V單核處理器,支持高達120MHz的時鐘頻率576KBROM272KBSRAM(其中16KB專用于cache)SIPflash引入
    的頭像 發(fā)表于 02-04 18:20 ?171次閱讀
    【ESP32-C2系列】WT018684-S1/S1U模組規(guī)格書

    【ESP32-C2系列】WT018684-S5/S5U模組規(guī)格書

    概述1特性01MCU內(nèi)置ESP8684系列芯片,32位RISC-V單核處理器,支持高達120MHz的時鐘頻率576KBROM272KBSRAM(其中16KB專用于cache)SIPflash引入
    的頭像 發(fā)表于 02-04 18:20 ?178次閱讀
    【ESP32-C2系列】WT018684-S5/S5U模組規(guī)格書

    【ESP32-C2系列】WT018684-S5/S5U模組產(chǎn)品介紹

    概述1特性01MCU內(nèi)置ESP8684系列芯片,32位RISC-V單核處理器,支持高達120MHz的時鐘頻率576KBROM272KBSRAM(其中16KB專用于cache)SIPflash引入
    的頭像 發(fā)表于 01-28 18:20 ?364次閱讀
    【ESP32-C2系列】WT018684-S5/S5U模組產(chǎn)品介紹

    【ESP32-C2系列】WT018684-S1/S1U模組產(chǎn)品介紹

    概述1特性01MCU內(nèi)置ESP8684系列芯片,32位RISC-V單核處理器,支持高達120MHz的時鐘頻率576KBROM272KBSRAM(其中16KB專用于cache)SIPflash引入
    的頭像 發(fā)表于 01-28 18:19 ?652次閱讀
    【ESP32-C2系列】WT018684-S1/S1U模組產(chǎn)品介紹

    滑動平均濾波器介紹

    滑動平均濾波器工程十分常見,這里用C語言設(shè)計一個靈活的滑動濾波器庫函數(shù),十分簡單易用,并且濾波器不使用for循環(huán),大大減少了代碼運行時間。 并且濾波器可以使用malloc自動申請內(nèi)存,也可以不使
    發(fā)表于 01-23 08:18

    請問030系列集成的PreFetch 和 Cache怎么用呀?

    各位大佬,030系列集成的PreFetch 和 Cache怎么用呀?有這方面的demo或者pdf操作流程么?
    發(fā)表于 01-19 07:07

    提高系統(tǒng)效率幾個誤解解析

    :CPU用大一點的CACHE,就應(yīng)該快了 點 評:CACHE的增大,并不一定就導(dǎo)致系統(tǒng)性能的提高,某些情況下關(guān)閉CACHE反而比使用CACHE
    發(fā)表于 12-15 06:09

    采用Prefetch+Cache架構(gòu)什么優(yōu)勢?

    我看官方說,采用Prefetch+Cache架構(gòu)同頻CoreMark 計算力/功耗比超越同類產(chǎn)品,這優(yōu)勢就是低功耗么?要是具體芯片比較的話,應(yīng)該怎么比?
    發(fā)表于 12-11 07:35

    gd32h737 開啟cache程序跑飛是哪里的問題?

    gd32h737 rtthread 4.1.1版本上運行,開啟cache功能,程序跑飛,JLink連接失敗的。錯誤信息沒有。配置方式的說明嗎? /*! briefenable the CPU
    發(fā)表于 09-11 08:28

    STM32H7的MPU配置與D-Cache沖突如何解決???

    現(xiàn)象??: STM32H743 MPU 與 D-Cache 沖突問題詳細描述** 硬件環(huán)境 MCU 型號 :STM32H743VIT6 開發(fā)板 :自定義板(或 STM32H743I-EVAL 等
    發(fā)表于 06-23 17:32

    MCU緩存設(shè)計

    從Flash或外部存儲器讀取的指令,減少CPU因等待指令加載而停滯,適用于實時性要求高的場景(如中斷服務(wù)程序)。 D-Cache?:緩存從Flash、SRAM或外部存儲器讀取的數(shù)據(jù),加速變量與堆棧的讀寫操作。 TCM(緊耦合內(nèi)存)?:部分MCU(如STM32H743)設(shè)置
    的頭像 發(fā)表于 05-07 15:29 ?1139次閱讀

    請問RTD3.0.0修改bootloader的鏈接器的正確程序是什么?

    我正在嘗試更新鏈接器,以便我的應(yīng)用程序可以與 uds bootloader 2.0.0 一起使用。但是,每當我鏈接器中進行更改時,應(yīng)用程序啟動都會失敗。我在這里的問題是修改 bootloader
    發(fā)表于 04-14 13:29

    如何在NXP MCU上啟用D-Cache?

    Data Cache,我已經(jīng)能夠減少其他 MCU 的推理時間。我想知道如何在 NXP MCU 上啟用 D-Cache。任何其他性能提升策略也受到歡迎。
    發(fā)表于 03-27 07:48

    國產(chǎn)電壓基準源替換REF3025工業(yè)電源管理應(yīng)用替換方案

    國產(chǎn)電壓基準源替換REF3025工業(yè)電源管理應(yīng)用替換方案
    的頭像 發(fā)表于 03-19 09:44 ?1203次閱讀
    國產(chǎn)電壓基準源<b class='flag-5'>替換</b>REF3025<b class='flag-5'>在</b>工業(yè)電源管理應(yīng)用<b class='flag-5'>中</b>的<b class='flag-5'>替換</b>方案