ARM处理器的工作模式

 ARM系列有7个基本工作模式,Cortex-A系列有8种基本模式

uer(用户模式):非特权模式,大部分任务执行在这种模式

          linux下的用户空间,用户模式是用户程序的工作模式,它运行在操作系统的用户态,它没有权限去操作其它硬件资源,只能执行处理自己的数据,也不能切换到其它模式下,要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。

System(系统模式): 使用和User模式相同寄存器集的特权模式   

       系统模式是特权模式,不受用户模式的限制。用户模式和系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而操作系统的一些特权任务可以使用这个模式访问一些受控的资源。

Abort(中止模式): 当存取异常时将会进入这种模式

       中止模式用于支持虚拟内存或存储器保护,当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式,linux 下编程时经常出现的segment fault通常都是在该模式下抛出返回的。

Undef(未定义模式): 当执行未定义指令时会进入这种模式

未定义模式用于支持硬件协处理器的软件仿真,cpu在指令的译码阶段不能识别该指令操作时,会进入未定义模式。

FIQ(快速中断模式):   当一个高优先级(fast) 中断产生时将会进入这种模

快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。

IRQ(中断模式):   当一个低优先级(normal) 中断产生时将会进入这种

         一般中断模式也叫普通中断模式, 用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统硬件资源。

 SVC  Supervisor(管理模式):当复位或软中断指令执行时将会进入这种模式

       管理模式是cpu_上电后认模式,因此在该模式下主要用来做系统的初始化,软中断处理也在该模式下。当用户模式下的用户程序请求使用硬件资源时,通过软件中断进入该模式。

Monitor(安全模式): 是为了安全而扩展出的用于执行安全监控代码的模式;也是一种特权模式  

Cortex-A特有模式
        TrustZone在概念上将SoC的硬件和软件资源划分为安全(Secure World)和非安全(normal World)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世身Mode的模式进行转换。

另外除了用户模式和系统模式以外的其它5种模式,我们又称之为异常模式。当特定的异常出现的时候,程序就会进入到相应的异常模式中。

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...