0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arm Helium技術(shù)誕生的由來

Arm社區(qū) ? 來源:Arm社區(qū) ? 2023-12-22 14:36 ? 次閱讀

當(dāng)人工智能 (AI) 下沉到各式各樣的應(yīng)用當(dāng)中,作為市場上最大量的物聯(lián)網(wǎng)設(shè)備也將被賦予智能性。Arm Helium 技術(shù)正是為基于Arm Cortex-M 處理器的設(shè)備帶來關(guān)鍵機器學(xué)習(xí)數(shù)字信號處理的性能提升。

本周起,小編將為您送上 Helium 技術(shù)系列文章,為您深入解析 Arm 的這一矢量處理技術(shù)及其優(yōu)勢。今天,我們將介紹 Helium 品牌名的由來以及“節(jié)拍式”執(zhí)行。若您想要了解如何高效利用 Helium,千萬別錯過文末視頻,通過 Arm 技術(shù)專家的實例演示,詳解 Helium 如何為端點設(shè)備引入更多智能。

Arm Helium 技術(shù)誕生的由來

為何不直接采用 Neon?

作者:Arm 架構(gòu)與技術(shù)部 M 系列首席架構(gòu)師兼研究員 Thomas Grocutt

經(jīng)過 Arm 研究團隊多年的不懈努力,Arm 于 2019 年推出了適用于 Armv8?M 架構(gòu)的 Arm Cortex-M 矢量擴展技術(shù) (MVE)——Arm Helium 技術(shù)。起初,當(dāng)我們面臨 Cortex?M 處理器的數(shù)字信號處理 (DSP) 性能亟待提升的需求時,我們首先想到的是采用現(xiàn)有的 Neon 技術(shù)。然而,面對典型的 Cortex?M 應(yīng)用的面積限制條件下又需要支持多個性能的需求,意味著我們?nèi)孕鑿念^開始。作為一種較輕的惰性氣體,以氦氣 (Helium) 作為研究項目的名稱似乎再合適不過了。該研究項目主要針對中端處理器,旨在實現(xiàn)數(shù)據(jù)路徑寬度增加兩倍的情況下將性能提高四倍,而這正與氦氣的原子量 (4) 和原子序數(shù) (2) 不謀而合。最終,在許多數(shù)字信號處理 (DSP) 和機器學(xué)習(xí) (ML) 內(nèi)核上,我們成功地實現(xiàn)了提升四倍的目標(biāo)。毋庸置疑,“Helium” 已經(jīng)深入人心,成為 Cortex-M 處理器系列 MVE 的品牌名。

要想打造具備良好 DSP 性能的處理器,主要關(guān)鍵在于可為其提供足夠的數(shù)據(jù)處理帶寬。在 Cortex?A 處理器上,128 位 Neon 負(fù)載可以輕松地從數(shù)據(jù)緩存中直接提取。但是,Cortex?M 處理器通常沒有緩存,而是使用低延遲靜態(tài)隨機存取存儲器 (SRAM) 作為主內(nèi)存。對于許多系統(tǒng)來說,無法將 SRAM 路徑(通常只有 32 位)拓寬到 128 位,因此導(dǎo)致面臨內(nèi)存操作停滯長達四個周期的可能性。同樣,乘加 (MAC) 指令中使用的乘法器需要很大的面積,在小型 Cortex?M 處理器上使用四個 32 位乘法器是不切實際的。就面積限制層面而言,最小的 Cortex-M 處理器與能夠亂序執(zhí)行指令且功能強大的 Cortex?A 處理器的大小可能相差幾個數(shù)量級。因此,在創(chuàng)建 M 系列架構(gòu)時,我們必須認(rèn)真考慮充分利用每一個 gate。為了充分利用現(xiàn)有硬件,我們需要確保高成本資源(如通往內(nèi)存的連接和乘法器)在每個周期都保持同時繁忙的狀態(tài)。在高性能處理器(如 Cortex?M7)上,可以通過矢量 MAC 雙發(fā)射來達成這一目標(biāo)。此外,還有一個重要的目標(biāo),即在一系列不同的產(chǎn)品上提高 DSP 性能,而不僅局限于高端產(chǎn)品上。想要解決以上這些問題,需要借鑒參考幾十年前的矢量鏈理念中的一些技術(shù)。

a280785e-a07f-11ee-8b88-92fbcf53809c.png

上圖顯示了在四個時鐘周期內(nèi)交替執(zhí)行的矢量負(fù)載 (VLDR) 和矢量 MAC (VMLA) 指令序列。這需要 128 位寬的內(nèi)存帶寬和四個 MAC 塊,并且它們有一半時間處于空閑狀態(tài)??梢钥吹剑織l 128 位寬的指令被分成大小相等的四個片段,MVE 架構(gòu)稱之為“節(jié)拍”(標(biāo)為 A 至 D)。無論元素大小如何,這些節(jié)拍始終是 32 位計算值,因此一個節(jié)拍可以包含一個 32 位 MAC,或四個 8 位 MAC。由于負(fù)載和 MAC 硬件是分開的,這些節(jié)拍的執(zhí)行可以重疊,如下圖所示。

a2af520a-a07f-11ee-8b88-92fbcf53809c.png

即使 VLDR 加載的值被隨后的 VMLA 使用,指令仍可以重疊。這是因為 VMLA 的節(jié)拍 A 只依賴于上一個周期發(fā)生的 VLDR 的節(jié)拍 A,因此節(jié)拍 A 和 B 與節(jié)拍 C 和 D 便會自然重疊。在這個例子中,我們可以獲得與 128 位數(shù)據(jù)帶寬處理器相同的性能,但硬件數(shù)量只有后者的一半?!肮?jié)拍式”執(zhí)行的概念可以高效地實施多個性能點。例如,下圖顯示了只有 32 位數(shù)據(jù)帶寬的處理器如何處理相同的指令。這一點充滿吸引力,因為它能使單發(fā)射標(biāo)量處理器的性能翻倍(在八個周期內(nèi)對八個 32 位值加載和執(zhí)行 MAC),但卻沒有雙發(fā)射標(biāo)量指令那樣的面積和功耗需求。

a2c6992e-a07f-11ee-8b88-92fbcf53809c.png

MVE 支持?jǐn)U展到每周期四拍的實現(xiàn)方式,此時節(jié)拍式執(zhí)行將簡化為更傳統(tǒng)的 SIMD 方法。這有助于在高性能處理器上保持可控的實現(xiàn)復(fù)雜度。

節(jié)拍式執(zhí)行聽起來很不錯,但也會給架構(gòu)的其他部分帶來一些值得關(guān)注的挑戰(zhàn)。

由于多條部分執(zhí)行的指令可以同時運行,因此中斷和故障處理可能會變得相當(dāng)復(fù)雜。例如,如果上圖中 VLDR 的節(jié)拍 D 出現(xiàn)故障,通常情況下,實施必須回滾 VMLA 的節(jié)拍 A 在上一周期對寄存器文件的寫入。我們的理念是讓每個 gate 都物盡其用,而在回滾的情況下緩沖舊數(shù)據(jù)值與這一理念相悖。為了避免這種情況,處理器會針對異常情況存儲一個特殊的 ECI 值,用于指示已經(jīng)執(zhí)行了后續(xù)指令的哪些節(jié)拍。在異常返回時,處理器便以此來確定要跳過哪些節(jié)拍。能夠快速跳出指令而無需回滾或等待指令完成,基于此保持 Cortex-M 具備的快速和確定性中斷處理能力。

如果指令會跨越節(jié)拍邊界,我們又會遇到時間跨越問題。這種交叉行為通常出現(xiàn)在拓寬/縮窄運算中。Neon 架構(gòu)中的 VMLAL 指令就是一個典型的例子,它可以將 32 位值矢量乘加到 64 位累加器中。遺憾的是,為了保持乘法器輸出的完整范圍,通常需要進行這類拓寬運算。MVE 使用通用的 “R” 寄存器文件來處理累加器,從而解決了這一問題。此外,這樣還減少了對矢量寄存器的寄存壓力,使 MVE 只需使用 Neon 架構(gòu)中一半的矢量寄存器就能獲得良好的性能。在矢量架構(gòu)中,通常不會像 MVE 一樣廣泛使用通用的寄存器文件,因為寄存器文件往往與矢量單元相距甚遠(yuǎn)。在亂序執(zhí)行指令的高性能處理器上尤為如此,因為物理距離過大會限制性能。不過,正因如此,我們恰恰能夠?qū)⒌湫?Cortex?M 處理器的較小規(guī)模特性轉(zhuǎn)化為我們的優(yōu)勢。

為確保重疊執(zhí)行達到良好的平衡且無停滯,每條指令都應(yīng)嚴(yán)格描述 128 位的工作,不能多也不能少。由此也會帶來一些挑戰(zhàn)。

憑借研究員們辛勤不懈的努力,以及充分參考架構(gòu)書籍中所涉的所有內(nèi)容,MVE 成功地將一些非常苛刻的功耗、面積和中斷延遲限制轉(zhuǎn)化為優(yōu)勢。

您是否想要更深入了解 Helium 技術(shù)?由 Arm 物聯(lián)網(wǎng)事業(yè)部技術(shù)管理總監(jiān) Mark Quartermain 與 Arm 物聯(lián)網(wǎng)事業(yè)部嵌入式工具集成高級經(jīng)理 Matthias Hertel 共同為大家錄制了 Helium 技術(shù)視頻,通過實例演示詳解如何高效利用 Helium。

我們將在下一篇 Helium 技術(shù)文章中深入探討一些復(fù)雜而又有趣的交錯加載/存儲指令。持續(xù)關(guān)注 Helium 技術(shù)講堂,我們下期再見!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229865
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9097

    瀏覽量

    367602
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    202

    瀏覽量

    46501
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47282

    瀏覽量

    238532
  • Helium
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    4823

原文標(biāo)題:Helium 技術(shù)講堂 | 為何不直接采用 Neon?

文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    IAR Systems率先支持集成AI技術(shù)Arm Cortex-M55 內(nèi)核

    ArmArm Cortex-M55處理器是一款支持 AI 技術(shù)的Cortex-M系列處理器,也是第一款采用Arm Helium
    發(fā)表于 11-16 15:25 ?1888次閱讀
    IAR Systems率先支持集成AI<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>Arm</b> Cortex-M55 內(nèi)核

    有木有支持helium系列芯片的開發(fā)板

    如題,有木有支持helium系列芯片的開發(fā)板,或者支持能運行isos系統(tǒng)的芯片的開發(fā)板
    發(fā)表于 07-17 11:48

    Arm Helium技術(shù)手冊

    本指南介紹了Arm Helium技術(shù),這是m -剖面矢量擴展(MVE)Arm Cortex-M系列處理器。Arm Cortex-M55處理器
    發(fā)表于 08-02 08:27

    手機由來

    手機由來
    發(fā)表于 12-19 10:29 ?2916次閱讀

    Arm宣布推出基于M-Profile Vector Extension (MVE)矢量擴充方案的Arm Helium技術(shù)

    先進的數(shù)字信號處理(DSP)可通過 Arm Neon 技術(shù)擴展至更多Cortex-A架構(gòu)組件中。針對功能受限的應(yīng)用,Arm還在其較高性能的Cortex-M處理器系列(包括Cortex-M4
    的頭像 發(fā)表于 02-20 16:51 ?9769次閱讀

    晶體管誕生由來是什么

    1、1948年、在貝爾電話研究所誕生 1948年,晶體管的發(fā)明給當(dāng)時的電子工業(yè)界來帶來了前所未有的沖擊。而且,正是這個時候成為了今日電子時代的開端。 之后以計算機為首,電子技術(shù)取得急速發(fā)展。正因為它
    的頭像 發(fā)表于 08-27 14:58 ?1.4w次閱讀

    Cortex-M55的單片機AI技術(shù)Helium權(quán)威指南電子書發(fā)布(2020-09-08)

    說明:1、2019年年初的時候ARM發(fā)布Armv8.1-M架構(gòu),增加了Arm Helium技術(shù)。2、今年4月份發(fā)布的CMSIS5.7.0支持Cortex-M55,發(fā)布DSP庫加強版(有
    發(fā)表于 12-01 12:36 ?11次下載
    Cortex-M55的單片機AI<b class='flag-5'>技術(shù)</b><b class='flag-5'>Helium</b>權(quán)威指南電子書發(fā)布(2020-09-08)

    Helium Browser MacOS浮動的瀏覽器窗口

    ./oschina_soft/Helium.zip
    發(fā)表于 05-23 11:31 ?0次下載
    <b class='flag-5'>Helium</b> Browser MacOS浮動的瀏覽器窗口

    Helium/Lora相機開源分享

    電子發(fā)燒友網(wǎng)站提供《Helium/Lora相機開源分享.zip》資料免費下載
    發(fā)表于 10-26 15:47 ?0次下載
    <b class='flag-5'>Helium</b>/Lora相機開源分享

    評估驅(qū)動Helium網(wǎng)絡(luò)的功能原理

    Helium是一種旨在將覆蓋能力交到用戶手中的網(wǎng)絡(luò),作為一種低功耗但廣域覆蓋的物聯(lián)網(wǎng)協(xié)議,它正獲得更多吸引力。
    的頭像 發(fā)表于 11-24 09:08 ?816次閱讀

    使用Helium網(wǎng)絡(luò)的冷鏈物流監(jiān)控

    電子發(fā)燒友網(wǎng)站提供《使用Helium網(wǎng)絡(luò)的冷鏈物流監(jiān)控.zip》資料免費下載
    發(fā)表于 06-16 10:05 ?0次下載
    使用<b class='flag-5'>Helium</b>網(wǎng)絡(luò)的冷鏈物流監(jiān)控

    使用Helium開發(fā)工具包和Cayenne進行GPS跟蹤

    電子發(fā)燒友網(wǎng)站提供《使用Helium開發(fā)工具包和Cayenne進行GPS跟蹤.zip》資料免費下載
    發(fā)表于 06-19 15:33 ?0次下載
    使用<b class='flag-5'>Helium</b>開發(fā)工具包和Cayenne進行GPS跟蹤

    什么是Arm Helium矢量處理技術(shù)?

    ArmArm Cortex-M 處理器帶來增強機器學(xué)習(xí) (ML) 和數(shù)字信號處理 (DSP) 能力的技術(shù) —— Arm? Helium
    發(fā)表于 09-26 14:28 ?1770次閱讀

    Helium 是什么?優(yōu)缺點有哪些?

    1. Helium 是什么? Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selen
    的頭像 發(fā)表于 11-02 10:43 ?1902次閱讀
    <b class='flag-5'>Helium</b> 是什么?優(yōu)缺點有哪些?

    Arm Helium技術(shù)誕生由來 為何不直接采用Neon?

    經(jīng)過 Arm 研究團隊多年的不懈努力,Arm 于 2019 年推出了適用于 Armv8?M 架構(gòu)的 Arm Cortex-M 矢量擴展技術(shù) (MVE)——
    的頭像 發(fā)表于 02-29 17:01 ?2251次閱讀
    <b class='flag-5'>Arm</b> <b class='flag-5'>Helium</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>誕生</b>的<b class='flag-5'>由來</b> 為何不直接采用Neon?