IT之家3月31日消息外媒AnandTech报道,安全性升级对于Armv9来说,其重要性相当于64位对于Armv8。 自2011年10月Arm首次公布Armv8架构以来,已经有近10年的时间了,这是计算领域相当多变的10年,因为指令集架构通过移动领域到服务器领域的应用越来越多,现在开始在笔记本电脑和即将到来的台式机等消费设备市场上普及。这些年来,Arm对ISA进行了各种更新和扩展,有些是重要的,有些也许很容易被忽略。 今天,作为ArmVisionDay活动的一部分,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年就宣布了,并首次在富士通的A64FXCPU核心中实现,现在日本的世界第一超级计算机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上运行。 矩阵乘法指令是这里的关键,并将代表着在整个生态系统中看到更大规模采用的重要一步,作为v9CPU的基线功能。 一般来说,SVE2可能是保证跳转到v9命名法的最重要因素,因为它是一个更明确的ISA功能,在日常使用中区别于v8CPU,这将保证软件生态系统去实际分化现有的v8堆栈。这其实已经成为Arm在服务器领域的一个相当大的问题,因为软件生态系统仍然是以v8。0为基础的软件包,可惜缺少了最重要的v8。1大系统扩展。 让整个软件生态系统向前发展,并且能够假设新的v9硬件具有新架构扩展的能力,这将有助于推动事情的发展,可能会解决目前的一些情况。 然而v9不仅仅是SVE2和新的指令,它还有一个非常大的重点就是安全,在这里我们会看到一些比较彻底的变化。 新的Arm保密计算架构(CCA)试图通过基于硬件的安全环境保护敏感数据。这些所谓的领域可以动态创建,以保护重要数据和代码不受系统其余部分的影响。 除了这些更具体的改进外,Arm还承诺在Armv9基础上进行更全面的性能提升。该公司预计,在未来两次迭代中,CPU性能将提高30以上,并通过软件和硬件优化进一步提升性能。Arm表示,所有现有软件都可以在基于Armv9的处理器上运行,没有任何问题。