新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

        ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

        作者: 時(shí)間:2013-09-30 來源:網(wǎng)絡(luò) 收藏

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

        (2)寄存器c7

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

        注意

        c7有時(shí)也用于其他相似的功能,如果系統(tǒng)中存在預(yù)測(cè)緩存(prefetchbuffers)和分支目標(biāo)(branchtarget)Cache,c7也將負(fù)責(zé)對(duì)它們進(jìn)行控制。

        c7是一個(gè)只寫存儲(chǔ)器,可以使用協(xié)處理器指令MCR對(duì)其進(jìn)行操作。如果程序中包含讀c7的操作,那么指令的結(jié)果不可預(yù)知。

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

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

        其中,CRm和opcode2的不同組合,決定指令執(zhí)行的不同操作。具體組合與操作的對(duì)應(yīng)關(guān)系見表15.15。

        表15.15 CRm與opcode2不同組合與操作的應(yīng)用關(guān)系

        CRm

        Opcode2

        含義

        數(shù)據(jù)

        c0

        4

        等待中斷

        0(SBZ,shouldbezero)

        c5

        0

        使整個(gè)指令Cache無效

        0

        c5

        1

        使指令Cache中某行無效

        虛擬地址

        c5

        2

        使指令Cache中某行無效

        組號(hào)/索引

        c5

        4

        清空預(yù)取緩存區(qū)

        0

        c5

        6

        清空整個(gè)分支目標(biāo)Cache

        0

        c5

        7

        清空分支目標(biāo)Cache中的某入口項(xiàng)

        生產(chǎn)商定義

        c6

        0

        使整個(gè)數(shù)據(jù)Cache無效

        0

        續(xù)表

        CRm

        Opcode2

        含義

        數(shù)據(jù)

        c6

        1

        使數(shù)據(jù)Cache中的某行無效

        虛擬地址

        c6

        2

        使數(shù)據(jù)Cache中的某行無效

        組號(hào)/索引

        c7

        0

        使整個(gè)統(tǒng)一Cache無效

        哈佛結(jié)構(gòu)中,使整個(gè)數(shù)據(jù)Cache和指令Cache無效

        0

        c7

        1

        使統(tǒng)一Cache中某行無效

        虛擬地址

        c7

        2

        使統(tǒng)一Cache中某行無效

        組號(hào)/索引

        c8

        2

        等待中斷

        0

        c10

        1

        清理數(shù)據(jù)Cache行

        虛擬地址

        c10

        2

        清理數(shù)據(jù)Cache行

        組號(hào)/索引

        c10

        4

        清除寫緩存區(qū)

        0

        c11

        1

        清理統(tǒng)一Cache行

        虛擬地址

        c11

        2

        清理統(tǒng)一Cache行

        組號(hào)/索引

        c13

        1

        預(yù)取指令Cache中的某行

        虛擬地址

        c14

        1

        清理并使數(shù)據(jù)Cache中的某行無效

        虛擬地址

        c14

        2

        清理并使數(shù)據(jù)Cache中的某行無效

        組號(hào)/索引

        c15

        1

        清理并使統(tǒng)一Cache中的某行無效

        虛擬地址

        c15

        2

        清理并使統(tǒng)一Cache中的某行無效

        組號(hào)/索引

        (3)寄存器c9

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

        ①Cache訪問未命中,處理器轉(zhuǎn)向主存尋址數(shù)據(jù),這期間的延時(shí)對(duì)系統(tǒng)性能影響很大。

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

        ③當(dāng)處理器需要一個(gè)字節(jié)數(shù)據(jù),而此數(shù)據(jù)恰好不在Cache中,那么Cache的替換策略就會(huì)將整個(gè)Cache行換進(jìn),增加了系統(tǒng)不必要的開銷。

        存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理




        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 鹿邑县| 平乐县| 察隅县| 苗栗市| 博湖县| 伊金霍洛旗| 额敏县| 丹寨县| 成都市| 黑河市| 福建省| 句容市| 昌江| 高州市| 齐齐哈尔市| 界首市| 高邑县| 惠水县| 永年县| 哈密市| 溧水县| 富民县| 塘沽区| 漠河县| 松滋市| 茂名市| 瑞丽市| 商洛市| 囊谦县| 裕民县| 冀州市| 哈巴河县| 太仆寺旗| 锡林浩特市| 樟树市| 永定县| 灵丘县| 太白县| 滕州市| 海晏县| 紫金县|