【北京迅为】i.MX6ULL终结者Cortex-A7运行模式

   日期:2020-09-09     浏览:96    评论:0    
核心提示:在以前的ARMv6架构下,处理器有7种模式,如图 1所示: 图 1他们分别是:User(USR):用户模式,非特权模式,大部分程序运行的时候就处于此模式。FIQ:快速中断模式,进入 FIQ 中断异常IRQ:一般中断模式。Supervisor(SVC):超级管理员模式,特权模式,供操作系统使用。Abort(ABT):数据访问终止模式,用于虚拟存储以及存储保护。Undef(UND):未定义指令模式。System(SYS):系统模式,用于运行特权级的操作系统任务Cortex-A7属于ARM

在以前的ARMv6架构下,处理器有7种模式,如图 1所示:

图 1

他们分别是:
User(USR):用户模式,非特权模式,大部分程序运行的时候就处于此模式。
FIQ:快速中断模式,进入 FIQ 中断异常
IRQ:一般中断模式。
Supervisor(SVC):超级管理员模式,特权模式,供操作系统使用。
Abort(ABT):数据访问终止模式,用于虚拟存储以及存储保护。
Undef(UND):未定义指令模式。
System(SYS):系统模式,用于运行特权级的操作系统任务
Cortex-A7属于ARM V7的架构,它的模式在ARMv6的基础上又增加了两个,所以一共支持9种模式,如图 2所示:

图 2

从上图可以看到Cortex-A7增加了Monitor和Hyp亮膜模式。
Monitor用于用户安全扩展模式(trustzone)。
Hyp用户虚拟化扩展。

在这9种模式中,除了User(USR)用户模式外,其它8种模式都是特权模式。这几个模式可以通过软件进行任意切换,也可以通过中断或异常进行切换。大部分程序都是工作在用户模式,在用户模式下不能访问系统的所有资源,有些资源是受限的,如果要访问这些受限的资源,需要进行模式切换。用户模式不能直接切换,需要借助异常来完成。当要切换模式的时候,应用程序可以产生异常,在异常处理中实现模式切换。当中断或者异常发生后处理器就会进入到相应的异常模式,每一种模式都有一组寄存器供异常处理程序使用,这样的目的是为了保证在进入异常模式以后,用户模式下的寄存器不会被破坏。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服