ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5 条:
— CDP 协处理器数操作指令
— LDC 协处理器数据加载指令
— STC 协处理器数据存储指令
— MCR ARM 处理器寄存器到协处理器寄存器的数据传送指令
— MRC 协处理器寄存器到ARM 处理器寄存器的数据传送指令
1、CDP 指令
CDP 指令的格式为:
CDP{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理 器操作码2。 CDP 指令用于ARM 处理器通知ARM 协处理器执行特定的操作,若协处理器不能成功完成特定的操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器和源寄存器均为协处理器的寄存器,指令不涉及ARM 处理器的寄存器和存储器。
指令示例:
CDP P3 , 2 , C12 , C10 , C3 , 4 ;该指令完成协处理器 P3 的初始化
2、LDC 指令
LDC 指令的格式为:
LDC{条件}{L} 协处理器编码,目的寄存器,[源寄存器]
LDC 指令用于将源寄存器所指向的存储器中的字数据传送到目的寄存器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,{L}选项表示指令为长读取操作,如用于双精度数据的传输。
指令示例:
LDC P3 , C4 , [R0] ;将 ARM 处理器的寄存器 R0 所指向的存储器中的字数据传送到协处理器 P3 的寄存器 C4 中。

3、STC 指令

STC 指令的格式为:

STC{条件}{L} 协处理器编码,源寄存器,[目的寄存器]

STC 指令用于将源寄存器中的字数据传送到目的寄存器所指向的存储器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,{L}选项表示指令为长读取操作,如用于双精度数据的传输。

指令示例:

STC P3 , C4 , [R0] ;将协处理器 P3 的寄存器 C4 中的字数据传送到 ARM 处理器的寄存器R0 所指向的存储器中。

4、MCR 指令

MCR 指令的格式为:

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

MCR 指令用于将ARM 处理器寄存器中的数据传送到协处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,源寄存器为ARM 处理器的寄存器,目的寄存器1 和目的寄存器2 均为协处理器的寄存器。

指令示例:

MCR P3 , 3 , R0 , C4 , C5 , 6 ;该指令将 ARM 处理器寄存器 R0 中的数据传送到协处理器 P3 的寄存器 C4 和 C5 中。

5、MRC 指令

MRC 指令的格式为:

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

MRC 指令用于将协处理器寄存器中的数据传送到ARM 处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器为ARM 处理器的寄存器,源寄存器1 和源寄存器2 均为协处理器的寄存器。

指令示例:

MRC P3 , 3 , R0 , C4 , C5 , 6 ;该指令将协处理器 P3 的寄存器中的数据传送到 ARM 处理器寄存器中.

The ARM920T 有两个具体协处理器

CP14(略)

CP15 —系统控制协处理器 (the system control coprocessor)他通过协处理器指令MCR和MRC提供具体的寄存器来配置和控制caches、MMU、保护系统、配置时钟模式(在 bootloader时钟初始化用到)……

CP15的寄存器只能被MRC和MCR(Move to Coprocessor from ARM Register )指令访问

他包括15个具体的寄存器如下:
-R0:ID号寄存器 这是一个只读寄存器,返回一个32位的设备ID号,32具体功能参考2410 datesheet的 table 2-5

-R0:缓存类型寄存器(CACHE TYPE REGISTER) ,注意有2个R0,根据MCR操作数的不同传送不同的值,这也一个只读寄存器,包含了caches的信息。读这个寄存器的方式是通过设置协处理操作码为 1.

如:

MRC p15,0,Rd,c0,c0,1; 返回caches的详细信息

详见:table 2-6

-R1:控制寄存器 2-10

-R2:转换表基址寄存器(Translation Table Base --TTB) 2-12

-R3:域访问控制寄存器(Domain access control )2-13

-R4:保留 2-14

-R5:异常状态寄存器(fault status -FSR)2-14

-R6:异常地址寄存器(fault address -FAR)2-15

-R7:缓存操作寄存器 2-15

-R8:TLB操作寄存器 2-18

-R9:缓存锁定寄存器 2-19

-R10:TLB 锁定寄存器 2-21

-R11-12&14:保留

-R13:处理器ID 2-22

-R15:测试配置寄存器 2-24

转自:https://blog.csdn.net/lhf_tiger/article/details/8205743

arm协处理器(CDP,LDC,STC,MCR,MRC)相关推荐

  1. ARM汇编指令-协处理器cp15操作指令(mcr amp; mrc)

    一.协处理器 SoC内部另一处理核心,协助主CPU实现某些功能,被主CPU调用执行一定任务.ARM设计上支持多达16个协处理器,但是一般 SoC只实现其中的CP15.(cp:coprocessor) ...

  2. 关于ARM9中的协处理器CP15及MCR/MRC指令

    最近在看2440的启动代码, 刚开始就被卡住了,同时发现自己不会的东西是越来越多啊,收藏一下 http://6xudonghai.blog.163.com/blog/static/3364062920 ...

  3. arm 协处理器cp14 cp15

    ARM926EJ-S/ARM920T 协处理器 CP14, CP15详解 ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令, ...

  4. ARM协处理器(CP15)指令介绍

    什么是协处理器 协处理器是一种芯片,用于减轻系统微处理器的特定处理任务.例如,数学协处理器可以控制数字处理:图形协处理器可以处理视频绘制.例如,intel pentium微处理器就包括内置的数学协处理 ...

  5. ARM协处理器CP15(设置MMU,cache等)学习

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 作者:w ...

  6. ARM 协处理器指令

    参考链接: ARM指令协处理器处理指令 ARM支持16个协处理器,在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器指令,当一个协处理器硬件不能执行属于她的协处理器指令时,就会产生一个未 ...

  7. 汇编指令MCR/MRC

    MCR指令将ARM处理器的寄存器中的值传到协处理器的寄存器中去 这里用CP15协处理器来作为例子 MCR{cond} p15, <opc1, <Rt, <CRn, <CRm, ...

  8. ARM协处理器CP15介绍

    概述 在基于ARM的嵌入式应用系统中,存储系统的操作通常是由协处理器CP15完成的.CP15包含16个32位的寄存器,其编号为0-15.而访问CP15寄存器的指令主要是MCR和MRC这两个指令. MR ...

  9. ARM协处理器CP15

    转自:http://blog.csdn.net/tankai19880619/article/details/8894041 ARM920T = ARM9 core + MMU + Cache MMU ...

最新文章

  1. Dockerfile基本结构
  2. Angular\Vue解决页面数据加载时出现{{message}}闪烁的情况
  3. 成熟期滞后状态的云计算:应重视云存储及安全策略
  4. Java中被搁置的“goto”保留字
  5. FFMPEG libx264解码为YUV
  6. 2014-11-25nbsp;11:26
  7. apache lucene_Apache Lucene拼写检查器的“您是不是要”功能
  8. NSTimer实现读秒、倒计时等周期性操作
  9. vs2012中编译时出现程序集所使用的版本高于所引用的版本
  10. MATLAB中三维曲面命令
  11. 零基础学python用哪本书好-零基础想要学习Python编程 ,不知道看哪本书?
  12. 4-19 面向对象 的内置方法
  13. 探秘小程序(3):登录
  14. 集合框架(Collection存储字符串并遍历)
  15. 电力系统分析工具包pypower简易使用教程
  16. mac 微信不能设置代理服务器,mac微信能用但是浏览器上不了网
  17. t分布 u分布 卡方分布_t分布, 卡方x分布,F分布
  18. oracle获取中位数
  19. Tomcat、Servlet、JSP、EL和JDK版本对照以及各版本Tomcat下载
  20. 字节大幅裁员朋友圈刷爆网络:想给测试人提个醒...

热门文章

  1. 前端开发人员换新机需安装东西整理
  2. Latex——向下取整,向下取整
  3. java 用递归实现插入排序
  4. 服务器搭建hifi系统,初入烧友如何搭配好一套HIFI音响系统?只需要5点轻松搞定~...
  5. IT人转IT猎头人的比较优势
  6. 量子计算机科技革命,量子计算机引发第二次科技革命!?
  7. ESD 接触放电、空气放电
  8. 在Tricore上移植μC/OS-III——2.5 CSA机制运行示例
  9. 《炬丰科技-半导体工艺》光刻胶中金属杂质对硅基基质的吸附机理
  10. 翔仪 垂直起降固定翼 操作流程