首页 理论教育 ARM处理器工作状态-嵌入式系统原理与应用

ARM处理器工作状态-嵌入式系统原理与应用

时间:2023-11-23 理论教育 版权反馈
【摘要】:自从有了ARM7TDMI 核以后,体系结构中具有T 变种的ARM 处理器核可以工作在ARM状态和Thumb 状态,且两种状态可通过BX 指令相互切换。所有的异常都是在ARM 状态下进行,如果处理器在Thumb 状态进入异常,则当异常处理返回时,自动切换到Thumb 状态。2)进入ARM 状态当操作数寄存器Rm 的状态位bit[0]为“0”时,执行BXRm 指令进入ARM 状态。②ARM 指令集和Thumb 指令集都有相应的状态切换命令。③ARM 处理器在开始执行代码时,只能处于ARM 状态。

ARM处理器工作状态-嵌入式系统原理与应用

自从有了ARM7TDMI 核以后,体系结构中具有T 变种的ARM 处理器核可以工作在ARM状态和Thumb 状态,且两种状态可通过BX 指令相互切换。

(1)两种工作状态

1)ARM 状态

32 位,此时处理器执行字对齐的32 位ARM 指令;

2)Thumb 状态

16 位,此时处理器执行半字对齐的16 位Thumb 指令。

(2)工作状态的切换

1)进入Thumb 状态

操作数寄存器Rm 的状态位bit[0]为“1”时,执行BX Rm 指令进入Thumb 状态。

所有的异常都是在ARM 状态下进行,如果处理器在Thumb 状态进入异常,则当异常处理(IRQ,FIQ,Undef,Abort 和SWI)返回时,自动切换到Thumb 状态。(www.xing528.com)

2)进入ARM 状态

当操作数寄存器Rm 的状态位bit[0]为“0”时,执行BX Rm 指令进入ARM 状态。

如果处理器进行异常处理(IRQ、FIQ、Undef、Abort 和SWI),在此情况下,将PC 放入异常模式链接寄存器LR 中,从异常向量地址开始执行也可以进入ARM 状态。

在程序执行的过程中,处理器可以在两种状态下切换。 需要强调的是:

①ARM 和Thumb 之间状态的切换不影响处理器的模式或寄存器的内容。

②ARM 指令集和Thumb 指令集都有相应的状态切换命令。

③ARM 处理器在开始执行代码时,只能处于ARM 状态。

④当进行异常处理时,必须是ARM 状态下的ARM 指令,此时,如果原来工作于Thumb 状态,必须将其切换到ARM 状态,使之执行ARM 指令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈