arm里7种工作方式,分别在是在什么状态下用的?

2025-04-19 21:52:58
推荐回答(1个)
回答1:

供参考吧,另外研究这个干什么?不要太深究了吧,ARM管脚兼容的Cortex M3/ M4都已经不再使用这7种模式了。是否说明这种设定不是那么合适呢?

ARM处理器工作模式一共有 7 种 :
USR 模式
正常用户模式,程序正常执行模式

FIQ模式(Fast Interrupt Request)
处理快速中断,支持高速数据传送或通道处理

IRQ模式
处理普通中断

SVC模式(Supervisor)
操作系统保护模式,处理软件中断swi reset

ABT 中止(Abort mode){数据、指令}
处理存储器故障、实现虚拟存储器和存储器保护

UND 未定义(Undefined)
处理未定义的指令陷阱,支持硬件协处理器的软件仿真

SYS 系统模式(基本上=USR)(System)
运行特权操作系统任务

用户模式和特权模式
除了用户模式之外的其他6种处理器模式称为特权模式

特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。

特权模式中,除系统模式外,其他5种模式又称为异常模式。

大多数的用户程序运行在用户模式下,此时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。

用户模式下,当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。