C1中的控制位
| 含 义
|
L(bit[6])
| 对于ARMv3及以前版本,本控制位可以控制处理器的中止模式
0:选择早期中止模式
1:选择后期中止模式
对于以后的处理器读取该位时返回1,写入时忽略
|
B(bit[7])
| 对于存储系统同时支持大/小端(big-endian/little-endian)的ARM处理器,该控制位配置系统使用哪种内存模式
0:使用小端(little-endian)
0:使用大端(big-endian)
对于只支持小端(little-endian)的系统,读取时该位返回0,写入时忽略
对于只支持大端(big-endian)的系统,读取时该位返回1,写入时忽略
|
S(bit[8])
| 支持MMU的存储系统中,本控制位用作系统保护
|
R(bit[9])
| 支持MMU的存储系统中,本控制位用作ROM保护
|
F(bit[10])
| 本控制位由生产厂商定义
|
Z(bit[11])
| 对于支持跳转预测的ARM系统,本控制位禁止/使能跳转预测功能
0:禁止跳转预测功能
1:使能跳转预测功能
对于不支持跳转预测的ARM系统,读取时该位返回0,写入时忽略
|
I(bit[12])
| 当数据Cache和指令Cache是分开的,本控制位禁止/使能指令Cache
0:禁止指令Cache
1:使能指令Cache
如果系统中使用统一的指令Cache和数据Cache或者系统中不含Cache,读取该位时返回0,写入时忽略该位
当系统中的指令Cache不能禁止时,读取该位返回1,写入时忽略该位
|
V(bit[13])
| 支持高端异常向量表的系统中,本控制位控制向量表的位置
0:选择0x00000000~0x0000001c
1:选择0Xffff0000~0xffff001c
对于不支持高端中断向量表的系统,读取时返回0,写入时忽略
|
RR(bit[14])
| 如果系统中Cache的淘汰算法可以选择的话,本控制位选择淘汰算法
0:选择常规的淘汰算法,如随机淘汰算法
1:选择预测性的淘汰算法,如轮转(round-robin)淘汰算法
如果系统中淘汰算法不可选择,写入该位时被忽略,读取该位时,根据其淘汰算法是否可以比较简单地预测最坏情况返回1或者0
|
L4(bit[15])
| ARM版本5及以上的版本中,本控制位可以提供兼容以前的ARM版本的功能
0:保持当前ARM版本的正常功能
1:对于一些根据跳转地址的bit[0]进行状态切换的指令,忽略bit[0],不进行状态切换,保持和以前ARM版本兼容
此控制位可以影响以下指令:LDM、LDR和POP
对于ARM版本5以前的处理器,该位没有使用,应作为UNP/SBZP
对于ARM版本5以后的处理器,如果不支持向前兼容的属性,读取时该位返回0,写入时忽略
|
Bit(bit[31:16])
| 这些位保留将来使用,应为UNP/SBZP
|