ARM体系架构—ARMv7-A指令集:协处理器指令

一、ARMv7-A指令集

ARMv7-A架构是32位处理器架构。也是load/store架构,即数据处理指令操作在通用寄存器完成,只有load/store指令可以访问内存。此外ARM指令集还有一大特点,就是ARM指令集几乎所有的指令都可以增加条件码。
ARM指令集可以归为一下四类:

  1. 数据处理操作(ALU操作例如ADD);
  2. 内存操作(load/store);
  3. 控制流(循环,跳转,条件码等);
  4. 系统(协处理器,debug,模式切换等等)。

本文重点介绍协处理器指令。

二、ARMv7-A协处理器

ARM体系架构支持协处理器,用于扩展ARM处理器功能。协处理器指令用于访问协处理器。协处理器支持16个协处理器,编号0-15,使用CP0-CP15(Coprocessor)描述。

CP0-CP15协处理器的基本功能如下:

  • CP15:提供系统控制功能。包括架构和特性ID,以及控制,状态信息和配置支持,还包括cache,TLB和MMU的控制。
  • CP14:提供硬件Debug功能。
  • CP10,CP11:共同支持浮点运算和向量操作。控制和配置浮点和高级SIMD扩展架构。
  • CP8,9,12,13:为ARM架构保留协处理器。
  • CP0-7:由厂家定义协处理功能。

关于协处理器详细介绍请参看《ARM体系架构—ARMv7-A协处理器》

ARM指令集提供了协处理器指令用于访问协处理器中的寄存器。如果协处理器指令访问协处理器在系统中不存在,则会报未定义指令异常(Undef)。

二、ARMv7-A协处理器指令

协处理指令可以分为5类:

  1. CDP:发起协处理器数据处理操作;
  2. MRC:数据从协处理器寄存器传送到ARM寄存器;
  3. MCR:数据从ARM寄存器传送到协处理器寄存器;
  4. LDC:数据从内存传送到协处理器寄存器;
  5. STC:数据从协处理器寄存器传送到内存。

同时也支持多寄存器指令:

  1. MRRC:数据从协处理器寄存器传送到两个ARM寄存器;
  2. MCRR:数据从两个ARM寄存器传送到协处理器寄存器;
  3. LDCL:数据从多个ARM寄存器传送到协处理器寄存器;
  4. STCL:数据从协处理器寄存器传送到多个ARM寄存器。
  5. <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值