ARM微处理器支持7种运行模式,分别为:
1.用户模式(usr):ARM处理器正常的程序执行状态
2.快速中断模式(fiq):用于高速数据传输或通道处理
3.外部中断模式(irq):用于通用的中断处理
4.管理模式(svc):操作系统使用的保护模式(复位或软中断)
5.数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
6.系统模式(sys):运行具有特权的操作系统任务。
7.未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。
除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。