aarch架构怎么看系统

aarch架构怎么看系统,第1张

本节来讲讲 ARM 的 AArch64 体系结构,扩展一下视野。
看看什么是 AArch64 体系,然后分析一下 AArch64 体系有什么特点,最后了解一下 AArch64 体系下运行程序的基础,包括 AArch64 体系下的寄存器、运行模式、异常与中断处理,以及 AArch64 体系的地址空间与内存模型。
什么是AArch64体系
ARM 架构在不断发展,现在它在各个领域都得到了非常广泛地应用。
自从 Acorn 公司于 1983 年开始发布第一个版本,到目前为止,有九个主要版本,版本号由 1 到 9 表示。2011 年,Acorn 公司发布了 ARMv8 版本。
ARMv8 是首款支持 64 位指令集的 ARM 处理器架构,它兼容了 ARMv7 与之前处理器的技术基础,同样它也兼容现有的 A32(ARM 32bit)指令集,还扩充了基于 64bit 的 AArch64 架构。
下面我们一起来看看 ARMv8 一共定义了哪几种架构,一共有三种。
1、ARMv8-A(Application)架构,支持基于内存管理的虚拟内存系统体系结构(VMSA),支持A64、A32和T32指令集,主打高性能,在我们的移动智能设备中广泛应用。
2、RMv8-R(Real-time)架构,支持基于内存保护的受保护内存系统架构(PMSA),支持 A32 和 T32 指令集,一般用于实时计算系统。
3、ARMv8-M(Microcontroller 架构),是一个压缩成本的嵌入式架构,而且需要极低延迟中断处理。它支持 T32 指令集的变体,主打低功耗,一般用于物联网设备。
今天我们要讨论的 AArch64,它只是 ARMv8-A 架构下的一种执行状态,“64”表示内存或者数据都保存在 64 位的寄存器中,并且它的基本指令集可以用 64 位寄存器进行数据运算处理。
AArch64 体系的寄存器
一款处理器要运行程序和处理数据,必须要有一定数量的寄存器。特别是基于 RISC(精简指令集)架构的 ARM 处理器,寄存器数量非常之多,因为大量的指令 *** 作的就是寄存器。
ARMv8-AArch64 体系下的寄存器简单可以分为以下几类。
通用寄存器
特殊寄存器
系统寄存器
下面我们分别来看看这三类寄存器。
通用寄存器 R0-R30
首先来看通用寄存器(general-purpose registers),通用寄存器一共为 31 个,从 R0 到 R30,这个 31 个寄存器可以作为全 64 位使用,也可以只使用其中的低 32 位。
全 64 位的寄存器以 x0 到 x30 名称进行引用,用于 32 位或者 64 位的整数运算或者 64 位的寻址;低 32 位寄存器以 W0 到 W30 名称进行引用,只能用于 32 位的整数运算或者 32 位的寻址。为了帮你理解,我还在后面画了示意图。
register_common:

通用寄存器中还有 32 个向量寄存器(SIMD),编号从 V0 到 V31。因为向量计算依然是数据运算类的,所以要把它们归纳到通用寄存器中。每个向量寄存器都是 128 位的,但是它们可以单独使用其中的 8 位、16 位、32 位、64 位,它们的访问方式和索引名称如下所示。
Q0 到 Q31 为一个 128-bit 的向量寄存器 ;
D0 到 D31 为一个 64-bit 的向量寄存器;
S0 到 S31 为一个 32-bit 的向量寄存器;
H0 到 H31 为一个 16-bit 的向量寄存器;
B0 到 B31 为一个 8-bit 的向量寄存器;
register_simd:

特殊寄存器
特殊寄存器(spseical registers)比通用寄存器稍微复杂一些,它还可以细分,包括程序计数寄存器(PC),栈指针寄存器(SP),异常链接寄存器(ELR_ELx),程序状态寄存器(PSTATE、SPSR_ELx)等。
special_register

①加大投入研发力度,率先试验,做好布局5G网络的先前准备;
②设备厂商开始生产可以连接网络的设备;
③加快AI人工智能布局,如:无人驾驶技术、无人工厂、智能化管理等。这些看似无关,实际对网络的响应速度要求还是蛮高的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13511768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-22
下一篇 2023-08-22

发表评论

登录后才能评论

评论列表(0条)

保存