所在位置:中国宣城网»多彩宣城 >

ARMV8/ARMV9为什么会有执行状态的切换呢?

来源:Arm精选 编辑: JH651 更新时间: 2023-09-08 20:53:52


(相关资料图)

ARMV8/ARMV9的执行状态的切换

在一个大系统中,我们所说这它是64位的,还是32位的,往往说的是kernel内核。事实上,在这么的一个大系统中,有着多级镜像,并非全都是64位的,也并非全都是32位的。如下一张图,便展示了某SOC系统中常用的一个执行状态

Interprocessing :执行状态切换

术语:AArch64和AArch32执行状态之间的交互称为interprocessing。

ARMV8/ARMV9的执行状态(Execution state) 有两种:aarch64和aarch32,它们的切换的方式只有两种:

(1) reset(2) changing Exception level

它们的切换规则是:

aarch32到aarch64的切换,必需是触发异常,产生的low exception level 到 high exception level的切换。aarch64到aarch32的切换,必需是异常返回,产生的high exception level 到 low exception level的切换。在 exception level不变的情况下,产生的异常和异常返回,都不能改变excution state.

再简而言之,总结起来其实就是:

high exception level如果是aarch64,那么low exception level 可以是aarch64或aarch32high exception level如果是aarch32,那么low exception level 只能是aarch32

寄存器介绍

SCR_EL3

如果实现了EL3,那么PE复位后将直接是aarch64SCR_EL3.RW将决定着lower exception level的执行状态

HCR_EL2

如果实现了EL2,且EL2的执行状态是aarch64.HCR_EL2.RW将决定着EL1的执行状态

PSTATE和SPSR_ELx

如果EL1是aarch64,那么SPSR_EL1.M[4] 将决定着EL0的执行状态

代码导读

关键词:

2元女装批发

网站首页| 关于我们 | 联系我们| 合作伙伴 | 广告投放 | 招贤纳士| 增值服务| 使用条款 | 用户反馈

服务电话:180151838 QQ客服: 点击这里给我发送QQ消息  E-mail: 3 392 950@qq.com

声明: 迅捷汽车网部分文章来自互联网,如侵犯了您的版权请告之,我站将第一时间内删除 !
未经迅捷汽车网许可,禁止建立迅捷汽车网镜像,禁止抄袭迅捷汽车网数据。欢迎许可转载,注明出处!
Copyright©2010 - 2018 auto.xjche365.com All rights reserved 迅捷汽车网 版权所有 浙ICP备2022016517号-9
版权所有 抄袭必究