ARM

冯诺依曼结构:


哈佛结构:


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状态的切换并不会影响处理器的模式或寄存器的内容。




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容