zoukankan      html  css  js  c++  java
  • 【华为云技术分享】ARM体系结构基础(4)

    上一期中我们介绍了ARMv8-A架构的执行状态,这一期我们介绍ARMv8-A架构的异常级别和安全状态。

    一、ARMv8-A的异常级别与安全状态

    ARMv8-A有四个异常级别,从EL0到EL3。对于异常级别ELn,整数n增加表示软件执行的特权权限变大了。EL0级别下的执行叫非特权执行(unprivileged execution)。EL1主要用于运行操作系统内核。EL2可以支持非安全操作的虚拟化。EL3则支持安全状态和非安全状态之间的转换。安全状态与ARM TrustZone技术有关[2]。安全状态可以运行可信执行环境(TEE, Trusted Execution Environment)及安全应用,用于保障隐私数据和程序运行环境的安全性。

    ARMv8-A架构并未直接指定哪些软件应该运行在哪些异常级别,但是在通常情况下,有如异常级别的使用模型:

    1. 应用程序运行在EL0;

    2. 操作系统内核和相关功能运行在EL1;

    3. Hypervisor[3]运行在EL2;

    4. 安全世界状态和正常世界装态的切换在EL3完成。

    下图反映了ARM-v8A架构中的执行状态、安全状态和异常级别之间关系[1]:

    从图中我们可以看出,Hypervisor相关的支持特性主要是在EL2的非安全状态实现的。Hypervisor可以支持虚拟机之间的切换,而虚拟机主要被包含在EL1的非安全状态和EL0的非安全状态中。一些Guest OS可以运行在EL1状态里,每一个Guest OS可以运在一个虚拟机上。而应用则运行在EL0的非安全状态中,同时也运行在Guest OS上。

    二、结语

    本期我们介绍了ARMv8-A的异常级别和安全状态。下一期我们将介绍openEuler中与ARMv8芯片相关的描述符。

    参考文献

    1. ARM® Architecture Reference Manual ARMv8, forARMv8-A architecture profile

    2. https://baike.baidu.com/item/trustzone/15953889?fr=aladdin

    3. https://blog.csdn.net/baidu_23959681/article/details/82732488

  • 相关阅读:
    mongodb群集
    AtoS查看iOS Crash log中的16进制代码日志
    Info.plist 的字段解释
    IOS --关于粘贴板 ,剪切板 ,UILabel的复制
    UItableView 所有内容保存为图片
    ios 工程图片清理shell
    检查项目图片是否被使用
    ios 联网 在mac机器上进行抓包
    还在为不停build 烦恼么?看这里~~
    修复OS X的Finder中文档 打开方式中重复程序的问题
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13164799.html
Copyright © 2011-2022 走看看