新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:高速緩沖存儲器Cache

        ARM存儲器之:高速緩沖存儲器Cache

        作者: 時間:2013-09-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257011.htm

        (2)寄存器c7

        CP15中的寄存器c7主要用于控制Cache和寫緩存。

        注意

        c7有時也用于其他相似的功能,如果系統中存在預測緩存(prefetchbuffers)和分支目標(branchtarget)Cache,c7也將負責對它們進行控制。

        c7是一個只寫存儲器,可以使用協處理器指令MCR對其進行操作。如果程序中包含讀c7的操作,那么指令的結果不可預知。

        使用MCR指令寫該寄存器的命令格式如下所示。

        MCRP15,0,Rd>,c7>,CRm>,opcode2>

        其中,CRm和opcode2的不同組合,決定指令執行的不同操作。具體組合與操作的對應關系見表15.15。

        表15.15 CRm與opcode2不同組合與操作的應用關系

        CRm

        Opcode2

        含義

        數據

        c0

        4

        等待中斷

        0(SBZ,shouldbezero)

        c5

        0

        使整個指令Cache無效

        0

        c5

        1

        使指令Cache中某行無效

        虛擬地址

        c5

        2

        使指令Cache中某行無效

        組號/索引

        c5

        4

        清空預取緩存區

        0

        c5

        6

        清空整個分支目標Cache

        0

        c5

        7

        清空分支目標Cache中的某入口項

        生產商定義

        c6

        0

        使整個數據Cache無效

        0

        續表

        CRm

        Opcode2

        含義

        數據

        c6

        1

        使數據Cache中的某行無效

        虛擬地址

        c6

        2

        使數據Cache中的某行無效

        組號/索引

        c7

        0

        使整個統一Cache無效

        哈佛結構中,使整個數據Cache和指令Cache無效

        0

        c7

        1

        使統一Cache中某行無效

        虛擬地址

        c7

        2

        使統一Cache中某行無效

        組號/索引

        c8

        2

        等待中斷

        0

        c10

        1

        清理數據Cache行

        虛擬地址

        c10

        2

        清理數據Cache行

        組號/索引

        c10

        4

        清除寫緩存區

        0

        c11

        1

        清理統一Cache行

        虛擬地址

        c11

        2

        清理統一Cache行

        組號/索引

        c13

        1

        預取指令Cache中的某行

        虛擬地址

        c14

        1

        清理并使數據Cache中的某行無效

        虛擬地址

        c14

        2

        清理并使數據Cache中的某行無效

        組號/索引

        c15

        1

        清理并使統一Cache中的某行無效

        虛擬地址

        c15

        2

        清理并使統一Cache中的某行無效

        組號/索引

        (3)寄存器c9

        將Cache進入存儲系統的注意目的是要提高系統的平均訪問速度。但Cache是一把雙刃劍,在某些情況下,可能使系統的性能更遭。下面列出了3種使Cache性能明顯下降的原因。

        ①Cache訪問未命中,處理器轉向主存尋址數據,這期間的延時對系統性能影響很大。

        ②在回寫型Cache中,如果Cache中的數據所在地址被存儲管理單元重新定位(即Cache中存儲的為虛地址數據),那么數據回寫的操作延時很大。

        ③當處理器需要一個字節數據,而此數據恰好不在Cache中,那么Cache的替換策略就會將整個Cache行換進,增加了系統不必要的開銷。

        存儲器相關文章:存儲器原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南漳县| 绥江县| 黑河市| 安仁县| 贵德县| 香港 | 灌南县| 博罗县| 长子县| 山阳县| 五寨县| 淮安市| 磐安县| 垫江县| 甘孜县| 正宁县| 广宁县| 福建省| 原阳县| 连云港市| 陆川县| 湘潭县| 密山市| 涟水县| 成安县| 那曲县| 卫辉市| 宝山区| 永清县| 宾川县| 德惠市| 兴安县| 如东县| 田阳县| 进贤县| 清丰县| 亚东县| 响水县| 井冈山市| 赤水市| 石林|