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

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

3天内不再提示

Arm下一代指令架构“Armv9”已经问世

jf_1689824270.4192 来源:电子发烧友网 作者:jf_1689824270.4192 2019-11-13 11:55 次阅读

Arm的下一代CPU指令集架构(ISA:指令集架构)“ Armv9”开始推出。该公司正在逐步扩展当前的ISA“ Armv8”,而扩展的高潮最终将成为Armv9的搭建桥梁。至于Armv9,一位CPU行业人士表示,安全性增强是最重要的关键。Arm在Armv8.3之后的阶段扩展中专注于安全性,并被视为迈向Armv9的一步。

Arm的指令集架构的发展对于当前的IT行业至关重要。这是因为高性能CPU的指令集体系结构几乎被x86 / x64和Arm两个系统所垄断。对于移动和嵌入式应用程序,Arm是最大的力量。即使不使用Arm本身的CPU内核IP,Apple的A系列SoC的CPU内核和Qualcomm的Snapdragon SoC的Kryo内核也符合Arm的指令集。Arm的指令集体系结构更改会影响许多计算设备。

该公司在2011年使用Armv8将CPU ISA 64位化,同时极大地改变了架构 使用AArch64(一种智能且有条理的64位体系结构),并对ISA进行了重新分区,然后重新开始。在Armv8基础之上,Arm目前正在建立扩展指令。扩展从三个方向进行:虚拟化和RAS等服务器的系统扩展,深度学习的计算扩展以及安全性扩展。

此外,Arm还发布了未来CPU体系结构扩展的方向。引入事务性内存以扩展CPU内核数量,增加了用于车载的功能安全功能,支持用于深度学习的矩阵运算,针对矢量市场中的某些市场将矢量扩展到256位。

它还允许获得Arm许可的客户将自定义指令合并到Arm指令集中。定制指令从用于嵌入式用途的Cortex-M开始,但也正在考虑将其部署到实时的Cortex-R和计算的Cortex-A中。到目前为止,Arm尚未允许被许可方添加自定义指令,以防止破坏CPU指令集体系结构。Cortex-A类中的自定义说明将谨慎进行,以免造成干扰。客户自定义指令的引入旨在与允许客户自定义指令的RISC-V指令集体系结构相反。

不断升级的Armv8-A指令集

Arm CPU当前的指令集架构是第8代“ Armv8”。即使具有相同的Armv8名称,它也会按CPU配置文件分为ISA系列的三种类型。“ Armv8-A”用于高性能CPU“ Cortex-A”系列,“ Armv8-R”用于实时CPU“ Cortex-R”系列,“ Armv8-M”用于嵌入式MCU“ Cortex-M”系列,每个配置文件都有不同的指令集。

此外,对指令集进行了较小的升级。用于高性能CPU的Armv8-A在小数点后也有一个版本。从Armv8.1-A开始,十进制版本每年都会增加“ .1”,现在宣布了Armv8.6-A。Armv8.6-A是ISA在2019年的扩展,Armv8.5-A是2018年,Armv8.4-A是2017年。

传统上,当出现新的Arm ISA小数点版本时,新的小数点版本几乎同步地添加到Arm自己的CPU核心IP中。但这不是现在。Arm的高端CPU核心IP“ Cortex-A77” ISA版本为Armv8.2-A。下一个内核Hercules也是Armv8.2-A。实际上,自2015年Armv8.2-A起,CPU核心IP ISA版本就没有增加。

Apple CPU内核几乎没有Armv8.3-A。已经发布了过去几年的Armv8.x,但尚未在CPU上完全实现。这这种情况有些复杂。首先,ISA版本和CPU实施ISA版本名称之间存在关联。每个Armv8.x一代ISA版本都包含多个功能。使用Arm ISA,如果您具有特定世代的所有功能,则可以首次声明该版本。

例如,如果实现了Armv8.2-A的所有功能,它将成为Armv8.2-A CPU。但是,除了Armv8.0-A的基本功能之外,如果仅实现Armv8.2-A功能的一部分,它将成为Armv8.0-A CPU而不是Armv8.2-A CPU。

在实际的核心IP示例中,Cortex-A77实现了Armv8.2-A之前的所有功能,但仅实现了Armv8.3-A和Armv8.4-A的某些功能。因此,ISA版本是Armv8.2-A CPU。完全装有Armv8.4-A的CPU内核尚未出现。由于该功能的“旋钮”,无法满足Armv8 ISA的升级条件,并且版本无法升级。

但是,这种情况将在不久的将来改变。Arm CPU内核是下一代“ Matterhorn”,并且可以立即实现Armv8.6-A的许多功能。 Matterhorn是该指令集的主要里程碑。Arm将 Matterhorn的CPU代号规则从当前的希腊神话更改为Yamana名称,而且还切换了CPU体系结构以及代号。 Matterhorn可能是“ Armv9之前的CPU”。

过去两年中,Arv8.x指令扩展集中在安全性扩展上

过去,随着分阶段添加功能,Arm的指令集是在Arm的CPU核心IP中同步实现的。但是,自Armv8.2-A以来,它的实施并不顺利,新功能的积累也有所重叠。因此,如前所述,CPU内核的ISA版本似乎未从Armv8.2-A升级。

剩下这么多的原因是什么?它与Armv8.2-A及更高版本功能的内容有关。最后三代的Armv8.x扩展专注于安全性。特别是,Armv8.4-A和8.5-A主要是与安全相关的扩展。

从Meltdown和Spectre开始,这是为了处理CPU微体系结构上的安全性问题。2017年,CPU厂商出现了侧面通道攻击类型Meltdown和Spectre。因此,在过去几年中,开发高性能CPU的供应商(包括IntelAMD以及Arms)一直致力于将安全功能集成到CPU体系结构和微体系结构中。

就Arm而言,高度依赖Arm平台的Google已成为重要的合作伙伴,并在架构上采取了先进的安全措施。它内置在最新的ISA十进制版本中,例如Armv8.4-A(2017)和Armv8.5-A(2018)。

图:Armv8.xA体系架构

如果您查看上面每个Armv8.xA版本中的新功能,则可以看到对安全性的偏爱。在该图中,SIMD / FP(浮点)算术系统功能以绿色显示,安全功能以紫色显示,系统和内存功能以卡其色显示。安全功能从Armv8.3-A开始,并随着Armv8.4-A / Armv8.5-A迅速增加。

重点再次从安全转向深度学习

侧通道攻击问题极大地改变了高性能CPU架构的发展。在此之前,您只需要实现一种良好的加速技术,但是在Meltdown / Spectre之后,您现在需要检查该技术是否存在安全问题。并且已经有必要将用于边信道攻击的基本安全功能整合到体系结构/微体系结构中。

自2017年中以来,高性能CPU供应商一直在努力解决此问题。除Arm之外,包括Intel和AMD在内的所有高性能CPU供应商的当前目标是完善一种可免受侧通道攻击的体系结构。

Armv8-A指令集的演变清楚地表明了这种情况。Arm正在迁移到Matterhorn,其安全扩展由Armv8.5-A分隔。因此,下一个指令扩展Armv8.6-A不是偏向于安全性,而是专注于深度学习。

Arm在Armv8.2-A中支持FP16(16位半精度浮点算术),在Armv8.4-A中支持8位点积指令。其加强了对CPU的SIMD(单指令,多数据)操作的深度学习支持。Armv8.6-A进一步支持矩阵运算和BFloat16,以加强对深度学习的兴趣。将矩阵运算和BFloat16带入CPU的原因之一是支持边缘侧训练。支持在中间边缘进行轻度训练,而不是在云侧进行繁重训练。

本文由电子发烧友翻译自pc.watch

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

    关注

    134

    文章

    8643

    浏览量

    361659
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10413

    浏览量

    206475
  • 指令集
    +关注

    关注

    0

    文章

    205

    浏览量

    23164
收藏 人收藏

    评论

    相关推荐

    Arm架构学习—开启Armv9时代

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

    Arm Cortex-R82处理器产品介绍

    用于下一代数据存储和运行新工作量所需的计算性能, 如机器学习( ML ) 。 这是 Arm 的第个 Cortex- R 进程, 用于支持Linux 和云开发生态系统中已经存在的丰富操
    发表于 08-25 08:08

    Arm v8.5-A和Armv9 CPU更新

    作为ARM v8.5-A架构更新的部分,ARM添加了些功能,旨在解决Google ProjectZero团队和其他地方披露的安全问题。
    发表于 08-25 07:26

    ARM Cortex-A系列ARMv8-A程序员指南

    ARMv8-A是针对应用配置文件的最新一代ARM架构。 在本书中,名称ARMv8用于描述整个体系结构,它现在包括32位执行状态和64位执行状
    发表于 08-22 07:22

    ARM编译器可扩展矢量扩展用户指南

    ARM编译器工具链支持为ARMv8-A AArch64实现可伸缩向量扩展(SVE)EAC(00rel1)的目标。 SVE是针对AArch64的下一代SIMD指令集,它为高性能计算(HP
    发表于 08-16 06:51

    ARM体系结构参考手册ARMv7-A和ARMv7-R版本

    本手册介绍ARM®架构v7、ARMv7的A和R配置文件。 其中包括以下内容的描述: ·处理器指令集: -原始ARM®
    发表于 08-12 07:46

    ARM领域管理扩展(RME)系统架构介绍

    本章介绍Realm Management Extension(RME)系统架构。RME架构是在[1]中指定,并且被定义为Armv9体系结构的A轮廓的扩展。 RME体系结构定义了符合Arm
    发表于 08-09 07:52

    如何使用Arm Compiler 6构建Hello World

    您如何: •用C写“Hello World” •使用Arm编译器6构建它(这是Arm下一代基于LLVM的工具链) •在Arm DS-5 Development Studio中设置调
    发表于 08-08 07:41

    Armv9-A体系结构参考手册

    本增补件是Armv9-A体系结构的Arm®体系结构参考手册增补件轮廓本书介绍了Armv9-A体系结构扩展,因此必须与Arm®体系结构参考手册
    发表于 08-08 07:07

    SVE编码和霓虹灯编码之间的区别

    Neon技术是Armv8-A架构配置文件的高级单指令多数据(SIMD)功能。Neon是指令架构(ISA)的
    发表于 08-02 18:35

    ARM9EJ-S技术参考手册

    ARM9EJ-S内核采用Jazelle技术的ARM架构v5TE。这包括个增强的乘法器设计,以提高DSP的性能。Jazelle技术能够在ARM
    发表于 08-02 18:13

    Armv9核心A710、A715和A510微架构解读

    在介绍Armv9系列前,我们先看一下ARM的Cortex-X定制CPU计划。Cortex-X方案先于Armv9发布,在Arm发布A78时,同时也发布了Cortex-X1这一颗性能强大的
    发表于 06-12 09:27 1.8w次阅读
    <b class='flag-5'>Armv9</b>核心A710、A715和A510微<b class='flag-5'>架构</b>解读

    Arm TCS23现迄今最快处理器IP组合,前瞻定义旗舰手机SoC性能,为生成式AI而来

    最近Arm推出2023 全面计算解决方案(TCS23),发布最新CPU和GPU IP等产品。没有意外,高通和联发科的下一代旗舰手机SoC将采用Arm最新的CPU架构Cortex-X4,
    的头像 发表于 06-05 16:16 1301次阅读
    <b class='flag-5'>Arm</b> TCS23现迄今最快处理器IP组合,前瞻定义旗舰手机SoC性能,为生成式AI而来

    Armv9引入的MTE已成内存安全的新防线

    电子发烧友网报道(文/周凯扬)随着Arm近日公开TCS23方案,可以看出Arm在移动SoC的计算核心上,已经全面走向了Armv9.2架构,无
    的头像 发表于 06-01 00:11 1380次阅读

    全新的Arm全面计算解决方案实现基于Arm技术的移动未来

    Arm 高级副总裁兼终端事业部总经理 Chris Bergey 表示:“TCS23包含了基于全新第五代 GPU 架构、可实现终极视觉体验的全新Arm Immortalis GPU,助力 Ar
    的头像 发表于 05-30 15:37 336次阅读
    全新的<b class='flag-5'>Arm</b>全面计算解决方案实现基于<b class='flag-5'>Arm</b>技术的移动未来