本文所有资料来至互联网,笔者加以整理和归纳,仅供以后复习
一、ARM处理器共有7种运行模式,如下表示:
处理器模式 |
处理器模式描述 |
用户模式(User,usr) |
正常程序执行的模式 |
快速中断模式(FIQ,fiq) |
用于高速数据传输和通道处理 |
普通中断模式(IRQ,irq) |
用于通常的中断处理 |
监管模式(Supervisor,svc) |
供操作系统使用的一种保护模式 |
数据访问中止模式(Abort,abt) |
用于虚拟存储及存储保护 |
未定义指令中止模式(Undefined,und) |
用于支持通过软件方针硬件的协处理器 |
系统模式(System,sys) |
用于运行特权级的操作系统任务 |
除了用户模式之外的其他6种处理器模式称为特权模式(PrivilegedModes)。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他5种特权模式又称为异常模式。
处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下,这时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。当需要进行处理器模式的切换时,应用程序可以产生异常处理,在异常处理过程中进行模式的切换。这种体系结构可以使操作系统控制整个系统的资源。
当应用程序发生异常中断时,处理器