Chinaunix首页 | 论坛 | 博客

分类: 嵌入式

2013-03-10 14:44:58

转自:

协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务

ARM 微处理器可支持多达 16 个协处理器用于各种协处理操作。

在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。

ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。

 

ARM协处理器包括以下5条:  

CDP:协处理器数操作指令。  

LDC:协处理器数据加载指令。  

STC:协处理器存储指令。  

MCR:ARM处理器寄存器到协处理器寄存器的数据传送指令。(ARM->协)  

MRC:协处理器寄存器到ARM处理器寄存器的数据传送指令。(协->ARM)


MRC 指令的格式为:  

MRC{条件}   协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理器操作码2


MRC 指令用于将协处理器寄存器中的数据传送到ARM 处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。

其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器为ARM 处理器的寄存器,源寄存器1 和源寄存器2 均为协处理器的寄存器。


例:MRC P3 ,3 ,R0,C4 ,C5 , 6 ;该指令将协处理器 P3 的寄存器中的数据传送到 ARM 处理器寄存器中。
MRC    p2,5,r3,c5,c6
协处理器p2把c5和c6经过5操作的结果赋给r3
MCR    p6,0,r4,c5,c6
协处理器p6把r4执行0操作后将结果存放进c6
MRC    p3,9,r3,c5,c6,2
协处理器p3把c5和c6经过9操作(类型2)的结果赋给r3

阅读(874) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~