新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:協(xié)處理器CP15

ARM存儲(chǔ)器之:協(xié)處理器CP15

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

本文引用地址:http://2s4d.com/article/257013.htm

(2)Cache類型標(biāo)識(shí)符寄存器

如前所述,對(duì)于指令MRC來說,當(dāng)寄存器為r0,而第二操作數(shù)opcode2為0b001時(shí),指令讀取值為Cache類型,即可以用下面的指令將處理器的Cache類型標(biāo)識(shí)符寄存器的內(nèi)容讀取到寄存器r0中。

MR,0,r0,c0,c0,1

Cache類型標(biāo)識(shí)符定義了關(guān)于Cache的信息,具體內(nèi)容如下所述。

·系統(tǒng)中的數(shù)據(jù)Cache和指令Cache是分開的還是統(tǒng)一的。

·Cache的容量、塊大小以及相聯(lián)特性。

·Cache類型是直(write-through)寫還是回寫(write-back)。

·對(duì)于回寫(write-back)類型的Cache如何有效清除Cache內(nèi)容。

·Cache是否支持內(nèi)容鎖定。

Cache類型標(biāo)識(shí)符寄存器各控制字段的含義編碼格式如圖15.5所示。

圖15.5Cache屬性寄存器標(biāo)識(shí)符編碼格式

其中各控制字段的含義說明如下。

屬性字段(ctype):指定沒有在S位、數(shù)據(jù)Cache相關(guān)屬性位、指令Cache相關(guān)屬性類中指定的屬性,其具體編碼參見表15.7。

表15.7 Cache類型標(biāo)識(shí)符寄存器屬性字段含義

編碼

Cache類型

Cache內(nèi)容清除方法

Cache內(nèi)容鎖定方法

0b0000

直寫

不需要內(nèi)容清除

不支持

0b0001

回寫

數(shù)據(jù)塊讀取

不支持

0b0010

回寫

由寄存器定義

不支持

0b0110

回寫

由寄存器定義

支持格式A,見后

0b0111

回寫

由寄存器定義

支持格式B,見后

S位:定義系統(tǒng)中的數(shù)據(jù)Cache和指令Cache是分開的還是統(tǒng)一的。如果S=0,說明指令Cache和數(shù)據(jù)Cache是統(tǒng)一的,如果S=1,則說明數(shù)據(jù)Cache和指令Cache是分離的。

數(shù)據(jù)Cache相關(guān)屬性:定義了數(shù)據(jù)Cache容量、行大小和相聯(lián)(associativity)特性(如果S≠0)。

指令Cache相關(guān)屬性:定義了指令Cache容量、行大小和相聯(lián)(associativity)特性(如果S≠0)。

數(shù)據(jù)Cache相關(guān)屬性和指令Cache相關(guān)屬性分別占用控制字段[23:12]和[11:0],它們的結(jié)構(gòu)相同,圖15.6以指令Cache為例,顯示了編碼結(jié)構(gòu)。

圖15.6指令Cache編碼結(jié)構(gòu)

其中,各部分的含義說明如下。

bit[11:9]:保留用于將來使用。

bit[8:6]:定義Cache的容量,其編碼格式及含義如表15.8所示。

表15.8 類型標(biāo)識(shí)符寄存器控制字段bit[8:6]含義

編碼

M=0時(shí)的含義

M=1時(shí)的含義

0b000

0.5KB

0.75KB

0b001

1KB

1.5KB

0b010

2KB

3KB

0b011

4KB

6KB

續(xù)表

編碼

M=0時(shí)的含義

M=1時(shí)的含義

0b100

8KB

12KB

0b101

16KB

24KB

0b110

32KB

48KB

0b111

64KB

96KB



評(píng)論


相關(guān)推薦

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

關(guān)閉