https://baijiahao.baidu.com/s?id=1695708603852200216&wfr=spider&for=pc
自 2011 年 10 月 Arm 首次公布 Armv8 架构以来,已经有近 10 年的时间了,这是计算领域相当多变的 10 年,因为指令集架构通过移动领域到服务器领域的应用越来越多,现在开始在笔记本电脑和即将到来的台式机等消费设备市场上普及。这些年来,Arm 对 ISA 进行了各种更新和扩展,有些是重要的,有些也许很容易被忽略。
今天,作为 Arm Vision Day 活动的一部分,Arm 公布了全新的 Armv9 架构,为 Arm 希望在未来十年成为下一代 3000 亿颗芯片的计算平台奠定基础。
Armv9 与 Armv8 到底有什么区别,才会在 ISA 的命名上有如此大的跳跃?
外媒分析称,说实话,单纯从 ISA 的角度来看,v9 可能并不像 v8 相比 v7 那样有根本性的跳跃,v8 曾用 AArch64 引入了完全不同的执行模式和指令集,而 AArch64 比 AArch32 有更大的微观架构影响,比如扩展寄存器、64 位虚拟地址空间等许多改进。
Armv9 延续了 AArch64 作为基准指令集的使用,然而在功能上增加了一些非常重要的扩展,值得在架构编号上做一个增量,可能让 Arm 也实现了一种软件的重新垒砌,不仅是新的 v9 功能,也包括我们这些年看到的各种 v8 扩展的发布。
IT之家获悉,Armv9 拥有三大新支柱,Arm 认为新架构的主要目标是:安全、AI 以及改进矢量和 DSP 能力。安全性是 v9 的一个非常大的话题,值得更深入地介绍新的扩展和功能细节,但谈到 DSP 和 AI 功能,可以是很直接的。
承诺与 Armv9 兼容的新 CPU 最大的新特性可能是开发者和用户马上就能看到的,那就是 SVE2 作为 NEON 的后续产品的基线。
可伸缩矢量扩展,也就是 SVE,在第一次实现的时候,早在 2016 年就宣布了,并首次在富士通的 A64FX CPU 核心中实现,现在日本的世界第一超级计算机 Fukagu 就采用了 SVE。SVE 的问题在于,这个新的可变向量长度 SIMD 指令集的首次迭代范围相当有限,而且更多的是针对 HPC 工作负载,缺少了许多通用性较强的指令,而这些指令仍然被 NEON 所覆盖。
SVE2 早在 2019 年 4 月就公布了,希望通过补充新的可扩展 SIMD 指令集所需的指令来解决这个问题,以服务于目前仍在使用 NEON(指 128 位 SIMD 单指令多数据扩展结构)的更多样的 DSP 类工作负载。
SVE 和 SVE2 除了增加各种现代 SIMD(单指令多数据)能力之外,好处在于它们的可变向量大小,从 128b 到 2048b 不等,允许可变 128b 粒度的向量,而不管实际硬件运行在什么地方。纯粹从矢量处理和编程的角度来看,这意味着软件开发者只需要编译一次代码,如果未来 CPU 会出现比如原生 512b 的 SIMD 执行流水线,代码就已经可以利用单位的全部宽度了。另外,同样的代码也能在更保守的设计上运行,并具有更低的硬件执行宽度能力,这对 Arm 公司来说非常重要,因为他们设计了从物联网、移动设备到数据中心的 CPU。此外,它还能在 Arm 架构的 32b 编码空间内完成所有这些工作,而在 x86 上的其他实现则必须根据向量大小增加新的扩展和指令。
机器学习也被视为 Armv9 的一个重要部分,因为 Arm 看到未来几年越来越多的 ML 工作负载将变得普遍。在专用加速器上运行 ML 工作负载自然仍然是性能或能效关键的要求,然而,仍然会有大量新的较小范围的 ML 工作负载采用,这些工作负载将在 CPU 上运行。
矩阵乘法指令是这里的关键,并将代表着在整个生态系统中看到更大规模采用的重要一步,作为 v9 CPU 的基线功能。
一般来说,SVE2 可能是保证跳转到 v9 命名法的最重要因素,因为它是一个更明确的 ISA 功能,在日常使用中区别于 v8 CPU,这将保证软件生态系统去实际分化现有的 v8 堆栈。这其实已经成为 Arm 在服务器领域的一个相当大的问题,因为软件生态系统仍然是以 v8.0 为基础的软件包,可惜缺少了最重要的 v8.1 大系统扩展。
让整个软件生态系统向前发展,并且能够假设新的 v9 硬件具有新架构扩展的能力,这将有助于推动事情的发展,可能会解决目前的一些情况。
然而 v9 不仅仅是 SVE2 和新的指令,它还有一个非常大的重点就是安全,在这里我们会看到一些比较彻底的变化。
新的 Arm 保密计算架构 (CCA)试图通过基于硬件的安全环境保护敏感数据。这些所谓的 “领域”可以动态创建,以保护重要数据和代码不受系统其余部分的影响。
除了这些更具体的改进外,Arm 还承诺在 Armv9 基础上进行更全面的性能提升。该公司预计,在未来两次迭代中,CPU 性能将提高 30% 以上,并通过软件和硬件优化进一步提升性能。Arm 表示,所有现有软件都可以在基于 Armv9 的处理器上运行,没有任何问题。