ARM的两种工作状态:
ARM状态:
32位的字对齐,运行ARM指令
Thumb状态:
16位的半字对齐的Thumb指令
注:
CPU在两种状态中切换时并不影响CPU的工作模式和相应的寄存器中的内容,thumb状态下只能访问r0~r7,cpsr,lr,sp,和pc寄存器。
ARM的7种工作模式
3种正常运行态:
用户模式(User):大部分任务(比如用户应用程序)执行在这种模式。
器而设立。
管理模式(Supervisor):操作系统的保护模式,当复位或者软中断指令执行时将会进入这种模式。
2种中断模式
快速中断模式(FIQ--First Interrupt Request):当一个高优先级中断(FIQ)产生时会进入这种模式。
外部中断模式(IRQ--Interrupt Request):当一个低优先级(Normal)中断产生时进入这种模式。
注:FIQ和IRQ的区别---
FIQ模式必须尽快处理,处理结束后离开这个模式;IRQ模式可以被FIQ模式中断,但IRQ不能中断FIQ模式;为使FIQ模式响应更快,FIQ模式具有更多的影子(Shadow)寄存器(硬件自动完成相应寄存器的数据备份)。
ARM的FIQ模式提供了更多的banked寄存器,r8到r14还有SPSR,而IRQ模式就没有那么多,R8,R9,R10,R11,R12对应的banked的寄存器就没有,这就意味着在ARM的IRQ模式下,
中断处理程序自己要保存R8到R12这几个寄存器
,然后退出中断处理时程序要恢复这几个寄存器,而FIQ模式由于这几个寄存器都有banked寄存器,
模式切换时CPU自动保存
这些值到banked寄存器,退出FIQ模式时自动恢复,所以这个过程FIQ比IRQ快。
2种异常模式
未定义指令终止模式(Undef):当执行未定义指令时进入这种模式。
对于Cortex A系列的ARM处理器来说,还有一种特有的Minitor模式:
1种特有模式:
Monitor模式:是为了安全而扩展出的用于执行安全监控代码的模式,也是一种他特权模式
ARM system模式的作用 arm的几种工作模式
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【arm】——ARM汇编之内存寻址模式
寻址(Post-indexed
寻址 变址 寄存器 基址寄存器 移位操作 -
【Android 逆向】ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )
文章目录一、ARM 架构下的堆内存一、ARM 架构下的堆内存
android arm 逆向 原力计划 寄存器 -
arm架构的bios怎么进 arm 模式
下图有9中模式,其中在Secure和Non-Secure状态下都适用的有七种,分别是User、FIQ、IRQ、Supervisor、Abort、Undefined和System。 之所以记录ARM的这些工作模式,是因为在ARM的中断
arm架构的bios怎么进 ARM ARM工作模式 寄存器 工作模式