ARM的CP15协处理器的寄存器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM的CP15协处理器的寄存器

访问CP15寄存器的指令

访问CP15寄存器指令的编码格式及语法说明如下:

1)主标识符寄存器

访问主标识符寄存器的指令格式如下所示:

mrc p15, 0, r0, c0, c0, 0 ;将主标识符寄存器C0,0的值读到r0中ARM不同版本体系处理器中主标识符寄存器的编码格式说明如下。

ARM7之后处理器的主标识符寄存器编码格式如下所示:

ARM7处理器的主标识符寄存器编码格式如下所示:

ARM7之前处理器的主标识符寄存器编码格式如下所示:

控制字段位[23:12]和控制字段位[11:0]的编码格式相同,含义如下所示:

cache容量字段bits[8: 6]的含义如下所示:

cache相联特性字段bits[5: 3]的含义如下所示:

cache块大小字段bits[1: 0]的含义如下所示:

•CP15的寄存器C1

访问主标识符寄存器的指令格式如下所示:

mrc p15, 0, r0, c1, c0{, 0} ;将CP15的寄存器C1的值读到r0中mcr p15, 0, r0, c1, c0{, 0} ;将r0的值写到CP15的寄存器C1中CP15中的寄存器C1的编码格式及含义说明如下:

•CP15的寄存器C2

CP15中的寄存器C2保存的是页表的基地址,即一级映射描述符表的基地址。其编码格如下所示:

mcr p15, 0, , , crm, 的不同取值组合实现不同功能

•CP15中的寄存器C8

CP15的C8寄存器用来控制清除TLB的内容,是只写寄存器,读操作将产生不可预知的后果。

访问CP15的C8寄存器的指令格式如下所示:

mcr p15, 0, , , crm, 的不同取值组合实现不同功能,见第4.2节

•CP15中的寄存器C9

CP15的C9寄存器用于控制cache内容锁定。

访问CP15的C9寄存器的指令格式如下所示:

mcr p15, 0, , , c0,

mrc p15, 0, , , c0,

如果系统中包含独立的指令cache和数据cache,那么对应于数据cache和指令cache分别有一个独立的c ache内容锁定寄存器,用来选择其中的某个寄存器:

=1选择指令cache的内容锁定寄存器;

=0选择数据cache的内容锁定寄存器。

CP15的C9寄存器有A、B两种编码格式。编码格式A如下所示:

•CP15的寄存器C10

CP15的C10寄存器用于控制TLB内容锁定。

访问CP15的C10寄存器的指令格式如下所示:

mcr p15, 0, , , c0,

mrc p15, 0, , , c0,

如果系统中包含独立的指令TLB和数据TLB,那么对应于数据TLB和指令TLB分别有一个独立的TLB内容锁定寄存器,用来选择其中的某个寄存器:

=1选择指令TLB的内容锁定寄存器;

=0选择数据TLB的内容锁定寄存器。

C10寄存器的编码格式如下:

其中,PID表示当前进程的所在的进程空间块的编号,即当前进程的进程标识符,取值为0~127。

0:MVA(变换后的虚拟地址)= VA(虚拟地址),禁止FCSE(快速上下文切换技术),系统复位后PID=0;非0:使能FCSE。

相关文档
最新文档