ARM处理器的工作模式
非特权模式
- User : 非特权模式(也叫用户模式),大部分任务执行都在这种模式。用户模式
特权模式 - FIQ : 当一个高优先级(fast)中断产生时将会进入这种模式。 快速中断
- IRQ : 当一个低优先级(normal)中断产生时将会进入这种模式。 普通中断
- Supervisor(SVC) : 当复位或软中断指令执行时将会进入这种模式。 管理者模式
- Abort : 当存取异常时将会进入这种模式。
- Undef : 当执行未定义指令时会进入这种模式。
- System : 使用和User模式相同寄存器集的特权模式 系统模式
ARM的37个寄存器
1、ARM总共有37个寄存器,但是每种模式下最多只能看到18个寄存器,其他寄存器虽然名字相同但是在当前模式不可见。
2、对r13这个名字来说,在ARM中共有6个名叫r13(又叫sp)的寄存器,但是在每种特定处理器模式下,只有一个r13是当前可见的,其他的r13必须切换到他的对应模式下才能看到。这种设计叫影子寄存器(banked register)。