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。
二、特权模式与安全