全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

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

时间:2023-09-08 15:40

人气:

作者:admin

标签: 会有  执行  ARMv8  为什么  Armv9 

导读:ARMV8/ARMV9为什么会有执行状态的切换呢?-在一个大系统中,我们所说这它是64位的,还是32位的,往往说的是kernel内核。...

ARMV8/ARMV9的执行状态的切换

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

image.png

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.

image.png

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

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

寄存器介绍

SCR_EL3

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

image.png

HCR_EL2

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

image.png

PSTATE和SPSR_ELx

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

image.png

image.png

代码导读

image.png

image.png

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信