马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
CPSR的低5位用于用户定义当前操作模式。ARM处理器共支持表所列的7种处理器模式。在表给出了CPSR[4:0]与7种工作模式的关系以及各种模式的解释。在软件控制、外部中断或异常处理器工作模式的改变。 CPSR[4:0] | 模式 | 用途 | 可访问的寄存器 | 10000 | 用户 | 正常用户模式,程序正常执行模式 | PC、R14~R0、CPSR | 10001 | FIQ | 处理快速中断,支持高速数据传送或处理通道 | PC、R14_fiq~R8_fiq、R7~R0、CPSR、SPSR_fiq | 10010 | IRQ | 处理普通中断 | PC、R14_irq~R13_fiq、R12~R0、CPSR、SPSR_irq | 10011 | SVC | 操作系统保护模式,处理软件中断 | PC、R14_svc~R13_svc、R12~R0、CPSR、SPSR_svc | 10111 | 中止 | 处理存储器故障、实现虚拟存储器和存储器保护 | PC、R14_abt~R13_abt、R12~R0、CPSR、SPSR_abt | 11011 | 未定义 | 处理未定义的指令陷阱,支持硬件协处理器的软件仿真 | PC、R14_und~R13_und、R12~R0、CPSR、SPSR_und | 11111 | 系统 | 运行特权操作系统任务 | PC、R14-R0、CPSR |
大多数用户程序运行在用户模式下,这时应用程序不能访问一些受操作系统保护的系统资源,也不能改变模式。应用程序也不能直接进行处理器模式的切换,除非异常发生。这允许操作系统来控制系统资源的使用,适合编写操作系统,可用来控制系统资源的使用。 除用户模式之外的其他6种模式称为特权模式。特权操作模式主要处理异常和监控调用,它们可自由地访问系统资源和改变模式。特权模式中除系统模式外的5种模式又称为异常模式。即FIQ、IRQ、SVC、中止、未定义。 因此,也认为特权模式由异常模式和系统模式组成。 异常模式主要用于处理中断和异常。当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中,都有某些附加的影子寄存器组,供相应的异常处理程序使用。这样就可以保证在进入异常模式时,用户模式下的寄存器不被破坏,以避免异常出现时,用户模式的状态不可靠。 系统模式仅在ARM体系结构V4及以上版本存在。系统模式不是通过异常过程进入的,它与用户模式有完全相同的寄存器。这样操作系统的任务可访问所有需要的系统资源,也可使用用户模式的寄存器组,但不使用异常模式下相应的寄存器组,因此避免了使用与异常模式相关的附加寄存器,进而确保当任何异常出现时,不会使任务的状态不可靠或被破坏。系统模式属于特权模式,因此不受用户模式的限制。 不是所有ARM处理器都支持上述的所有操作模式,而且有些还支持“26位”模式,以便与较早的ARM兼容,这主要与不同体系结构的版本定义内容相关。 更多嵌入式学习资料下载请点击www.sunplusedu.com访问凌阳教育官网,获得更多嵌入式学习资料下载。
|