ARM技术的设计者将ARM处理器在应用中可能产生的状态进行分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。ARM处理器共有7种工作模式。
1、用户模式
非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没有异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式。
2、FIQ模式
快速中断模式,支持高速数据传输和通道管理,当一个高优先级中断产生时会进入FIQ模式。
3、IRQ模式
普通中断模式,当一个低优先级中断产生时会进入IRQ模式。在IRQ模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常中断处理都在IRQ模式下进行。
4、SVC模式
管理模式,是一种操作系统保护模式。当复位或软中断指令执行时处理器进入SVC模式。
5、中止模式
当存取异常时会进入中止模式,用来处理存储器故障,实现虚拟存储或存储保护。