0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arm架构是如何开发的

Arm社区 来源:Arm社区 2023-11-23 16:31 次阅读

作者:Arm 架构与技术部产品管理总监 Martin Weidmann

随着人工智能 (AI) 的兴起和安全威胁的加剧,计算需求不断提高。全球各种设备所依赖的基础计算架构也必须持续向前推进。为此,我们的工程团队不断地在应用广泛的 Arm 架构中加入新的功能和技术,同时我们的软件团队也在努力让软件能够顺利地适配这些未来的功能和技术。

Arm 架构是如何开发的

Arm 每年都会发布 Arm 指令集架构 (ISA) 的更新,这些更新是通过与 Arm 生态系统中的各类合作伙伴合作参与创建的。该流程涉及芯片合作伙伴、操作系统供应商、OEM 厂商,以及 Arm 内部的工程团队和多家标准组织。

经过精心设计的 ISA 可确保软件在未来数年内持续兼容新旧硬件。Arm 与 Linaro 等众多合作伙伴紧密协作,让诸如 Linux 内核和发行版等广泛使用的软件上游社区能支持 Arm ISA,以便建立庞大的开发者生态系统。

每年九月,我们都会发表一篇技术博客,分享该年度对 A-Profile 架构所作的一些重要增添。同时,我们也会在 Arm 开发者网站上发布完整的指令集和系统寄存器文档[1]。

完整的 Arm 架构参考手册[2] (Arm Architecture Reference Manual, Arm ARM) 也会每年更新一次。预计 2024 年初会发布包含 2023 年扩展内容的更新版。“学习架构 (Learn the Architecture)”[3]页面同样会在 2023 年和 2024 年更新。

技术博客和文档的发布只是部署新架构的一小步。接下来我们还要同生态合作伙伴一起努力,确保一旦硬件准备就绪,开源软件就能即刻支持新的架构功能。

2023 年,Arm 推出新特性以加强对人工智能 (AI)、机器学习 (ML) 和安全性的支持。Arm 架构的首要任务之一是让安全的 AI 无处不在,而神经网络 (NN) 的训练是 AI 不断进步和发展的关键。因此,2023 年的架构扩展增加了已在神经网络中广泛使用的新八位浮点格式,名为 FP8。为了提高安全性,我们还增加了“经检查的指令运算 (Checked Pointer Arithmetic)”功能,该功能基于 Arm 内存标记扩展 (MTE)[4] 的现有支持而打造,可以帮助开发者快速发现内存安全违规,节省应用开发的成本和时间。

以下为今年新增的功能:

FP8

2022 年,Arm、Intel 和 Nvidia 宣布针对 FP8 展开合作。FP8 是一种交换格式,可以让软件生态系统轻松共享神经网络模型,并让 AI 计算能力不断提高。作为 2023 年扩展的一部分,SME2、SVE2 和 Advanced SIMD (Neon) 增加了对 FP8 的支持。

FP8 支持两种数据格式:E5M2 和 E4M3。这两种格式在精度和范围上有不同的取舍。

aa8b2f5a-7855-11ee-939d-92fbcf53809c.png

使用哪种格式由 FPMR 寄存器中的字段选择。对于一条指令的不同输入,可以选择不同的格式,从而有效地处理各种格式的数据集。我们坚信,围绕八位浮点格式的行业共创将带来一系列好处,同时可使开发者专注于真正重要的创新和差异化。我们非常高兴看到 FP8 将推动未来 AI 的发展。

热迁移

热迁移是指将虚拟机 (VM) 从一台主机移动到另一台主机上,而不影响其可用性和状态。能够高效地进行热迁移对于大规模数据中心管理而言非常重要。

为了实现热迁移,虚拟机管理程序要在 VM 仍在旧主机上运行时,就把它所占用的页面复制到新主机上。这个过程通常要反复进行几次,因为 VM 可能会修改已经复制的页面。解决这个问题有不同的方法,但都要面对三项挑战:

记录:记录 VM 修改过(污染过)的页面。

调查:根据记录判断哪些页面需要重新复制。

清理:每次迭代时重置记录机制。

2023 年的扩展增加了几项功能,可以帮助优化上述的三项挑战。

FEAT_HDBSS 让我们可以记录日志,记录 Stage 2 已被污染的页面或块。该机制解决了“记录”成本问题,因为内存管理单元 (MMU) 可以在不中断 VM 执行的情况下高效创建日志。日志也解决了“调查”成本问题,因为生成的数据是虚拟机管理程序可以有效使用的格式。

aad8ab18-7855-11ee-939d-92fbcf53809c.png

为了解决“清理”成本问题,FEAT_HACDBS 增加了一个加速器来清理 Stage 2 转换表中的污染状态。引擎利用污染页面日志来定位需要更新的 Stage 2 转换表描述符。

这些功能结合起来可以大幅提高热迁移的性能和效率。

经检查的指令运算

AArch64 支持多项功能,这些功能让我们可以重新利用保存地址的寄存器高位。例如,Armv8.0-A 中引入的标记指针 (Tagged Pointer) 和 Armv8.5-A 中引入的 MTE。

软件经常需要操作指针,比如给一个基地址加上一个偏移量。这通常是用加法或减法等常规算术运算来完成的。如果地址计算出现溢出,就可能会破坏寄存器中非地址位的信息。例如,如果使用 MTE,地址操作则可能会改变指针中存储的标记。损坏的标记可能会导致处理器无法检测到内存安全违规,如下所示:

aadcd8be-7855-11ee-939d-92fbcf53809c.png

2023 年的扩展引入了专门用于指针操作的新指令。这些指令包含多种针对指针的检查,包括检查 bits[63:56] 是否被修改并防止溢出。使用 寻址模式的内存加载和存储指令也可以配置为保留 bits[63:56]。

以前面的 MTE 为例,新功能让处理器能够检测指针的前八位是否已被修改。这意味着,如果 MTE 标记损坏,则会向软件发出报告。

其他功能

其他新引入的增强功能包括:

当生成或检查指针验证 (PAC) 码时,支持组合使用程序计数器 (Program Counter, PC) 和当前选择的堆栈指针 (Stack Pointer, SP) 作为修饰符。

支持启用了机密领域管理扩展 (RME)[5] 的设计,可以在 Granule Protection Tables 中支持 non-secure only,也可以禁用某些物理地址空间 (PAS)。

EL3 配置写入陷阱。

断点支持地址范围和 mismatch 触发,而无需链接。

支持将 SError 从 EL3 高效委派给 EL2 或 EL1 处理。

在接下来的几个月,Arm 将与合作伙伴一起努力,确保软件生态系统能够在未来处理器上市后尽快利用发挥这些功能的优势。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9043

    浏览量

    366736
  • AI
    AI
    +关注

    关注

    87

    文章

    30091

    浏览量

    268351
  • 人工智能
    +关注

    关注

    1791

    文章

    46833

    浏览量

    237483
  • ARM架构
    +关注

    关注

    14

    文章

    177

    浏览量

    36284

原文标题:Arm A-Profile 架构 2023 扩展

文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM开发板与FPGA的结合应用

    一、引言 ARM开发板是一种基于ARM架构的嵌入式开发平台,具有高性能、低功耗的特点。FPGA是一种可编程的数字电路,可以根据需要配置不同的
    的头像 发表于 11-05 11:42 291次阅读

    ARM开发板与树莓派的比较

    ARM开发板和树莓派都是基于ARM架构的单板计算机,它们在教育、工业控制、物联网等领域有着广泛的应用。 硬件配置 ARM
    的头像 发表于 11-05 11:11 219次阅读

    基于高通主板的ARM架构服务器

    一、ARM架构服务器的崛起 (一)市场需求推动 消费市场寒冬,全球消费电子需求下行,服务器成半导体核心动力之一。Arm 加速布局服务器领域,如 9 月推出 Neoverse V2。长久以来,x86
    的头像 发表于 09-11 10:53 425次阅读

    什么是ARM架构?什么是X86架构?两者的区别是什么?

    一、什么是ARM架构? (一)起源与发展 ARM 架构由英国剑桥的 Acorn 计算机公司开发。因市场无合适产品,Acorn 自行设计出第一
    的头像 发表于 09-06 10:40 663次阅读

    树莓派和arm开发板的区别

    树莓派(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓派(Raspberry Pi) 树莓派是由英国树莓派基金
    的头像 发表于 08-30 15:36 789次阅读

    联发科正在开发Arm架构Windows PC芯片

    据权威媒体援引三位知情人士的消息报道,联发科正在紧锣密鼓地开发一款基于Arm架构的个人电脑芯片。这款芯片将成为推动Windows操作系统在新型电脑设备上运行的重要力量。
    的头像 发表于 06-13 09:16 662次阅读

    联发科或将与英伟达开发Arm架构AI PC处理器

    据悉,联发科正与英伟达合作,共同开发基于Arm架构的AI PC处理器。这款新芯片预计将在第三季度完成设计定案,第四季度进入验证阶段。
    的头像 发表于 05-13 10:18 503次阅读

    fpga封装技术和arm架构的优缺点

    FPGA封装技术和ARM架构是两个不同的概念,分别属于硬件设计的不同领域。
    的头像 发表于 03-26 15:51 747次阅读

    英特尔与Arm联手助力初创企业开发Arm架构SoC

    据介绍,此次合作旨在联合推动使用Intel 18A制程工艺研发Arm架构SoC的初创企业发展。英特尔和Arm将携手提供IP和制造及相关金融支持,助力初创企业持续进行创新和增长。这些企业将专门针对各种设备和服务器研发
    的头像 发表于 03-25 15:34 362次阅读

    苹果M3芯片是ARM架构

    苹果M3芯片采用的是ARM架构。这种架构具有高效能和低功耗的特点,使得M3芯片在提供出色性能的同时,也能保持较低的能耗。
    的头像 发表于 03-08 16:03 1885次阅读

    Arm v9芯片新架构揭秘

    从中长期来看,随着单芯片 ARM 核数增加、基于 ARM 架构芯片数量的上升以及ARM 应用场景的增加,公司仍将保持增长。据公司公告数据显示,2023 财年,高端芯片采用
    发表于 02-27 14:14 5304次阅读
    <b class='flag-5'>Arm</b> v9芯片新<b class='flag-5'>架构</b>揭秘

    arm架构和x86架构区别 linux是x86还是arm

    ARM架构和x86架构是两种不同的计算机处理器架构,它们在体系结构、指令集、应用领域等方面有着明显的区别。Linux操作系统则具有广泛的适配性,可以运行在各种
    的头像 发表于 01-30 13:46 1.7w次阅读

    x86与arm架构区别主板还是cpu

    开发的一种32位和64位计算机处理器架构,广泛应用于个人计算机和服务器领域。ARM架构则是英国公司ARM Holdings
    的头像 发表于 12-21 17:08 2209次阅读

    Arm架构在5G商用中的优势与挑战

    Arm架构还能解决5G推广中面临的高能耗问题。Arm最新推出的轻量化5G端侧协议,能够很好地推动5G模组走向高性能、低功耗、低成本的市场趋势。这也是Arm
    发表于 12-04 14:57 480次阅读

    Arm架构学习—开启Armv9时代

    在上一篇文章“从A76到A78——在变化中学习Arm架构”中,我们了解了Arm处理器微架构的基本组成,介绍了Armv8架构最后几代经典处理
    的头像 发表于 11-27 16:46 1202次阅读
    <b class='flag-5'>Arm</b>微<b class='flag-5'>架构</b>学习—开启Armv9时代