<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM存儲器之:協(xié)處理器CP15

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

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

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

bit[1:0]:定義Cache的塊大小,其編碼格式及含義如表15.9所示。

表15.9 類(lèi)型標識符寄存器控制字段bit[1:0]含義

編碼

Cache塊大小

0b00

2個(gè)字(8字節)

0b01

4個(gè)字(16字節)

0b10

8個(gè)字(32字節)

0b11

16個(gè)字(64字節)

bit[5:3]:定義了Cache的相聯(lián)屬性,其編碼格式及含義如表15.10所示。

表15.10 類(lèi)型標識符寄存器控制字段bit[5:3]含義

編碼

M=0時(shí)的含義

M=1時(shí)的含義

0b000

1路相聯(lián)

(直接映射)

沒(méi)有Cache

0b001

2路相聯(lián)

3路相聯(lián)

0b010

4路相聯(lián)

6路相聯(lián)

0b011

8路相聯(lián)

12路相聯(lián)

0b100

16路相聯(lián)

24路相聯(lián)

0b101

32路相聯(lián)

48路相聯(lián)

0b110

64路相聯(lián)

96路相聯(lián)

0b111

128路相聯(lián)

192路相聯(lián)

15.1.4寄存器c1

中的寄存器c1包括以下控制功能:

·禁止/使能MMU以及其他與存儲系統有關(guān)的功能;

·配置存儲系統以及處理器中相關(guān)的工作。

注意

在寄存器c1中包含了一些沒(méi)有使用的位,這些位在將來(lái)可能被擴展其他功能時(shí)使用。因此為了編寫(xiě)代碼在將來(lái)更高版本的處理器中仍可以使用,在修改寄存器c1中的位時(shí)應該使用“讀?。薷奶囟ㄎ唬瓕?xiě)入”的操作序列。

當對寄存器c1進(jìn)行讀操作時(shí),指令中CRm和opcode2的值將被處理器忽略,所以要人工將其置位為0。

例15.2用MRC/MCR指令將寄存器c1的值進(jìn)行讀取和寫(xiě)入。

【例15.2】

MR,0,r0,c1,0,0;將寄存器c1的值讀取到寄存器r0中

MCRP15,0,r0,c1,0,0;將ARM寄存器r0的值寫(xiě)入寄存器c1

圖15.7顯示了寄存器c1的編碼格式。

圖15.7寄存器c1編碼格式

寄存器c1各控制字段的含義如表15.11所示。

表15.11 寄存器c1中各控制位字段的含義

C1中的控制位

含義

M(bit[0])

禁止/使能MMU或者M(jìn)PU

0:禁止MMU或者M(jìn)PU

1:使能MMU或者M(jìn)PU

如果系統中沒(méi)有MMU或者M(jìn)PU,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

A(bit[1])

對于可以選擇是否支持內存訪(fǎng)問(wèn)時(shí)地址對齊檢查的系統,本位禁止/使能地址對齊檢查功能

0:禁止地址對齊檢查功能

1:使能地址對齊檢查功能

對寄存器進(jìn)行寫(xiě)操作時(shí),忽略該位

C(bit[2])

當數據Cache和指令Cache分開(kāi)時(shí),本控制位禁止/使能數據Cache。

當數據Cache和指令Cache統一時(shí),該控制位禁止/使能整個(gè)Cache

0:禁止Cache

1:使能Cache

如果系統中不含Cache,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

當系統中Cache不能禁止時(shí),讀取返回1,寫(xiě)入時(shí)忽略

W(bit[3])

禁止/使能寫(xiě)緩存

0:禁止寫(xiě)緩存

1:使能寫(xiě)緩存

如果系統中不含寫(xiě)緩存,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

當系統中的寫(xiě)緩存不能禁止時(shí),讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

P(bit[4])

對于向前兼容26位ARM處理器,本控制位控制PRGC32控制信號

0:異常中斷處理程序進(jìn)入32位地址模式

1:異常中斷處理程序進(jìn)入26位地址模式

如果系統不支持向前兼容26位地址,讀取該位時(shí)返回1,寫(xiě)入時(shí)被忽略

D(bit[5])

對于向前兼容26位ARM處理器,本控制位控制DATA32控制信號

0:禁止26位地址異常檢查

1:使能26位地址異常檢測

如果系統不支持向前兼容26位地址,讀取該位時(shí)返回1,寫(xiě)入時(shí)被忽略

續表

C1中的控制位

含義

L(bit[6])

對于A(yíng)RMv3及以前版本,本控制位可以控制處理器的中止模式

0:選擇早期中止模式

1:選擇后期中止模式

對于以后的處理器讀取該位時(shí)返回1,寫(xiě)入時(shí)忽略

B(bit[7])

對于存儲系統同時(shí)支持大/小端(big-endian/little-endian)的ARM處理器,該控制位配置系統使用哪種內存模式

0:使用小端(little-endian)

0:使用大端(big-endian)

對于只支持小端(little-endian)的系統,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

對于只支持大端(big-endian)的系統,讀取時(shí)該位返回1,寫(xiě)入時(shí)忽略

S(bit[8])

支持MMU的存儲系統中,本控制位用作系統保護

R(bit[9])

支持MMU的存儲系統中,本控制位用作ROM保護

F(bit[10])

本控制位由生產(chǎn)廠(chǎng)商定義

Z(bit[11])

對于支持跳轉預測的ARM系統,本控制位禁止/使能跳轉預測功能

0:禁止跳轉預測功能

1:使能跳轉預測功能

對于不支持跳轉預測的ARM系統,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

I(bit[12])

當數據Cache和指令Cache是分開(kāi)的,本控制位禁止/使能指令Cache

0:禁止指令Cache

1:使能指令Cache

如果系統中使用統一的指令Cache和數據Cache或者系統中不含Cache,讀取該位時(shí)返回0,寫(xiě)入時(shí)忽略該位

當系統中的指令Cache不能禁止時(shí),讀取該位返回1,寫(xiě)入時(shí)忽略該位

V(bit[13])

支持高端異常向量表的系統中,本控制位控制向量表的位置

0:選擇0x00000000~0x0000001c

1:選擇0Xffff0000~0xffff001c

對于不支持高端中斷向量表的系統,讀取時(shí)返回0,寫(xiě)入時(shí)忽略

RR(bit[14])

如果系統中Cache的淘汰算法可以選擇的話(huà),本控制位選擇淘汰算法

0:選擇常規的淘汰算法,如隨機淘汰算法

1:選擇預測性的淘汰算法,如輪轉(round-robin)淘汰算法

如果系統中淘汰算法不可選擇,寫(xiě)入該位時(shí)被忽略,讀取該位時(shí),根據其淘汰算法是否可以比較簡(jiǎn)單地預測最壞情況返回1或者0

L4(bit[15])

ARM版本5及以上的版本中,本控制位可以提供兼容以前的ARM版本的功能

0:保持當前ARM版本的正常功能

1:對于一些根據跳轉地址的bit[0]進(jìn)行狀態(tài)切換的指令,忽略bit[0],不進(jìn)行狀態(tài)切換,保持和以前ARM版本兼容

此控制位可以影響以下指令:LDM、LDR和POP

對于A(yíng)RM版本5以前的處理器,該位沒(méi)有使用,應作為UNP/SBZP

對于A(yíng)RM版本5以后的處理器,如果不支持向前兼容的屬性,讀取時(shí)該位返回0,寫(xiě)入時(shí)忽略

Bit(bit[31:16])

這些位保留將來(lái)使用,應為UNP/SBZP


上一頁(yè) 1 2 3 4 5 6 下一頁(yè)

關(guān)鍵詞: ARM 存儲器 協(xié)處理器 CP15 TCM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>