前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARMv8架构特性总结

ARMv8架构特性总结

作者头像
安智客
发布2018-07-30 14:23:23
1.2K0
发布2018-07-30 14:23:23
举报
文章被收录于专栏:安智客安智客

ARMv8架构,引入了Execution State、Exception Level、Security State等新特性,是目前ARM架构变动最大的一次,具体来说: 1,A64:对于Large memory的需求也可通过Large Physical Address Extensions (LPAE) 技术,虽然可以支持高达40bits的物理地址空间,但受限于32-bit的指令集,虚拟地址空间依旧只有32bits(4G),定义64-bit的指令集(A64)。向前兼容32-bit指令集(A32和T32)。 2,安全:在ARMv7 security extension的基础上,兼容TrustZone架构,新增security model。它不同于privilege level等软件逻辑上的保护,而是一种物理上的区隔,即不同security状态下,可以访问的物理内存是不同的。在Security状态下,处理器可以访问所有的Secure physical address space以及Non-secure physical address space;在Non-security状态下,只能访问Non-secure physical address space。

3,虚拟化:在ARMv7 virtualization extension的基础上,提供完整的virtualization框架,从硬件上支持虚拟化。包括指令集虚拟化、异常处理虚拟化、MMU虚拟化、IO虚拟化。

4,EL:定义AArch64和AArch32两套运行环境(称作Execution state),分别执行64-bit和32-bit指令集。使用exception level,替代了processor mode、privilege level等概念。

ARMv8 定义了4 个 Exception level,简称 EL0-EL3。同时Exception level 包含了 privilege 概念。

AArch64中,已经没有User、SVC、ABT等处理器模式的概念,由于向前兼容,在AArch32中,就把这些处理器模式映射到了4个Exception level。如上图所示。

当异常发生时,有两种选择,停留在当前的EL,或者跳转到更高的EL,EL不能降级。同样,异常处理返回时,也有两种选择,停留在当前EL,或者调到更低的EL。应用位于特权等级最低的EL0,Guest OS(Linux kernel等)位于EL1,提供虚拟化支持的Hypervisor位于EL2(可以不实现),提供Security支持的Seurity Monitor位于EL3。这里面体现了安全防御的思想,即出现异常事件必须由逐级由上一级EL处理。

(ARM32、Thumb、ARM64位指令集之间的关系如上图)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档