1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ARM结构,一直都在升级,到目前,已经升级到了ARMv8。 ARMv8,提出了很多新的概念。 一、两种执行状态 在ARMv8中,引入了两种执行状态: ◾ AArch32 ◾ARMv7的升级版 ◾ A32(ARM)和T32(thumb),两种指令集 ARMv8架构中,增加了一些指令 ◾传统ARM的特权模式 ◾通用寄存器位宽是32bit ◾ 使用单一CPSR保存PE状态 ◾使用32bit的虚拟地址 ◾支持协处理器 ◾ AArch64 ◾ 通用寄存器位宽是64bit ◾ 提供64bit PC,SP 和 ELR(exception-link-register) ◾新的指令集-A64,固定32bit的指令集 ◾新的特权模式 ◾使用一组PSTATE保存PE状态 ◾不支持协处理器 ◾使用64bit虚拟地址 AArch32(简称A32),兼容以前的arm指令,包括ARM和thumb指令,而AArch64,是全新的指令集,不兼容以前的arm指令。对于A64,使用64bit的虚拟地址,因此支持操作更大的memory空间。而pc也是64bit,因此可以在更大的memory空间上取指令执行。 可以认为AArch64(简称A64),是全新的ARM指令,和以前ARM指令完全不一样,因此区别也是比较大的。推出全新的指令集,是为了设计出更高性能的CPU。 二、特权模式与安全状态 1、特权模式 A64中,提出了全新的特权模式,不再使用A32中所使用的7种复杂的特权模式。 A64提出了简单的4种特权模式EL(exception level),分别是EL0,EL1,EL2,EL3。 EL0 : 运行应用程序 EL1 : 运行操作系统 EL2 : 运行虚拟机 EL3 : 运行安全管理 其中EL3的运行权限最高,EL0的运行权限最低。运行权限,会影响资源的访问。 ARMv8虽然定义了EL2和EL3,但是这两个EL不是一定要实现的。可以根据自己的需求,进行裁剪,或者都实现,或者都不实现,或者只实现一个。但EL0和EL1肯定是要实现的。 对于A32,还是兼容之前的特权模式。而每个特权模式,其实和A64的EL是有对应关系的。 对于A32: ◾ user特权模式,对应于A64的EL0。 ◾ supervisor, abort, undef, system, irq, fiq六种特权模式,对应于A64的EL1。 ◾ hyp对应于A64的EL2,运行虚拟机。 ◾ mon对应于A64的EL3,运行安全管理。 同理,hyp和mon不是一定要实现的。但7种特权模式,肯定是要实现的。 2、安全状态 ARMv8中,引入了两种安全状态: ◾ secure state ◾non-secure state 这里的安全状态,主要是影响资源的访问,比如memory,系统寄存器等。 对于memory,有时候需要做数据隔离,用于保护数据的安全性。因此就可以将memory分成两个区域,secure区域和non-secure区域。对于secure的memory区域,只允许secure状态去访问,而对于non-secure的memory区域,允许secure状态和non-secure状态都可访问。这样可以保护数据的安全。 对于系统寄存器,有些系统寄存器限制了最低EL的访问,这样可以有效的保护系统。不让低EL运行的程序,误操作这些系统寄存器而使整个系统崩溃掉。 对于EL1和EL0,可以是non-secure状态,也可以是secure状态。 对于EL2,只能是non-secure状态。据说最新的ARMv8.4,EL2可以是secure状态。 对于EL3,只能是secure状态。 secure和non-secure状态的切换,只能通过EL3进行切换,也就是如果想从non-secure的EL0切换到secure的EL0,首先要先从non-secure的EL0,通过异常切换到EL3,然后再通过异常,返回到secure的EL0。 三、A64与A32的切换 对于A32来说,ARM和thumb的切换,通过bx指令即可切换。但是对于A64和A32两种执行状态,只能通过异常,进行切换。 ARMv8对EL切换,进行了以下的限定: ◾切换到低EL,执行状态要么保持,要么切换到A32 ◾ 切换到高EL,执行状态要么保持,要么切换到A64 也就是如果当前执行状态是A32,切换到低EL,那么执行状态只能是A32。如果当前执行状态是A64,切换到高EL,那么执行状态只能是A64。 如下图所示,在A64的操作系统中,可以运行A32的应用程序,但是在A32的操作系统中,不能运行A64的应用程序。 如果EL3是A32,那么所有的EL都是A32了。 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
91 浏览 0 评论
iTOP-3A5000主控板龙芯架构外加机箱就是一台电脑主机
1031 浏览 0 评论
迅为RK3568开发板EMMC镜像导出打包update.img
1080 浏览 0 评论
飞凌嵌入式-ELFBOARD 硬件知识分享-ELF 2电源电路讲解
1506 浏览 0 评论
2213 浏览 0 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 21:38 , Processed in 0.547982 second(s), Total 68, Slave 52 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号