ARM微处理器运行模式

来源:互联网 发布:win7玩cf出现网络异常 编辑:程序博客网 时间:2024/04/30 14:01

ARM微处理器支持7种运行模式,分别为:
用户模式(usr):ARM处理器正常的程序执行状态。
快速中断模式(fiq):用于高速数据传输或通道处理。
外部中断模式(irq):用于通用的中断处理。
管理模式(svc):操作系统使用的保护模式。
数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
系统模式(sys):运行具有特权的操作系统任务。
定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

 

     ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。
     除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。

除用户模式外都 是特权模式。吸有在特权模式下才允许对当前的程序状态寄存器的反有控制位直接进行读写访问。

特权模式中除系统模式外都是异常模式。异常发生时总是切换到ARM状态。

 

何时近入到异常模式

1 复位进入管理模式,操作系统内核通常处于此种模式

2访问失败则进入中止模式

3 遇到不支持的指令时,进入未定义

4中断模式与快速中断模式分别对ARM外理器2种不同等级别的中断响应

特权模式可以访问所有内部资源

用户模式与作系统模式不能由异常进入必须通过修改CPSR才能实现。

默认模式是ARM模式,因为复位也是一种异常中断

用来管理你的任务。操作系统中的任务切换。自动进入。例如:只要有中断就可以进入中断模式。

 

 由于用户模式和系统模式不是异常中断模式,所以它们没有SPSR。当在用户模式或系统模式中 访问SPSR,将会产生不可预知的结果。

原创粉丝点击