新聞中心

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

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

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

本文引用地址:http://m.butianyuan.cn/article/257011.htm

(2)寄存器c7

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

注意

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

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

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

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

其中,CRm和opcode2的不同組合,決定指令執(zhí)行的不同操作。具體組合與操作的對應(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

使整個指令Cache無效

0

c5

1

使指令Cache中某行無效

虛擬地址

c5

2

使指令Cache中某行無效

組號/索引

c5

4

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

0

c5

6

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

0

c5

7

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

生產(chǎn)商定義

c6

0

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

0

續(xù)表

CRm

Opcode2

含義

數(shù)據(jù)

c6

1

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

虛擬地址

c6

2

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

組號/索引

c7

0

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

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

0

c7

1

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

虛擬地址

c7

2

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

組號/索引

c8

2

等待中斷

0

c10

1

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

虛擬地址

c10

2

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

組號/索引

c10

4

清除寫緩存區(qū)

0

c11

1

清理統(tǒng)一Cache行

虛擬地址

c11

2

清理統(tǒng)一Cache行

組號/索引

c13

1

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

虛擬地址

c14

1

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

虛擬地址

c14

2

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

組號/索引

c15

1

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

虛擬地址

c15

2

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

組號/索引

(3)寄存器c9

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

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

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

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

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




關(guān)鍵詞: ARM 高速緩沖存儲器 cache

評論


相關(guān)推薦

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

關(guān)閉