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形式:是为了安全而扩展出的用于履行安全监控代码的形式,也是一种他特权形式。