随着人工智能(AI)的崛起和安全威胁加剧,计算的需求持续加强。因此,世界上各种设备核心的基础计算架构的持续演进显得尤为重要。这就是为什么我们的工程团队向Arm架构中添加新的功能和技术,然后软件团队确保软件尽可能无缝地利用这些未来的功能和技术。
Arm架构是怎样开发的
Arm每年发布对Arm指令集架构(ISA)的更新,这些更新是与Arm生态系统的多样化合作伙伴共同创建的。该过程涉及芯片合作伙伴、操作系统供应商和OEMs、Arm的内部工程团队和标准制定机构。
经过严格规划的ISA可以确保软件在新旧硬件上继续工作很多年。Arm与Linaro以及其他众多合作伙伴紧密合作,以便最广泛使用的软件上游社区(例如Linux内核和发行版)可以利用Arm ISA,以帮助提供全球最广泛的开发者生态系统。
每年九月,我们发布一篇博客,讨论当年A-Profile架构的关键更新。然后我们通过开发者网页发布完整的指令集和系统寄存器文档。
完整的Arm架构参考手册(Arm ARM)也每年更新一次。预计将在2024年初发布包含2023扩展的更新。在2023年和2024年,“Learn the Architecture”页面也将更新。
发布博客和文档只是部署新架构的第一步。下一步我们将和生态系统伙伴合作,确保一旦硬件可用,开源软件就能立即利用这一功能。
2023年,Arm引入新功能,以支持我们持续关注的人工智能(AI)、机器学习(ML)和安全性。让安全的AI无处不在是Arm架构的关键优先任务,神经网络(NNs)的训练对AI的持续发展和进步至关重要。这就是为什么2023年的架构扩展包括FP8的新8位浮点格式的支持,此格式已在NNs中迅速被采纳。在安全性方面,我们正在添加Checked Pointer Arithmetic,该功能基于Arm Memory Tagging Extension (MTE),允许开发人员快速检测内存安全性违规,从而在应用开发过程中节省成本和时间。
之前对A-Profile架构的更新的详细信息可以在这里找到:2014、2015、2016、2017、2018、2019、2020、2021和2022。
让我们看看今年增加了哪些新功能。
Floating Point 8 (FP8)
2022年,Arm、Intel 和 Nvidia 宣布了他们在FP8上的合作,这是一个交换格式,允许软件生态系统轻松地共享NN模型,并支持AI计算能力的持续进步。作为2023年扩展的一部分,SME2、SVE2 和 Advanced SIMD (Neon) 增加了对FP8的支持。
FP8支持两种数据格式:E5M2 和 E4M3。这两种格式在精度和范围之间提供了不同的权衡。
由FPMR寄存器控制选择使用那种格式。可以为一条指令的不同输入选择不同的格式,从而有效地处理不同格式的数据集。我们坚信,行业共创的FP8带来的好处,使开发者能够集中精力在真正重要的创新和差异化上。我们很兴奋地看到FP8如何推动未来的AI发展.
实时迁移
实时迁移是将虚拟机(VM)从一个主机移动到另一个主机的过程,同时保留其可用性和状态。高效的实时迁移支持是大规模数据中心管理的重要工具。
为了实现实时迁移,hypervisor需要在VM仍在旧主机上运行时将页面复制到新主机。这通常需要一个迭代过程,因为VM可能会“弄脏”已经被复制的页面。解决这个问题有不同的方法,但它们都必须面对三个挑战:
记录(Recording):创建VM写入(弄脏)的页面的记录。
调查(Surveying):处理记录,以确定哪些页面需要重新复制。
清理(Cleaning):在每次迭代上重置记录机制。
2023年的扩展引入了新特性,帮助优化这三个过程。
FEAT_HDBSS增加了记录被弄脏的stage 2页面或块日志的能力。这种机制减少了记录成本,因为内存管理单元(MMU)可以有效地创建日志,而不中断VM的执行。该日志还减少了调查成本,因为生成的数据是hypervisor可以高效使用的格式。
为了解决清理成本,FEAT_HACDBS为清理 stage 2页表中的脏状态增加了一个加速器。该引擎使用脏页面的日志来定位需要更新的stage 2页表描述符。
这些特性一起为实时迁移带来显著的性能和效率提升。
Checked Pointer Arithmetic 检验过的指针运算
AArch64支持的特性可以重新利用保存地址的寄存器的高位。例如,Armv8.0-A中引入的Tagged Pointers和Armv8.5-A中引入的MTE。
软件经常需要操作指针,例如给基址加上一个偏移量。这通常使用常规的算术操作来完成,如加或减。地址计算上的溢出可能导致非地址位被损坏。例如,如果正在使用MTE,地址操作可能导致存储在指针中的MTE Tag被更改。损坏的MTE Tag可能导致处理器无法检测到内存安全违规,如下所示:
2023年的扩展引入了专门用于操作指针的新指令。这些指令包含多个指针特定的检查,包括检查bits[63:56]是否被修改,并防止溢出。寻址模式的加载和存储指令也可以被配置为保留bits[63:56]。
取之前的MTE例子,新的特性允许处理器检测指针的前8位是否已经被修改。这意味着,如果MTE标签被损坏,它将被报告回到软件中。
其他功能
2023年扩展部分引入的其他增强功能包括:
-
寄存器
+关注
关注
31文章
5336浏览量
120230 -
神经网络
+关注
关注
42文章
4771浏览量
100712 -
人工智能
+关注
关注
1791文章
47183浏览量
238243 -
机器学习
+关注
关注
66文章
8406浏览量
132558 -
ARM架构
+关注
关注
14文章
177浏览量
36304
发布评论请先 登录
相关推荐
评论