在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1304|回复: 0

[资料] 协处理器指令——协处理器的数据操作

[复制链接]
发表于 2016-1-8 14:17:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

ARM支持的16个协处理器,用于各种协处理器操作,最常使用的协处理器是用于控制片上功能的系统协处理器,例如控制ARM720上的高速缓存存储器管理单元等,也开发了浮点ARM协处理器,还可以开发专用的协处理器。在程序执行过程中,每个协处理器忽略属于ARM处理器核其他协处理器的指令。当一个协处理器硬件不能执行属于它的协处理器指令时,将产生未定义指令异常中断。在该异常中断处理程序时,可通过软件模拟该硬件操作。例如,如果系统中不包含向量浮点运算器,则可选择浮点运算软件模拟包来支持向量浮点运算。

如,如果系统不包含向量浮点运算器,则可选择浮点运算软件模拟包来支持向量浮点运算。

ARM协处理器指令根据其用途主要分为以下3类:

用于ARM处理器初始化ARM协处理器的数据操作指令;

用于ARM处理器的寄存器和ARM协处理器间的数据传送指令;

用于ARM协处理器的寄存器和内存单元之间的传送数据。

1.
协处理器的数据操作

协处理器数据操作完全是协处理器内部的操作,它完成协处理器寄存器的状态改变。一个例子是浮点加法,在浮点协处理器中2个寄存器相加,结果放在第3个寄存器。这些指令用于控制数据在协处理器寄存器内部的操作。标准格式遵循ARM整数数据处理指令的3地址形式,但是所有协处理器域可能会有其他解释。

二进制编码

协处理器数据处理指令的二进制编码如图:

QQ截图20160108135544.png

说明

ARM对可能存在的任何协处理器提供这条指令。如果它被一个协处理器接受,则ARM继续执行下一条;如果它没有被接受,则ARM将产生未定义中止的陷阱(可用来实现“协处理器丢失”的软件仿真)。

通称,与协处理器编号CP#一致的协处理器将接受指令,执行由Cop1和Cop2域定义的操作,使用CRn和CRm作为源操作数,并将结果放到CRd。其中,Cop1和Cop2为协处理器操作码,CRn、CRm和CRd均为协处理器的寄存器,指令中不涉及ARM处理器的寄存器和存储器。

汇编格式

CDP{<cond>}<CP#>,<Cop1>,CRd,CRn,CRm{,<Cop2>}

举例

CDP     P5,2,C12,C10,C3,4      ;协处理器p5的操作初始化。其中,


;操作码1为2,操作码2为4,目标寄存器


;为C12,源操作寄存器为C10和C3

注意事项

对于Cop1、CRn、CRd、Cop2和CRm域的解释与协处理器有关。以上解释是推荐的用法,它最大程度地与ARM开发工具兼容。

凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-29 16:56 , Processed in 0.039464 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表