2.指令集
32位的ARM指令集,对应处理器状态是ARM
16位Thumb指令集,对应处理器是Thumb状态
不同的指令集对应不同的处理器的状态,在执行过程种,处理器可以动态的切换两种状态,但是可以发现,Thumb是ARM的一个子集,但是他能带来更高的代码密度。
Thumb-2:
这是一个突破性的指令,thumb-2是thumb的一个超集,是一个16位指令和32位指令的首次集合,所以在thumb模式下的处理器就丰富多了,同时工作的需要的指令周期明显也下降了。如图便是Thumb和thumb2的关系。
在Cortex-M3,没有使用ARM指令集,而是使用了Thumb-2的指令集,