Skip to main content

ARM Cortex-M 指令集

ARM 处理器一直支持两种形式上相对独立的指令集, 它们分别是:

  • 32 位的 ARM 指令集。对应处理器状态: ARM 状态
  • 16 位的 Thumb 指令集。对应处理器状态: Thumb 状态
  1. 在程序的执行过程中,处理器可以动态地在两种执行状态之中切换。
  2. Thumb 指令集在功能上是 ARM 指令集的一个子集
  3. Thumb 指令集能带来更高的代码密度。

发展历程

推出 Thumb-2 指令集

Thumb-2 指令集特征:

  1. Thumb-2 是 16 位 Thumb 指令集的一个超集。
  2. 在 Thumb-2 中, 16 位指令首次与 32 位指令并存。

Crotex 内核使用的指令集:包含了所有 Thumb 指令集,包含部分 Thumb-2 指令集。

Crotex 内核使用的指令集优点:无需烦心地把处理器状态在 Thumb 和 ARM 之间来回的切换。