ARM

2019-08-11  本文已影响0人  风中少年02

冯诺依曼结构:

哈佛结构:

ARM处理器状态

设计了两套指令系统:ARM指令集和Thumb指令集。前者为32位(字)长度具有完整的功能,后者为16位(半字长)长度,能够实现ARM指令集大部分功能。

为什么会有Thumb状态:

从功能上,将Thumb指令集视作是ARM指令集的子集。但却具有极高的代码密度(平均缩减30%的代码量)。

也就是说,设计两套指令集是能够让用户更好地控制代码量,从而控制存储空间。

何时执行ARM指令集,何时执行Thumb

ARM处理器中会有两个处理器状态与这两套指令集对应。当前程序状态寄存器CPSR中的控制位T反映处理器正在操作的状态,即哪种指令集正在执行。T=0处于ARM,执行ARM状态指令,否则执行Thumb指令。

ARM状态,处理器执行字方式的ARM指令,并且处理器上电后默认处于ARM状态。Thumb状态下,处理器执行半字方式的Thumb指令集。两种指令集绝对不能混合使用

ARM状态的切换并不会影响处理器的模式或寄存器的内容。



上一篇下一篇

猜你喜欢

热点阅读