ARMv7 Processor modes

Posted Loopers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARMv7 Processor modes相关的知识,希望对你有一定的参考价值。

在ARMv7中定义了不同的特权级别。分别是PL0, PL1, PL2。而每种特权级别依赖处理器模式Processor modes

在ARMv7中定义了九种不同的处理器模式

 

User:就是所谓的用户模式,所处的级别最低,不能访问系统的所有资源。特权级别属于PL0

FIQ:Fast IRQ,快速中断模式,特权级别属于PL1

IRQ:中断模式,特权级别属于PL1

Supervisor:SVC模式或者进入reset模式,特权级别属于PL1

Monitor:Secture Monitor模式,只有在Secure world存在,特权级别属于PL1

Abort:Data Abort或者指令Abort模式,属于一种异常模式,特权级别属于PL1

Hyp:虚拟化模式,只存在于normal world。特权级别属于PL2

Undefined:未定义指令异常模式,特权级别属于PL1

System:系统级别模式,可以访问系统的所有资源,特权级别属于PL1

 

通过如下的图再来确认下,特权级别和处理器模式的关系。

  • User模式特权级别最低,属于PL0
  • SVC模式是进入Reset模式或者调用SVC指令,而SVC指令在ARMv7就是所谓的系统调用指令,比如当调用open函数时,会触发系统调用,最终会通过SVC指令陷入内核的
  • Monitor模式,只有在Secure world才可以使用,monitor是用来切换normal world和secure world
  • System模式,一般是操作系统运作的模式
  • Hyp模式,运行在PL2,而且只有normal world才存在

再看一张更清晰的能表明处理器模式和特权级别关系的图

从这张图上可以清晰的看清楚各个特权级别,以及处理器模式所处在特权级别的位置。

 

 

以上是关于ARMv7 Processor modes的主要内容,如果未能解决你的问题,请参考以下文章

arm64、armv7、armv7s是指啥?

iOS armv7, armv7s, arm64区别与应用32位、64位配置

请问这事四核还是单核的CPU?

iOS 指令集arm64、armv7s、armv7、i386、x86_64

ADIv5.2

没有要编译的架构 (ARCHS=armv7,armv7s, VALID_ARCHS=armv7 armv7s)