对于全新的 Armv9 架构,ARM 公司 CEO 西蒙 · 塞加斯(Simon Segars)表示,「v9 架构将提升安全性和信任度,并为未来十年的计算机技术奠定基础。」
今日,ARM 公司正式宣布推出全新的 Armv9 架构,这是自 2011 年 10 月推出 Armv8 架构近十年之后,该公司对其 CPU 架构的首次重大调整变革。多年来,ARM 公司一直对指令集架构进行各种更新和扩展。该公司表示,本次 v9 架构旨在为移动端设备、计算机和服务器提供更强的算法支持。
ARMV8 、V9 是 ARM 架构的两个不同版本,它们在性能、安全和功能方面都有显著的差异。
一、架构核心差异
指令集扩展:
ARMv8(2011年推出):
首次引入64位架构(AArch64),兼容32位(AArch32)。
新增通用寄存器(31个64位寄存器)、改进的异常模型。
支持NEON SIMD指令集,优化多媒体处理。
ARMv9(2021年推出):
强化安全与AI能力,新增 SVE2(可伸缩矢量扩展2),支持动态矢量长度(128b至2048b)。
引入 Realm Management Extension (RME) 和 Confidential Compute Architecture (CCA),提供硬件级安全隔离(如“机密计算域”)。
新增内存标记扩展(MTE),防御内存安全漏洞(如缓冲区溢出)。
目标场景:
ARMv8:面向移动设备、服务器,解决64位普及与性能瓶颈。
ARMv9:瞄准AI、边缘计算、自动驾驶,强调安全性与异构计算。
二、对编译器的挑战与适配
ARMv8的影响:
编译器需支持双模式:生成32位(AArch32)与64位(AArch64)代码,优化寄存器分配与指令调度。
NEON向量化优化:编译器需自动向量化循环(如LLVM的Loop Vectorizer),利用SIMD提升性能。
ABI兼容性:需处理新旧架构的系统调用、函数调用约定差异(如参数传递规则)。
ARMv9的新需求:
SVE2支持:编译器需适配可变长度矢量(如LLVM的SVE2 intrinsics),实现自动向量化策略调整。
示例:循环中数据宽度未知时,生成适应任意矢量长度的代码。
安全特性适配:
MTE需编译器插入内存标记检查指令(如指针标签分配)。
RME/CCA需支持安全域切换的上下文管理(如TrustZone后端的代码隔离)。
指令集兼容性:需区分ARMv9专属指令(如SVE2),避免在旧架构设备上误用。
三、应用层的适配与优化
ARMv8的适配:
64位迁移:应用需重构代码以利用64位地址空间(如大型数据集处理)。
性能优化:显式使用NEON intrinsics(如vaddq_u8)加速图像处理、编解码。
ARMv9的新机遇:
AI与高性能计算:
使用SVE2加速矩阵运算(如卷积神经网络),无需固定矢量宽度。
示例:利用svadd指令实现动态矢量加法,适配不同硬件配置。
安全增强:
集成MTE防御内存攻击(如Android 13支持MTE调试)。
应用可划分敏感计算到CCA安全域,保护密钥等数据。
跨域协同:通过RME实现安全与非安全域间数据隔离(如车载系统隔离娱乐与控车模块)。
四、未来趋势
工具链演进:
GCC 12+/LLVM 15+已支持SVE2和MTE,开发者需升级工具链。
调试器(如GDB)需增强对安全域上下文的支持。
应用场景扩展:
边缘AI:ARMv9的SVE2助力端侧模型推理(如手机端Stable Diffusion)。
自动驾驶:CCA保障关键控制代码免受恶意攻击。
生态协同:
操作系统需适配安全扩展(如Linux内核支持RME内存管理)。
三方库(如OpenCV)需优化SVE2后端以提升性能。
总结
ARMv8奠定了64位基础,ARMv9在安全、AI、灵活性上实现跨越。
开发者需关注:编译器升级(SVE2/MTE支持)、代码向量化重构、安全模型适配。
未来ARMv9将成为AIoT与高性能计算的核心引擎,推动从“通用计算”到“场景专用”的转型。
Arm 架构的发展历程。
全新的 Armv9 架构有三个侧重点,分别是 AI、矢量和 DSP 性能改进、安全性。在具体细节上,Armv9 架构沿用 AArch64 基准指令集,并在功能方面添加了一些非常重要的扩展,从而确保 ARM 公司增加架构编号,并针对 v9 架构新特征以及多年来发布的各种 v8 架构扩展进行软件层面的基准重定。
据 ARM 公司表示,v9架构会驱动3000亿颗芯片,但不是3000亿颗都采用v9架构。并且,按照现有发展速度,预计未来五年内 ARM 设备的出货量将超过 1000 亿台。
ARM 表示,首颗基于Armv9架构的芯片将于2021年底前面世。
Armv9 架构未来 10 年的 CPU 计算平台奠定了基础。
Armv9 架构新特征
ARMv9是2021年发布的,主要有三项侧重点:加强了安全性、AI加速和矢量处理能力
首先来看 DSP 和 AI 性能。
DSP、ML 和 xR 工作负载的扩展矢量处理。
对于开发者和用户而言,全新 Armv9 兼容性 CPU 的最显著特征是将可伸缩矢量扩展 2(SVE2)作为 ARM NEON 技术之后新的基准。
SVE2 发布于 2019 年 4 月,旨在加速高性能计算,在处理 5G、虚拟现实(VR)和增强现实(AR)以及图像和语音识别等机器学习(ML)任务负载时具有很大增益。
ARM 认为,未来几年,ML 工作负载将变得越来越普遍。相应地,任何以性能或功耗为中心的设备需要在专用加速器上运行 ML 工作负载,但其中的大多数仍会选择采用在 CPU 上运行的更小范围的 ML 工作负载。
矩阵乘法指令(matrix multiplication instruction)是关键所在,是其自身作为 Armv9 CPU 一项基准特性被广泛使用的重要步骤。
安全性
ARM 希望通过全新的保密计算架构(Confidential Compute Architecture, CCA)来解决安全性问题。为此,ARM 引入一种新的概念——域(realms),它可以被视为对操作系统(OS)或虚拟机管理程序(hypervisor)完全不透明的安全容器执行环境。虽然虚拟机管理程序依然存在,但只负责资源调度和分配任务。
此外,域还将由新实体「域管理器」(realm manager)来管理,域管理器的代码量大约是虚拟机管理程序的 1/10。
Armv9 采用的 CCA 架构。
域内的应用将能够验证并确认域管理器是否可以信任,这对于传统虚拟机管理程序而言是无法实现的。ARM 并没有深入地介绍是什么在操作系统和虚拟机管理程序的域和非安全区域之间造成了这种隔离(separation),但听起来像是硬件支持的地址空间无法实现彼此之间的交互。
使用域的简单和复杂示例。
使用域的好处在于极大地减少了设备上运行的应用的信任链,同时操作系统也对安全问题变得非常透明。此外,ARM 还引入了内存标签(Memory Tagging)扩展,同样有助于消除安全问题。
ARM 引入的内存标签扩展。
最后, 预计未来两代移动和基础设施CPU的性能提升将超过30%。
参考链接:
https://aijishu.com/a/1060000000024513
https://www.cnbeta.com/articles/tech/1108589.htm
https://finance.sina.com.cn/tech/2021-03-31/doc-ikmxzfmi9630877.shtml
https://www.anandtech.com/show/16584/arm-announces-armv9-architecture