MCU使用什么指令集主要由內核決定的,比如Cortex-M3使用的是Thumb-2指令集
ARM指令集:
編代碼全部是 32bits 的,每條指令能承載更多的信息,因此使用最少的指令完成功能, 所以在相同頻率下運行速度也是最快的, 但也因為每條指令是32bits 的而占用了最多的程序空間。
Thumb指令集:
編代碼全部是 16bits 的,每條指令所能承載的信息少,因此它需要使用更多的指令才能完成功能, 因此運行速度慢, 但它也占用了最少的程序空間
Thumb-2指令集:
在前面兩者之間取了一個平衡, 兼有二者的優勢, 當一個 操作可以使用一條 32bits指令完成時就使用 32bits 的指令, 加快運行速度, 而當一次操作只需要一條16bits 指令完成時就使用16bits 的指令,節約存儲空間。