Arm架构新增的功能以扩展的形式提供,这样Arm能够定期发布新功能,以响应合作伙伴的需求,而无需对主架构进行重大更改。
Arm 每年都会发布新的扩展。Cortex CPU 是该架构的 Arm 实现,其会根据发布时间使用相应的扩展。
本指南解释了 Arm 架构的扩展,并提供了阅读和使用指导。
在本指南的最后,您可以检查您的知识。您将学到以下内容:
Arm 架构有不同的版本。这些不同的版本通常展示为 ArmvX,其中 X 是版本号。例如,Armv8‑A 表示 Arm A‑profile 架
构的第8个版本,Armv9‑A 表示 A‑profile 架构的第9个版本。像 Armv8‑A 这样的版本是该架构的主要版本。
但是,也有一些次版本添加到主版本中。这些次版本称为 .x 扩展。例如,Armv8.1‑A 表示 A‑profile 架构的第8个版本,通过 .1 进行扩展。
主版本的Arm架构开发可能需要很多年。例如,Armv7‑A 于 2007 年发布,Armv8‑A 于六年后的 2013 年发布。由于需要在两个主版本之间添加新功能,因此架构添加了次版本(.x 扩展)。
自 Armv8‑A 发布以来,在主版本之间添加架构的过程已经正式化。现在每年都会发布 .x 扩展,从基本 Armv8.0‑A 开始,2015 年添加了 Armv8.1‑A 扩展,然后于 2016 年添加了 Armv8.2‑A 扩展。每个 .x 扩展都建立在上一个扩展的基础上。例如,Armv8.2‑A包含Armv8.1‑A的所有功能,并添加了新功能,Armv9‑A 同理。
扩展功能的命名格式为 FEAT_
,例如:
您可以在 Arm 开发者网站上找到完整的功能列表。
Arm 架构文档经常使用这些标识符。例如,以下是 AMCFGR 寄存器的说明:
该寄存器仅在实现 FEAT_AMUv1 时才存在。否则,对 AMCFGR 的直接访问是未定义的。
Arm 架构参考手册提供了在 Armv8.x-A 和 Armv9.x-A 架构中哪些功能是可选或强制的信息。
每个 .x 扩展都包含一系列功能,其中一些是必需的,一些是可选的。如果处理器实现了该扩展号的所有强制功能以及所有旧版本扩展的强制功能,则该处理器实现了 .x 扩展。
例如,Armv8.2-A的处理器必须实现以下架构版本和扩展中的所有强制功能:
同样,Armv9.1-A的处理器必须实现如下功能:
Armv8.x-A 处理器可以实现下一个版本的任何扩展。但是,它无法再实现更高版本中的扩展。
例如,Armv8.1-A的处理器功能:
这一部分总结了每个 Armv8.xA 和 Armv9.xA 扩展中添加的新功能。我们不提供完整的功能列表,但我们包含了最重要的功能。请注意,某些功能仅限于 AArch64 状态,而其他功能则在 AArch32 和 AArch64 状态下均可用。
Arm架构有一些特性寄存器,用于报告处理器支持的功能。对于 .x 扩展中增加的功能,这些寄存器中的字段都会指明处理器是否支持。
例如,ID_AA64MMFR2_EL1.AT
告诉你是否支持Armv8.4-A中对宽松对齐的要求。没有字段指明处理器是否是Armv8.1-A,但软件可以读取所有8.1-A中强制功能字段,如果它们全部存在,则处理器符合Armv8.1-A。
服务器基础系统架构 (SBSA) 规定了服务器的硬件要求。 SBSA 确保操作系统、虚拟机管理程序和固件正确运行。对于服务器来说,一定程度的标准化很重要,SBSA 定义了架构必须实施的扩展。
下表总结了与Armv8.x扩展相关的SBSA需求。
Armv8.3 的主版本和.x 扩展是什么?
主版本8,扩展3
Armv8.4‑A 中添加了安全虚拟化。 Armv8.1‑A 处理器是否可以实现它?
不能。Armv8.1 处理器必须实现 Armv8.1 的强制功能,并且可以实现 Armv8.2‑A 的功能。但不允许实现 Armv8.3、
Armv8.4 或更高版本的功能,除非做出特殊让步。
只有可选功能才有字段来报告其存在?
不是。强制和可选功能均有字段指明。
Cortex‑A55 实现了 Arm 架构的哪个主版本和扩展?
Armv8.2-A。
SBSA 的哪些等级需要支持 16 位 VMID?
Level3及以上。
要了解有关本指南中相关的更多信息,请参阅:
安全指南
Arm社区(提出开发问题,并查找Arm专家发表的文章和博客)
Armv8-x.A 和 SBSA
每年 Arm 都会发布对其主要架构的扩展,提供新功能来支持合作伙伴的需求。在本指南中,我们解释了 Armv8.x 架构的扩展,描述了如何使用这些扩展,并概述了一些扩展支持的功能。
阅读本指南后,您应该了解扩展的表达方式、哪些功能在哪些扩展中可用,以及如何确定 Arm Cortex CPU 支持哪些功能。
要继续了解 Armv8‑A 和 Armv9‑A 架构,请参阅series of guides。