ARM的工作模式和状态
- 格式:docx
- 大小:10.09 KB
- 文档页数:2
ARM的工作模式和状态
ARM 的两种工作状态: ARM 状态:32 位的字对齐,运行ARM 指令Thumb 状态:16 位的半字对齐的Thumb 指令注:CPU 在两种状态中切换时并
不影响CPU 的工作模式和相应的寄存器中的内容。ARM 的7 种工作模式 3
种正常运行态:用户模式(User):大部分任务(比如用户应用程序)执
行在这种模式。系统模式(System):运行操作系统的特权任务。
管理模式(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 种异常模
式数据访问终止模式(Abort):当数据或指令预取终止时进入这种模式。
未定义指令终止模式(Undef):当执行未定义指令时进入这种模式。对
于Cortex A 系列的ARM 处理器来说,还有一种特有的Minitor 模式: 1 种特
有模式:Monitor 模式:是为了安全而扩展出的用于执行安全监控代码的