
上QQ阅读APP看书,第一时间看更新
1.7 Cortex-A9内核工作模式
Cortex-A9基于ARMv7-A架构,共有8种工作模式,如表1-5所示。
表1-5 Cortex-A9的工作模式

续表

除用户模式外的其他7种处理器模式称为特权模式(Privileged Modes)。在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换。其中以下6种又称为异常模式。
(1)快速中断模式(FIQ)。
(2)外部中断模式(IRQ)。
(3)特权模式(Supervior)。
(4)数据访问中止模式(Abort)。
(5)未定义指令中止模式(Undef)。
(6)监控模式(Monitor)。
处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。
大多数的用户程序运行在用户模式下。当处理器工作在用户模式时,应用程序不能够访问受操作系统保护的一些系统资源,应用程序也不能直接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理过程中进行处理器模式切换。这种体系结构可以使操作系统控制整个系统资源的使用。
当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组专用寄存器以供相应的异常处理程序使用,这样就可以保证在进入异常模式时用户模式下的寄存器(保存程序运行状态)不被破坏。

ARM的工作模式