ARM 的 CP15 协处理器的寄存器
访问 CP15 寄存器的指令
访问 CP15 寄存器指令的编码格式及语法说明如下:
31 28 27 24 23 21 2
19 16 15 12 11 8 7 5 4 3 0
cond 1 1 1 0 opcode
L cr n rd 1 1 1 1 opcode
1 crm
说明:
<opcode_1>:协处理器行为操作码,对于 CP15 来说,<opcode_1>永远为 0b000,否则结果未知。
<rd>:不能是 r15/pc,否则,结果未知。
<crn>:作为目标寄存器的协处理器寄存器,编号为 C0~C15。
<crm>:附加的目标寄存器或源操作数寄存器,如果不需要设置附加信息,将 crm 设置为 c0,否则结果未
知。
<opcode_2>:提供附加信息比如寄存器的版本号或者访问类型,用于区分同一个编号的不同物理寄存器,
可以省略<opcode_2>或者将其设置为 0,否则结果未知。
指 令 说 明 语法格式
将
处理器的寄存器中的数据写
到 CP15 中的寄存器中
mcr{<cond>} p15, <opcode_1>, <rd>,
<crn>, <crm>, {<opcode_2>}
将
中的寄存器中的数据读到
ARM 处理器的寄存器中
mcr{<cond>} p15, <opcode_1>, <rd>,
<crn>, <crm>, {<opcode_2>}
4.1.2 CP15 寄存器介绍
CP15 的寄存器列表如表 4-1 所示。
表 4-1 ARM 处理器中 CP15 协处理器的寄存器
寄存器编号 基本作用 在 MMU 中的作用 在 PU 中的作用
0
ID 编码(只读) ID 编码和 cache 类型
1
控制位(可读写) 各种控制位
2
存储保护和控制 地址转换表基地址 Cachability 的控制位
3
存储保护和控制 域访问控制位 Bufferablity 控制位
4
存储保护和控制 保留 保留
5
存储保护和控制 内存失效状态 访问权限控制位
6
存储保护和控制 内存失效地址 保护区域控制
7
高速缓存和写缓存 高速缓存和写缓存控制
8
存储保护和控制 TLB 控制 保留
9
高速缓存和写缓存 高速缓存锁定
10
存储保护和控制 TLB 锁定 保留
11
保留
评论0