arm新架构arm v9指令集

自2011年10月Arm首次宣布Armv8架构以来,已经过去了近10年,这是计算领域非常多变的十年。由于指令集架构已从移动领域广泛应用到服务器领域,因此在笔记本电脑和即将推出的台式机等消费类设备市场上广受欢迎。

多年来,Arm对ISA进行了各种更新和扩展,其中一些重要内容可能很容易被忽视。但是不管怎么改,都是基于ArmV8架构。所以大家都在等待Arm最新的ArmV9架构的到来。

今天,作为Arm Vision Day活动的一部分,该公司终于公布了新Armv9架构的首批细节,为Arm在未来十年成为下一个拥有3000亿芯片的计算平台奠定了基础。

Armv9和Armv8有什么区别,以至于ISA的命名有这么大的跳跃?

读者可能会问自己一个最大的问题,就是Armv9和Armv8有什么区别,使得ISA的命名有了这么大的飞跃。说实话,单从ISA的角度来看,v9可能不像v8和v7相比那样是一个根本性的跳跃。v8使用Arch64引入了完全不同的执行模式和指令集,并且Arch64比Arch32具有更大的微架构影响力,比如扩展寄存器、64位虚拟地址空间等诸多改进。

Armv9继续使用AArch64作为基准指令集。但是在功能上增加了一些非常重要的扩展,值得在架构数量上做一个增量。它可能使Arm实现一个新的软件重新构建,不仅是新的v9功能,还有我们近年来看到的各种v8扩展的发布。

EETOP了解到,Armv9有三大新支柱,Arm认为新架构的主要目标是:安全性、AI以及提高矢量扩展和DSP能力。安全性是v9中一个非常大的话题。我们将更深入地讨论特性的新扩展和新细节,但首先我们应该直接了解DSP和AI特性。

新的Armv9兼容CPU承诺的最大新功能可能会立即被开发者和用户看到,这是SVE2作为NEON的继任者的基础。

可伸缩矢量扩展简称SVE)的第一个实现是在2016年宣布的,它最初是在富士通的A64FX CPU内核中实现的,现在正在用于日本头号超级计算机Fukagu。SVE的问题是,这种新的变向量长SIMD指令集的第一次迭代范围相当有限,更多的是针对HPC的工作负载,缺少很多通用指令,这些仍然被NEON覆盖。

SVE2早在2019年4月就发布了,希望通过补充新的可扩展SIMD指令集所需的指令来解决这个问题,从而服务于仍在使用NEON 128位SIMD单指令多数据扩展结构)的更加多样化的DSP工作负载。

SVE和SVE2不仅增加了各种现代SIMD单指令多数据)的能力,还具有其可变向量大小的优势,范围从128b到2048b,无论实际硬件在哪里运行,都允许128b的可变粒度向量。从纯向量处理和编程的角度来看,这意味着软件开发人员只需要编译代码一次。如果将来在CPU中有一个SIMD流水线,比如native 512b,那么代码就已经可以使用单元的全宽度了。

此外,相同的代码可以在更保守的设计上运行,硬件执行宽度更低,这对Arm公司来说非常重要,因为他们设计了从物联网、移动设备到数据中心的CPU。此外,它可以在Arm架构的32b编码空间中完成所有这些任务,而x86上的其他实现必须根据向量大小添加新的扩展和指令。

机器学习也被认为是Armv9的重要组成部分,因为Arm相信在未来几年,越来越多的ML工作负载将变得普遍。自然,在专用加速器上运行ML工作负载仍然是对性能或能效至关重要的任何要求。但是,仍然会有大量小范围的新ML工作负载在CPU上运行。

矩阵乘法指令是这里的关键,它将代表整个生态系统中更大规模采用的重要一步,作为v9 CPU的基本功能。

一般来说,SVE2可能是保证跳转到v9命名的最重要因素,因为它ISA更显ISA功能,这与日常使用的v8 CPU不同,后者会

保证软件生态系统去实际分化现有的 v8 堆栈。这其实已经成为Arm在服务器领域的一个相当大的问题,因为软件生态系统仍然是以v8.0为基础的软件包,可惜缺少了最重要的v8.1大系统扩展。

让整个软件生态系统向前发展,并且能够假设新的v9硬件具有新架构扩展的能力,这将有助于推动事情的发展,可能会解决目前的一些情况。

然而v9不仅仅是SVE2和新的指令,它还有一个非常大的重点就是安全,在这里我们会看到一些比较彻底的变化。

具有保密功能的计算架构

在过去的几年中,我们已经看到安全性和硬件安全性漏洞已成为新闻的头等大事,例如Spectre,Meltdown等许多漏洞,以及它们所有同级的侧信道攻击都表明,对安全性的根本需求是重新思考如何处理安全性。Arm希望解决这一总体问题的一种方法是通过引入Arm机密计算体系结构来重新设计安全应用程序的工作方式。

在继续之前,先提醒一下,今天的披露仅仅是对新CCA运作方式的高层解释,Arm表示,有关新安全机制的确切工作原理的更多细节将在今年夏天晚些时候公布。

CCA的目标是从当前的软件堆栈情况中获得更大的收益,在当前的软件堆栈情况下,在设备上运行的应用程序必须固有地信任它们所运行的操作系统和虚拟机管理程序。传统的安全模型是基于以下事实建立的:更高特权的软件层被允许并能够查看较低层软件的执行情况,,然而当操作系统或系统管理程序被以任何方式损害时,这就可能成为了一个问题。

CCA引入了动态创建““realms”的新概念,可以将其视为对OS或虚拟机管理程序完全不透明的安全容器化执行环境。系统管理程序将仍然存在,但仅负责调度和资源分配。而“realm”将由称为“ealm manager”的新实体管理,其被认为是一段新的代码,大约只有管理程序的1/10大小。

realm内的应用程序将能够“证明”realm管理器以确定其是否可信任,这对于传统的虚拟机管理程序而言是不可能的。

Arm并没有深入探讨究竟是什么造成了realm与操作系统和虚拟机管理程序的非安全世界之间的这种隔离,但听起来确实像硬件支持的地址空间,它们无法相互交互。

使用领域的优势在于,它极大地减少了设备上运行的给定应用程序的信任链,并且OS对安全性问题变得越来越透明。与当今需要企业或企业使用带有授权软件堆栈的专用设备的情况相反,需要监督控制的关键任务应用程序将能够在任何设备上运行。

MTE并不是v9的新功能,而是随v8.5一起引入的,MTE或内存标签扩展旨在帮助解决全球软件中两个最持久的安全问题。缓冲区溢出和无用后使用是持续的软件设计问题,在过去的50年中,这些问题一直是软件设计的一部分,要识别或解决它们可能要花费数年时间。MTE旨在通过在分配时标记指针并在使用时进行检查来帮助识别此类问题。

未来 Arm CPU路线图

虽然这与v9没有直接关系,但是与即将到来的v9设计的技术路线图紧密相关,Arm还谈到了有关他们在未来2年中对v9设计的预期性能的一些观点。

Arm表示,与几年前2016年的Cortex-A73相比,移动领域今年的X1设备性能提升了2.4倍(我们这里说的是纯ISO进程设计的IPC)。

有趣的是,Arm还谈到了Neoverse V1设计,以及他们如何实现2.4倍于A72级设计的性能,并披露他们预计今年晚些时候将发布第一批V1设备。

对于代号为Matterhorn和Makalu的下一代移动IP核,Arm披露这两代产品预计IPC总增益将达到30%,不包括SoC设计人员可能达到的频率或任何其他额外性能增益。这实际上代表了这两款新设计的14%的代际增长,正如幻灯片中的性能曲线所示,这表明相对于Arm在A76之后的几年里所做的改进正在放缓。尽管如此,该公司表示,发展速度仍然远远超过行业平均水平。

Arm还提供了一张很有意思的PPT,该PPT旨在关注系统侧对性能的影响,而不仅仅是CPU IP性能。从这里提供的一些数据可以看到,例如每5ns的内存延迟中有1%的性能,但Arm在这里也指出,如果专注于通过改善内存路径、增加缓存或优化频率能力来改善实现的其他各方面,CPU的性能可以被压榨出整整一代。我认为这是对目前SoC厂商保守做法的隐晦抨击,他们没有充分利用X1核心的预期性能余量,随后也没有达到新核心的预期性能预测。

Arm仍然认为CPU是未来最通用的计算块。虽然专用加速器或GPU会有其一席之地,但它们很难解决可编程性、保护性、普适性(本质上能够在任何设备上运行)以及正确工作的成熟能力等重要点。目前,计算生态系统的运行方式极其分散,不仅设备类型不同,设备厂商和操作系统之间也存在差异。

SVE2和矩阵乘法可以极大地简化软件生态系统,让计算工作负载向前迈进一步,采用更统一的方法,未来可以在任何设备上运行。

最后,Arm对Mali GPU的未来有一个新的信息,披露了该公司正在研究VRS,特别是Ray Tracing等新技术。后一点听起来颇为令人惊讶,也预示着AMD和Nvidia推出RT的桌面和游戏机生态系统的推动,也有望推动移动GPU生态系统向RT发展。

Armv9设备将在2022年初面世

今天的公告是以一种极其高级的形式发布的,我们预计Arm会在未来几个月公司惯常的年度技术披露中更多地谈论Armv9的各种细节以及CCA等新特性。

总的来说,Armv9似乎是一个混合体,一方面是更根本的ISA转变,SVE2可以看作是,另一方面是对软件生态系统的总体重新梳理,以汇总过去十年的v8扩展,并为下一个十年的Arm架构打下基础。

Arm在去年年底就已经谈到了Neoverse V1和N2,我确实预计N2至少会作为v9设计最终亮相。Arm进一步披露,预计今年会有更多的Armv9 CPU设计亮相,很可能是移动端Cortex-A78和X1的继任者,新的CPU很可能已经被一般的SoC厂商扎堆,预计2022年初就能在商用设备上看到。

华为是否可用?

由于美国的霸权行为,目前华为先进芯片已经无法获得代工支持了,但是对应后续芯片的研发华为应该不会放弃。目前华为最新的移动处理器是麒麟9000,基于Armv8 的 A77架构。因为华为早已购买了Armv8架构,所以基于此架构的A78、X1架构华为依然可用。但是华为是否可用最新的基于Armv9架构?

早在2019年9月25日,ARM全球负责芯片授权的IP产品事业群总裁苗条的书包(Rene Haas)曾明确表示,华为和海思是ARM的长期合作伙伴,后续的芯片架构都可以授权给华为海思。cxdgk表示,在2019年5月美国政府将华为列入实体清单后,ARM对公司产品进行了厘清,目前有了一个明确结论,即无论是目前的V8架构,还是后续新的芯片架构,都是基于英国技术开发,不会受美国出口管制影响,可以授权给华为海思。由此看来只要ARM没有被美国公司英伟达所收购的化,Armv9架构授权给华为还是应该问题不大的。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注