ARM Cortex-M 指令集
ARM 处理器一直支持两种形式上相对独立的指令集, 它们分别是:
- 32 位的 ARM 指令集。对应处理器状态: ARM 状态
- 16 位的 Thumb 指令集。对应处理器状态: Thumb 状态
- 在程序的执行过程中,处理器可以动态地在两种执行状态之中切换。
- Thumb 指令集在功能上是 ARM 指令集的一个子集
- Thumb 指令集能带来更高的代码密度。
发展历程
推出 Thumb-2 指令集
Thumb-2 指令集特征:
- Thumb-2 是 16 位 Thumb 指令集的一个超集。
- 在 Thumb-2 中, 16 位指令首次与 32 位指令并存。
Crotex 内核使用的指令集:包含了所有 Thumb 指令集,包含部分 Thumb-2 指令集。
Crotex 内核使用的指令集优点:无需烦心地把处理器状态在 Thumb 和 ARM 之间来回的切换。