协处理器
图片ARM体系结构允许通过增加协处理器来扩展指令集。最常用的协处理器是用于控制片上功能的系统协处理器。
例如,控制Cache和存储管理单元MMU的CP15协处理器、设置异常向量表地址的mcr指令。
ARM支持16个协处理器,在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器指令,当一个协处理器硬件不能执行属于她的协处理器指令时,就会产生一个未定义的异常中断,在异常中断处理程序中,可以通过软件模拟该硬件的操作,比如,如果系统不包含向量浮点运算器,则可以选择浮点运算软件模拟包来支持向量浮点运算。
ARM协处理器指令包括如下三类:
用于ARM处理器初始化ARM协处理器的数据操作
用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作
用于在ARM协处理器的寄存器和内存单元之间传送数据
这些指令包括如下5条:
CDP协处理器数据操作指令
LDC协处理器数据读入指令
STC协处理器数据写入指令
MCR ARM寄存器到协处理器寄存器的数据传送指令
MRC 协处理器寄存器到ARM寄存器的数据传送指令
|