指令集简介
指令集的设计为处理器架构的重点之一,ARM称之为指令集架构ISA。所有的ARM Cortex-M处理器都是基于Thumb-2
技术,运行在一种操作状态混合使用16位和32位的指令。
关于ARM
、Thumb
和Thumb-2
:
ARM
,最早期的32位指令集,在ARM状态运行。Thumb
,16位指令集,为ARM指令集的一个子集,在thumb状态运行。Thumb-2
,Thumb指令的一个新的超集, 一种运行模式下,可以同时使用16位和32位的指令集,Cortex-M只支持Thumb运行状态。
ARM Cortex-M处理器间的指令集比较
Cortex-M处理器间的一个区别就是指令集特性。为了将贿赂面积降到最低,Cortex-M0、Cortex-M0+、Cortex-M1处理器只支持多数16位指令和部分32位指令。Cortex-M3支持的32位指令更多,16位指令稍微多一点,Cortex-M4处理器支持剩下的SIMD等DSP提升指令集可选的浮点指令。如下图所示: