日前,ARM公布了Armv9架构细节,新架构更加强调安全、更适合人工智能应用、以及拥有更强大的DSP能力。自Armv8架构首次公布已经有近 10 年的时间了,进入64位时代的ARM芯片应用十分广泛,消费类电子、服务器行业、汽车电子、物联网等设备到处可见ARM芯片的身影。这也说明ARM的IP授权商业模式得到了市场的认可,但是随着RISC-V的崛起,ARM感受到了生存的压力,RISC-V阵营的不断壮大让ARM的日子不那么好过了。此次公布Armv9架构细节,希望在未来十年仍旧是一个成功的平台,不知市场是否认可Armv9的表现。在此我们对Armv9做一个简单介绍,方便大家参考。
与前代ArmV8相比,Armv9新架构拥有三大新特点:安全、AI、 以及改进矢量扩展和 DSP 能力。可扩展矢量扩展(Scalable Vector Extensions,简称SVE)的首次实现是在2016年宣布的,但SVE的可变向量长度 SIMD 指令集的首次迭代范围相当有限,而且更多的是针对 HPC 工作负载,缺少了许多通用性较强的指令,而这些指令仍然被 NEON 所覆盖。SVE2 希望通过补充新的可扩展 SIMD 指令集所需的指令来解决这个问题,以服务于目前仍在使用 NEON(指 128 位 SIMD 单指令多数据扩展结构)的更多样的 DSP 类工作负载。
另外,同样的代码也能在更保守的设计上运行,并具有更低的硬件执行宽度能力,这对 Arm 公司来说非常重要,因为他们设计了从物联网、移动设备到数据中心的 CPU。此外,它还能在 Arm 架构的 32b 编码空间内完成所有这些工作,而在 x86 上的其他实现则必须根据向量大小增加新的扩展和指令。
机器学习也被视为Armv9的重要组成部分,因为Arm认为未来几年越来越多的ML工作负载将变得普遍。在专用加速器上运行机器学习工作负载自然仍将是性能或能效关键的任何要求,然而,仍将有大量新的较小范围的ML工作负载将在CPU上运行。
然而v9不仅仅是SVE2和新的指令,它还有一个非常大的重点就是安全,在这里我们会看到一些比较彻底的变化。在过去的几年中,我们已经看到安全性和硬件安全性漏洞已成为新闻的头等大事,例如Spectre,Meltdown等许多漏洞,以及它们所有同级的侧信道攻击都表明,对安全性的根本需求是重新思考如何处理安全性。Arm希望解决这一总体问题的一种方法是通过引入Arm机密计算体系结构来重新设计安全应用程序的工作方式。
CCA的目标是从当前的软件堆栈情况中获得更大的收益,在当前的软件堆栈情况下,在设备上运行的应用程序必须固有地信任它们所运行的操作系统和虚拟机管理程序。传统的安全模型是基于以下事实建立的:更高特权的软件层被允许并能够查看较低层软件的执行情况,,然而当操作系统或系统管理程序被以任何方式损害时,这就可能成为了一个问题。CCA引入了动态创建““realms”的新概念,可以将其视为对OS或虚拟机管理程序完全不透明的安全容器化执行环境。系统管理程序将仍然存在,但仅负责调度和资源分配。而“realm”将由称为“ealm manager”的新实体管理,其被认为是一段新的代码,大约只有管理程序的1/10大小。
总的来看,Armv9似乎是一个混合体,一方面是更根本的ISA转变,另一方面是对软件生态系统的总体重新梳理,以汇总过去十年的v8扩展,并为下一个十年的Arm架构打下基础,预计2022年初就能在商用设备上看到基于Armv9的通用SoC产品。