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

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

3天内不再提示

Arm Helium技术诞生的由来 为何不直接采用Neon?

瑞萨嵌入式小百科 来源:Arm社区 2024-02-29 17:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经过 Arm 研究团队多年的不懈努力,Arm 于 2019 年推出了适用于 Armv8‑M 架构的 Arm Cortex-M 矢量扩展技术 (MVE)——Arm Helium 技术。起初,当我们面临 Cortex‑M 处理器数字信号处理 (DSP) 性能亟待提升的需求时,我们首先想到的是采用现有的 Neon 技术。

然而,面对典型的 Cortex‑M 应用的面积限制条件下又需要支持多个性能的需求,意味着我们仍需从头开始。作为一种较轻的惰性气体,以氦气 (Helium) 作为研究项目的名称似乎再合适不过了。该研究项目主要针对中端处理器,旨在实现数据路径宽度增加两倍的情况下将性能提高四倍,而这正与氦气的原子量 (4) 和原子序数 (2) 不谋而合。

最终,在许多数字信号处理 (DSP) 和机器学习 (ML) 内核上,我们成功地实现了提升四倍的目标。毋庸置疑,“Helium” 已经深入人心,成为 Cortex-M 处理器系列 MVE 的品牌名。

要想打造具备良好 DSP 性能的处理器,主要关键在于可为其提供足够的数据处理带宽。在 Cortex‑A 处理器上,128 位 Neon 负载可以轻松地从数据缓存中直接提取。

但是,Cortex‑M 处理器通常没有缓存,而是使用低延迟静态随机存取存储器 (SRAM) 作为主内存。对于许多系统来说,无法将 SRAM 路径(通常只有 32 位)拓宽到 128 位,因此导致面临内存操作停滞长达四个周期的可能性。同样,乘加 (MAC) 指令中使用的乘法器需要很大的面积,在小型 Cortex‑M 处理器上使用四个 32 位乘法器是不切实际的。

就面积限制层面而言,最小的 Cortex-M 处理器与能够乱序执行指令且功能强大的 Cortex‑A 处理器的大小可能相差几个数量级。因此,在创建 M 系列架构时,我们必须认真考虑充分利用每一个 gate。

为了充分利用现有硬件,我们需要确保高成本资源(如通往内存的连接和乘法器)在每个周期都保持同时繁忙的状态。在高性能处理器(如 Cortex‑M7)上,可以通过矢量 MAC 双发射来达成这一目标。

此外,还有一个重要的目标,即在一系列不同的产品上提高 DSP 性能,而不仅局限于高端产品上。想要解决以上这些问题,需要借鉴参考几十年前的矢量链理念中的一些技术。

44d96f8c-d6ba-11ee-a297-92fbcf53809c.png

上图显示了在四个时钟周期内交替执行的矢量负载 (VLDR) 和矢量 MAC (VMLA) 指令序列。这需要 128 位宽的内存带宽和四个 MAC 块,并且它们有一半时间处于空闲状态。可以看到,每条 128 位宽的指令被分成大小相等的四个片段,MVE 架构称之为“节拍”(标为 A 至 D)。无论元素大小如何,这些节拍始终是 32 位计算值,因此一个节拍可以包含一个 32 位 MAC,或四个 8 位 MAC。由于负载和 MAC 硬件是分开的,这些节拍的执行可以重叠,如下图所示。

44eae46a-d6ba-11ee-a297-92fbcf53809c.png

即使 VLDR 加载的值被随后的 VMLA 使用,指令仍可以重叠。这是因为 VMLA 的节拍 A 只依赖于上一个周期发生的 VLDR 的节拍 A,因此节拍 A 和 B 与节拍 C 和 D 便会自然重叠。在这个例子中,我们可以获得与 128 位数据带宽处理器相同的性能,但硬件数量只有后者的一半。“节拍式”执行的概念可以高效地实施多个性能点。例如,下图显示了只有 32 位数据带宽的处理器如何处理相同的指令。这一点充满吸引力,因为它能使单发射标量处理器的性能翻倍(在八个周期内对八个 32 位值加载和执行 MAC),但却没有双发射标量指令那样的面积和功耗需求。

44fdfff0-d6ba-11ee-a297-92fbcf53809c.png

MVE 支持扩展到每周期四拍的实现方式,此时节拍式执行将简化为更传统的 SIMD 方法。这有助于在高性能处理器上保持可控的实现复杂度。

节拍式执行听起来很不错,但也会给架构的其他部分带来一些值得关注的挑战。

由于多条部分执行的指令可以同时运行,因此中断和故障处理可能会变得相当复杂。例如,如果上图中 VLDR 的节拍 D 出现故障,通常情况下,实施必须回滚 VMLA 的节拍 A 在上一周期对寄存器文件的写入。我们的理念是让每个 gate 都物尽其用,而在回滚的情况下缓冲旧数据值与这一理念相悖。

为了避免这种情况,处理器会针对异常情况存储一个特殊的 ECI 值,用于指示已经执行了后续指令的哪些节拍。在异常返回时,处理器便以此来确定要跳过哪些节拍。能够快速跳出指令而无需回滚或等待指令完成,基于此保持 Cortex-M 具备的快速和确定性中断处理能力。

如果指令会跨越节拍边界,我们又会遇到时间跨越问题。这种交叉行为通常出现在拓宽/缩窄运算中。Neon 架构中的 VMLAL 指令就是一个典型的例子,它可以将 32 位值矢量乘加到 64 位累加器中。遗憾的是,为了保持乘法器输出的完整范围,通常需要进行这类拓宽运算。MVE 使用通用的 “R” 寄存器文件来处理累加器,从而解决了这一问题。

此外,这样还减少了对矢量寄存器的寄存压力,使 MVE 只需使用 Neon 架构中一半的矢量寄存器就能获得良好的性能。在矢量架构中,通常不会像 MVE 一样广泛使用通用的寄存器文件,因为寄存器文件往往与矢量单元相距甚远。在乱序执行指令的高性能处理器上尤为如此,因为物理距离过大会限制性能。不过,正因如此,我们恰恰能够将典型 Cortex‑M 处理器的较小规模特性转化为我们的优势。

为确保重叠执行达到良好的平衡且无停滞,每条指令都应严格描述 128 位的工作,不能多也不能少。由此也会带来一些挑战。

凭借研究员们辛勤不懈的努力,以及充分参考架构书籍中所涉的所有内容,MVE 成功地将一些非常苛刻的功耗、面积和中断延迟限制转化为优势。




审核编辑:刘清

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

    关注

    68

    文章

    20333

    浏览量

    255026
  • 寄存器
    +关注

    关注

    31

    文章

    5619

    浏览量

    130422
  • sram
    +关注

    关注

    6

    文章

    833

    浏览量

    117727
  • 数字信号处理

    关注

    16

    文章

    580

    浏览量

    47899
  • 乘法器
    +关注

    关注

    9

    文章

    221

    浏览量

    38945
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    半导体制冷片为何不直接用于手机散热?核心原因揭秘

    。效果立竿见影:插上电源,背面制冷,手机温度直接从“烫手山芋”降到“冰镇可乐”。于是,一个经典的“灵魂拷问”出现了:既然半导体制冷片这么厉害,为什么手机厂商不直接把它
    的头像 发表于 04-08 13:34 286次阅读
    半导体制冷片<b class='flag-5'>为何不</b><b class='flag-5'>直接</b>用于手机散热?核心原因揭秘

    RZ/T2ME Group:高端32 & 64位MPU的技术剖析

    RZ/T2ME Group:高端32 64位MPU的技术剖析 在电子工程领域,处理器的性能和功能直接影响着产品的竞争力。RZ/T2ME Group作为一款基于Arm的高端32 64位MPU,具备诸多
    的头像 发表于 04-01 11:30 181次阅读

    蜂窝通信技术硬核科普:入网、小区切换与载波聚合全解析

    本文将带您探寻蜂窝通信背后的秘密:手机如何“找到”基站?移动中网络为何不中断?载波聚合怎样让网速翻倍?
    的头像 发表于 03-20 16:45 1946次阅读

    电网频率为何不能乱?一次调频装置的“维稳”逻辑

    家电故障,大到电网崩溃,都会给生产生活带来致命影响。而一次调频装置,正是守护这条“标准线”的核心力量,用毫秒级响应筑牢电网频率的“维稳”防线,详细了解一次调频装置可咨询:1.3.7-5.0.0.4-6.2.0.0。今天就来拆解:电网频率为何不能乱?一次调频装置的“维稳”逻辑又是什么?
    的头像 发表于 01-14 11:41 400次阅读
    电网频率<b class='flag-5'>为何不</b>能乱?一次调频装置的“维稳”逻辑

    长时储能为何不长时?

    150-200GW的电力,这相当于整个法国电力消耗量的2倍左右。长时储能正是解决缺电问题的重要技术方案,尤其针对AIDC的高能耗、高波动、高绿电需求特性,长时储能更是目前的最佳解决方案。但目前长时储能技术仍需等待成熟,核心痛点之一便是:储能系统的持续时长
    的头像 发表于 12-29 08:41 1w次阅读

    热重分析仪:为何在某些严格场景下不能直接用于炭黑含量测试?

    热重分析仪:为何在某些严格场景下不能直接用于炭黑含量测试?热重分析仪(TGA)作为材料热分析的核心设备,理论上可通过程序控温和气氛切换区分聚合物、炭黑及灰分。但在工业质量控制和标准符合性等严格场景中
    的头像 发表于 12-10 16:54 515次阅读
    热重分析仪:<b class='flag-5'>为何</b>在某些严格场景下不能<b class='flag-5'>直接</b>用于炭黑含量测试?

    何不用olimex ARM-USB-TINY-H debugger实现调试?

    DDR的bsp文件,请问github里的bsp文件是否兼容所有板子,而且我只有一根usb线可以接JTAG口,如何不用olimex ARM-USB-TINY-H debugger实现调试? fpga小白谢谢大家啦。
    发表于 11-10 08:15

    如何使用 Arm Helium 进行颜色格式转换和功能验证?

    使用 Arm Helium 进行颜色格式转换和功能验证
    发表于 08-19 06:52

    ARM技术的特点

    相同性能下功耗更低,因此成为智能手机、平板电脑、可穿戴设备等移动终端的主流选择。 授权模式 ARM 公司不直接生产芯片,而是通过知识产权(IP)授权模式,向厂商提供处理器架构设计方案。厂商(如高通、华为
    发表于 08-18 13:31

    Arm神经技术是业界首创在 Arm GPU 上增添专用神经加速器的技术,移动设备上实现PC级别的AI图形性能

    Arm 神经技术是业界首创在 Arm GPU 上增添专用神经加速器的技术,首次在移动设备上实现 PC 级别的 AI 图形性能,为未来的端侧 AI 创新奠定基础 神经超级采样是
    的头像 发表于 08-14 17:59 2932次阅读

    ARM入门学习方法分享

    集)处理器。 1985年第一个ARM原型在英国剑桥诞生。 公司的特点是只设计芯片,而不生产。它提供ARM技术知识产权(IP)核,将技术授权
    发表于 07-23 10:21

    智能时代的“导航大脑”:组合导航技术为何不可或缺?

    当自动驾驶精准停入暴雨中的车位,无人机穿越城市峡谷锁定目标,AUV在无卫星信号的海底保持航向——这些场景的背后,是组合导航技术在默默支撑。它融合卫星、惯性等多源数据,重新定义了人类对时空的掌控力。但为何它能在众多导航方案中脱颖而出?
    的头像 发表于 07-11 16:21 983次阅读
    智能时代的“导航大脑”:组合导航<b class='flag-5'>技术</b><b class='flag-5'>为何不</b>可或缺?

    在IAR Embedded Workbench for Arm中使用Arm Cortex-R52 NEON

    随着嵌入式系统变得越来越智能,对嵌入式处理器的要求也越来越高。为了更好应对汽车、医疗和工业机器人等领域对嵌入式处理器的要求,Arm推出了采用Armv8-R架构的Cortex-R52。Cortex-R52相对之前的处理器引入了很多新的特性,其中一个就是
    的头像 发表于 06-05 09:57 2069次阅读
    在IAR Embedded Workbench for <b class='flag-5'>Arm</b>中使用<b class='flag-5'>Arm</b> Cortex-R52 <b class='flag-5'>NEON</b>

    RA8T1基于480MHz Arm Cortex-M85、搭载Helium和TrustZone的电机控制微控制器技术手册

    RA8T1 系列 32 位微控制器 (MCU) 基于高达 480MHz 的 Arm^®^ Cortex-M85^®^ 内核,采用 Helium技术和 TrustZone ^®^ ,
    的头像 发表于 05-15 17:17 1210次阅读
    RA8T1基于480MHz <b class='flag-5'>Arm</b> Cortex-M85、搭载<b class='flag-5'>Helium</b>和TrustZone的电机控制微控制器<b class='flag-5'>技术</b>手册

    激光雷达在自动驾驶中为何不可替代?

    109.6%。在很多车企不断追求纯视觉的当下,为何激光雷达的销量反而“逆势”增长?激光雷达在自动驾驶中为何不可替代? 其实环境感知作为自动驾驶的“元感官”,在保证车辆安全、提高决策效率方面发挥着至关重要的作用。而在众多感知手段中,LiDAR以其精准的距离测
    的头像 发表于 05-11 09:15 1470次阅读
    激光雷达在自动驾驶中<b class='flag-5'>为何不</b>可替代?