Login

ARM The Architecture For The Digital World  

指令集体系结构

ARM 处理器体系结构为 32 位 ARM 和 16 位 Thumb® 指令集体系结构 (ISA) 以及体系结构扩展提供支持,从而支持 Java 加速 (Jazelle®)、安全技术 (TrustZone®)、SIMDNEON™ 技术。

ARM 体系结构支持各种性能方面的实现。在众多细分市场中,它都是领先的体系结构。ARM 处理器体系结构简单,因而可以进行极小规模的实现,而小规模的实现则意味着设备的功耗可以很低。实现规模、性能和非常低的功耗是 ARM 体系结构的关键特性。

ARM 体系结构是精简指令集计算 (RISC) 体系结构,因为它包含以下典型 RISC 体系结构特征:

  • 大型统一寄存器文件
  • 加载/存储体系结构,其中的数据处理操作只针对寄存器内容,并不直接针对内存内容
  • 简单寻址模式,所有加载/存储地址只通过寄存器内容和指令字段确定。

此外,ARM 体系结构还提供:

  • 可组合使用转换与算术或逻辑运算的指令
  • 用于优化程序循环的自动递增和自动递减寻址模式
  • 加载和存储多个指令以使数据吞吐量最大化
  • 几乎所有指令都采取条件执行的方式以使执行吞吐量最大化。

这些对基本 RISC 体系结构的增强使 ARM 处理器可以实现较高性能、较小代码大小、较低功耗和较小硅面积的良好平衡。

ARM 指令集体系结构仍在不断改进,以满足领先应用程序开发人员不断增长的需求,同时保留保护软件开发投资所需的向后兼容性。

ARM 使用通用汇编语言来为所有 ARM 和 Thumb 指令提供标准形式。这样,用户即可编写可对任一指令集进行汇编的汇编代码。

 
 


ARM 32 位指令集是 ARMv4T、ARMv5TEJ 和 ARMv6 体系结构中使用的基本 32 位 ISA。在这些体系结构中,该指令集用于需要高性能的应用领域,或用于处理硬件异常,如中断和处理器启动。

对于关键性能应用和旧代码,Cortex 体系结构的 Cortex™-ACortex-R 配置文件也支持 ARM 32 位 ISA。其多数功能都包括在 Thumb-2 指令集中,该指令集也从改进的代码密度中获益。

ARM 指令的长度为 32 位,需要 4 字节边界对齐。

还可对所有 ARM 指令进行“条件化”,使其仅在以前的指令设置了特定条件代码时执行。这意味着,如果应用程序状态寄存器中的 N、Z、C 和 V 标记满足指令中指定的条件,则指令仅对程序员的模型操作、内存和协处理器发挥其正常作用。如果这些标记不满足此条件,则指令会用作 NOP,即执行过程正常进入下一指令(包括将对异常进行任意相关检查),但不发挥任何其他作用。此条件化指令允许对 if 和 while 语句的一小部分进行编码,而无需使用跳转指令。

条件代码包括:

 条件代码 含义

 N

 否定条件代码,如果结果为否定的,则设置为 1

 Z

 零条件代码,如果指令的结果为 0,则设置为 1

 C

 进位条件代码,如果指令生成进位条件,则设置为 1

 V

 溢出条件代码,如果指令生成溢出条件,则设置为 1。

 

 


在对成本敏感的所有嵌入式控制应用领域(例如手机磁盘驱动器调制解调器和寻呼机)中,当前 CISC 控制器的性能已达到其上限,因此设计人员正在寻求通过某些方式来实现 32 位性能和地址空间,而不会产生与转至 32 位系统相关联的成本。

Thumb 可向设计人员提供

  • 卓越的代码密度,以尽量减小系统内存大小和降低成本。在 8 位或 16 位总线上的 8 位或 16 位内存中实现 32 位性能,从而降低系统成本。
  • 建立的 ARM 功能
  • 行业领先的 MIPS/Watt,以尽可能延长电池寿命和增加 RISC 性能
  • 小的芯片面积,以进行集成和尽可能降低芯片成本
  • 全球多合作伙伴源,可提供安全保证。

Thumb 技术是对 32 位 ARM 体系结构的扩展。Thumb 指令集是已压缩至 16 位宽操作码的、最常用 32 位 ARM 指令的子集。在执行时,这些 16 位指令实时、透明地解压缩为完整 32 位 ARM 指令,且无性能损失。

设计人员可以同时使用 16 位 Thumb 和 32 位 ARM 指令集,这样,他们就可以灵活地根据应用需要在子例程级别上增强性能或调整代码大小。

“感知 Thumb”内核是一个标准 ARM 处理器,它在指令管道中使用 Thumb 解压缩器。因此,设计人员可以 8 位系统的成本获取 32 位 ARM 体系结构的所有基础功能以及 Thumb 的卓越代码密度。

Thumb 的代码密度高于普通 8 位和 16 位 CISC/RISC 控制器,它只占用传统 32 位体系结构的代码大小的一部分。这意味着,程序内存会更小,进而降低了成本。

Thumb 体系结构受完善的 Windows 软件开发环境以及开发和评估卡支持。


改进了代码密度,具有性能效率和功效

Thumb-2 技术是以 ARM Cortex 体系结构为基础的指令集,它提升了众多嵌入式应用的性能、能效和代码密度。

Thumb-2 技术以获得成功的 Thumb(ARM 微处理器内核的创新型高代码密度指令集)为基础进行构建,以增强 ARM 微处理器内核的功能,从而使开发人员能够开发出低成本且高性能的系统。 

该技术与现有 ARM 和 Thumb 解决方案向后兼容,同时显著扩展了 Thumb 指令集的可用功能。这将使得更多应用程序从 Thumb 的同类最佳代码密度中获益。

为获得性能优化的代码,Thumb-2 技术使用少于 31% 的内存以降低系统成本,同时,提供比现有高密度代码高出 38% 的性能,因此可用于延长电池寿命,或丰富产品功能集。Thumb-2 技术在处理器以及基于 ARMv7 体系结构的所有处理器中扮演了重要角色。 


Maximise