, ,
MCR{
其中:
< opcode_1>为协处理器将执行的操作的操作码。对于CP15协处理器来说,opcode_1永远为0b000,当 opcode_1不为0b000时,该指令操作结果不可预知。
MRC指令
MRC指令将协处理器的寄存器中的数值传送到ARM处理器的寄存器中、如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。
指令语法格式:
MRC{
MRC{
CP15中的寄存器介绍
寄存器 C1
CP15中的寄存器C1是一个控制寄存器,它包括以下控制功能:
禁止或使能MMU以及其他与存储系统相关的功能
配置存储系统以及ARM处理器中的相关部分的工作
指令如下:
mrc p15, 0, r0, c1, c0{, 0} ;将 CP15 的寄存器 C1 的值读到 r0 中
mcr p15, 0, r0, c1, c0{, 0} ;将 r0 的值写到 CP15 的寄存器 C1 中
CP15 中的寄存器 C1 的编码格式及含义说明如下:
寄存器7:Cache Operations
该寄存器是只写寄存器,用于管理指令缓存和数据缓存。
对该寄存器的写操作所实现的功能,是通过MCR指令中的opcode_2和CRm两者的组合来选择的,具体组合如下。
寄存器8:TLB Operations
系统协处理器CP15的寄存器C8是一个只写的寄存器,被用于管理(Translation Lookaside Buffer:传输后备缓冲器)。TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存。有 the instruction TLB 和 the data TLB.
原作者:aoXiaMi
更多回帖