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

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

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

一文詳解Arm架構(gòu)Armv9.6-A中的最新功能

Arm社區(qū) ? 來源:Arm社區(qū) ? 2024-12-17 10:22 ? 次閱讀

作者:Arm 架構(gòu)與技術(shù)部產(chǎn)品管理總監(jiān) Martin Weidmann

Arm CPU 是當(dāng)今人工智能 (AI) 賦能軟件的關(guān)鍵,它可解釋、處理和執(zhí)行指令。Arm 指令集架構(gòu) (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。Arm ISA 持續(xù)演進以滿足現(xiàn)代計算的需求,包括 AI 的興起、機器學(xué)習(xí) (ML) 和芯粒 (chiplet) 技術(shù)的使用,以及應(yīng)對高級安全威脅。持續(xù)創(chuàng)新確保了 Arm 架構(gòu)的普及性、普適性能、出色能效、安全性和開發(fā)者靈活性。

為了確保開發(fā)工作能緊跟快速發(fā)展的市場步伐,Arm 投入了大量時間來審視未來的計算需求,并與其龐大且獨特的生態(tài)系統(tǒng)明確其理解。在打造和發(fā)布更新的 ISA 時,結(jié)合專業(yè)知識與反饋意見,以確保能有針對性地滿足需求。

此系列文章每年發(fā)布一次,概述了當(dāng)年度 Arm A 系列架構(gòu)的主要新增功能,并隨附完整的指令集和系統(tǒng)寄存器文檔,2024 年為 Armv9.6-A。

想要了解去年的架構(gòu)擴展,可閱讀《Arm A 系列架構(gòu) 2023 擴展》。接下來,就讓我們一同來了解今年的一些新增功能。

利用結(jié)構(gòu)化稀疏性和

四分塊操作提高 SME 效率

矩陣運算用于加權(quán)特征和計算預(yù)測值,是當(dāng)今許多重要工作負載(包括 AI 和 ML)的基礎(chǔ)。Armv9-A 中的可伸縮矩陣擴展 (SME) 大大提高了 Arm CPU 上矩陣乘法的處理速度和效率。借助 SME,可以同時對多個值進行計算,數(shù)據(jù)整理和重用的效率更高,而且還支持更多的數(shù)據(jù)類型和更有效的數(shù)據(jù)壓縮。

SME 通過使用量化技術(shù),降低了 ML 模型的計算復(fù)雜度。這不僅減少了內(nèi)存需求,降低了能耗,還使模型可適用于移動設(shè)備。SME2 在量化方面又更進一步,它為在 CPU 上運行需要以吞吐量為導(dǎo)向操作的各類應(yīng)用引入了 Streaming 模式。2024 擴展基于 SME2 構(gòu)建,新增了對 2:4 結(jié)構(gòu)化稀疏性 (structured sparsity) 和四分塊 (quarter tile) 操作的支持。

從四分塊操作開始,這些操作旨在提高 SME 處理小矩陣時的效率?,F(xiàn)有的 SME 運算支持外積運算,使用一對輸入向量來計算結(jié)果矩陣:

fa402396-b9bf-11ef-8732-92fbcf53809c.png

為了更好地支持較小的矩陣,四分運算允許將輸入視為來自四個不同的矩陣:

fa5bb26e-b9bf-11ef-8732-92fbcf53809c.png

2024 擴展帶來的另一項改進與稀疏性有關(guān)。在下面的示例中,一個包含激活數(shù)據(jù)的輸入矩陣與另一個包含權(quán)重的矩陣相乘。權(quán)重矩陣中的一些元素是未使用的(零),不會影響輸出。

fa62a33a-b9bf-11ef-8732-92fbcf53809c.png

這帶來了兩個效率低下的問題:

獲取不需要的數(shù)據(jù)

執(zhí)行不改變結(jié)果的乘法累加

新的結(jié)構(gòu)化稀疏性指令可以解決這以上兩個問題。在前面的例子中,權(quán)重可以用元數(shù)據(jù)標(biāo)簽進行壓縮,它描述如何解壓縮數(shù)據(jù)。

fac44676-b9bf-11ef-8732-92fbcf53809c.png

這種方法的優(yōu)點是既能優(yōu)化權(quán)重的內(nèi)存占用,又能優(yōu)化獲取權(quán)重進行處理所需的帶寬。權(quán)重可以在處理器中解壓縮,然后用于計算。不過,為了避免不必要的多重累積,新指令允許將壓縮數(shù)據(jù)直接用作輸入。

fad6f9c4-b9bf-11ef-8732-92fbcf53809c.png

利用 MPAM Domain 支持芯粒

和多芯片 SoC 上的共享內(nèi)存系統(tǒng)

芯粒具有更高的系統(tǒng)可組合性和性能擴展性,因此可適用于 AI 和加速計算。要想大規(guī)模采用芯粒技術(shù),互操作性必不可少,這需要通過芯粒接口和協(xié)議的標(biāo)準(zhǔn)化來實現(xiàn)。

Arm 正在通過旨在提供通用語言和降低碎片化風(fēng)險的標(biāo)準(zhǔn),加速生態(tài)系統(tǒng)向基于芯粒的系統(tǒng)級芯片 (SoC) 演進。Arm 的芯粒系統(tǒng)架構(gòu) (Chiplet System Architecture, CSA)將基于 Arm 架構(gòu)的系統(tǒng)劃分為多個芯粒,包括其高級屬性,以定義可標(biāo)準(zhǔn)化和復(fù)用的芯粒類型。AMBA CHI C2C 利用了現(xiàn)有的片上 AMBA CHI 協(xié)議,并定義了其打包方式,使其能夠在芯粒間傳輸。

這些舉措將加速向提供專用和可互操作芯粒的多供應(yīng)商市場發(fā)展。開放的芯粒市場將使 OEM 能夠?qū)崿F(xiàn)更高水平的定制和集成,而無需承擔(dān)開發(fā)和制造單芯片設(shè)計所帶來的成本。目前,芯粒的優(yōu)勢是通過垂直集成設(shè)計實現(xiàn)的。Armv9-A 的 2024 擴展考慮了這種新的芯片方法以及如何在它們之間管理資源。

當(dāng)今的許多計算需求都是通過共享內(nèi)存計算機系統(tǒng)來獲得滿足的,在這些系統(tǒng)中,多個應(yīng)用或多個虛擬機 (VM) 同時運行。為支持此類系統(tǒng),Armv8.4-A 引入了內(nèi)存系統(tǒng)資源分區(qū)和監(jiān)控 (Memory System Resource Partitioning and Monitoring, MPAM) 擴展。MPAM 可以控制對共享資源使用情況進行監(jiān)控和分區(qū)。

MPAM 使用分區(qū)編號 (PARTID) 來識別每次內(nèi)存訪問與哪個軟件實體相關(guān)聯(lián)。該 PARTID 與內(nèi)存訪問一起傳輸,以便下游內(nèi)存系統(tǒng)組件 (MSC) 實施分區(qū)策略。

2024 年增加了 MPAM Domain,以更好地支持多芯粒和多芯片系統(tǒng)上的共享內(nèi)存計算機系統(tǒng)。MPAM Domain 允許系統(tǒng)的不同部分使用不同的 PARTID 命名空間,并在訪問跨越域邊界時進行 PARTID 轉(zhuǎn)換。

fae8cb86-b9bf-11ef-8732-92fbcf53809c.png

整個系統(tǒng)無需具有統(tǒng)一的 PARTID 寬度,系統(tǒng)因而更容易組成。由于系統(tǒng)的每個部分都可以只支持所需數(shù)量的 PARTID,MPAM Domain 還有助于降低成本。

虛擬機上用于 Trace 和統(tǒng)計分析的

虛擬機管理程序內(nèi)存控制

Armv9-A 的 Trace(ETE 和 TRBE)和統(tǒng)計分析擴展 (Statistical Profiling Extensions, SPE) 為開發(fā)者提供了了解軟件性能所需的信息,使其能最大限度地利用硬件平臺。

Trace 和 SPE 數(shù)據(jù)可以在系統(tǒng)運行時以非侵入方式收集,數(shù)據(jù)寫入虛擬內(nèi)存中軟件分配的緩沖區(qū)。運行虛擬機時,重要的是這些緩沖區(qū)的內(nèi)存頁不能被虛擬機管理程序換出去,否則會丟失分析數(shù)據(jù)。同時,通常也不希望虛擬機管理程序?qū)⑻摂M機的所有內(nèi)存都 Pin 進來。

2024 擴展為 TRBE 和 SPE 引入了虛擬機接口。這些接口允許虛擬機和虛擬機管理程序就分析緩沖區(qū)的大小和位置達成一致。這確保了虛擬機的分析數(shù)據(jù)不會丟失,同時允許虛擬機管理程序控制虛擬機內(nèi)存中需要 Pin 的內(nèi)存大小。

改進緩存和數(shù)據(jù)放置

2024 的 A 系列擴展引入了兩項增強功能,以提高緩存效率。第一個功能是生產(chǎn)者-消費者數(shù)據(jù)放置提示。新的寫提示指令允許生產(chǎn)線程向處理器提示寫或原子操作的數(shù)據(jù)將被不同的線程使用。而對于消費線程,則有一條新的預(yù)取指令,提示數(shù)據(jù)是由另一個線程生成的,可能還不存在。這些提示共同顯著提高了并行軟件的可擴展性,增強了消息傳遞、鎖傳遞和線程 barrier 的性能。例如:

fb03cc10-b9bf-11ef-8732-92fbcf53809c.png

系統(tǒng)可能包括連接到不同高速緩存層次結(jié)構(gòu)級別的設(shè)備或加速器。例如,在下面的系統(tǒng)中,設(shè)備 A 可以訪問系統(tǒng)級高速緩存 (System Level Cache, SLC),而設(shè)備 B 則繞過 SLC。

fb1d32e0-b9bf-11ef-8732-92fbcf53809c.png

為了讓設(shè)備 A 或設(shè)備 B 能夠看到數(shù)據(jù),CPU 上運行的軟件需要將數(shù)據(jù)推送到內(nèi)存系統(tǒng)中。當(dāng)前,軟件會使用緩存操作將數(shù)據(jù)推送到一致性點 (Point of Coherency, PoC),在示例系統(tǒng)中,一致性點位于 SLC 之外。這對設(shè)備 B 來說是正確的,但對設(shè)備 A 來說,將數(shù)據(jù)推送到 SLC 就足夠了。

2024 擴展增加了針對 outer cache 的高速緩存維護操作。這為知道高速緩存拓撲結(jié)構(gòu)的軟件提供了更大的靈活性,使開發(fā)者能夠根據(jù)使用該數(shù)據(jù)的設(shè)備的需求,將數(shù)據(jù)推送到系統(tǒng)的合適位置。

利用粒度數(shù)據(jù)隔離基于機密計算進行構(gòu)建

Armv9-A 為開發(fā)者提供了編程工具和環(huán)境,使他們能夠在快速發(fā)展的 AI 市場中加快創(chuàng)新步伐。此類應(yīng)用所使用的模型和數(shù)據(jù)尤為寶貴,因此安全性至關(guān)重要。Arm 機密計算架構(gòu) (Confidential Compute Architecture, CCA) 利用硬件和軟件來保護使用中的數(shù)據(jù)和應(yīng)用。

Armv9.1-A 引入了機密領(lǐng)域管理擴展 (Realm Management Extension, RME),在設(shè)備上創(chuàng)建了一個獨立的計算世界,用于運行和保護應(yīng)用和數(shù)據(jù)。使用機密領(lǐng)域可以防止來自以更高權(quán)限級別運行的軟件的攻擊。機密領(lǐng)域的內(nèi)容或進程無法訪問。數(shù)據(jù)在使用、傳輸和復(fù)位時均保持加密。Armv9.4-A 引入了一項更新,使機密領(lǐng)域可以與加速器交互并保持其完整性。

粒度數(shù)據(jù)隔離 (Granular Data Isolation, GDI) 建立在 Armv9-A 的 RME 基礎(chǔ)之上,并增加了兩個新的物理地址空間 (Physical Address Space, PAS),可將內(nèi)存位置分配到這些空間:

非安全保護 (Non-Secure Protected, NSP)

系統(tǒng)代理 (System Agent, SA)

這兩個新的 PAS 與現(xiàn)有選項的不同之處在于,處理器無法訪問它們。如此一來,軟件就可以將內(nèi)存緩沖區(qū)分配給其他設(shè)備,而硬件則維護這些緩沖區(qū)內(nèi)數(shù)據(jù)的機密性。例如,可信加速器可以使用 NSP PAS 來處理數(shù)據(jù),同時保證軟件無法訪問這些數(shù)據(jù)。

其他功能

2024 擴展中引入的其他增強功能包括:

對 EL1 系統(tǒng)寄存器進行位鎖定 (Bitwise Locking)。

針對大型內(nèi)存系統(tǒng)改進了粒度保護表 (Granular Protect Tables, GPT) 的可伸縮性。

用于擴展/壓縮和查找第一個/最后一個 active 元素的新 SVE 指令。

新增非特權(quán)讀取和存儲指令,使操作系統(tǒng)能與應(yīng)用內(nèi)存交互。

新的比較和分支指令。

從 EL3 注入 Undefined 指令異常。

新一代中斷控制器即將推出

通用中斷控制器 (Generic Interrupt Controller, GIC) 是 Arm A 系列系統(tǒng)的標(biāo)準(zhǔn)解決方案,在整個 Arm 生態(tài)系統(tǒng)中被廣泛使用。當(dāng)前版本 GICv3 和 GICv4 于 2013 年與 Armv8-A 一起推出。從那時起,系統(tǒng)的結(jié)構(gòu)和運行工作負載都發(fā)生了變化。Arm 正在開發(fā)新版本的 GIC 架構(gòu),我們期待在 2025 年初分享預(yù)覽版。

總結(jié)

本文簡要介紹了 Arm 架構(gòu) Armv9.6-A 中的最新功能。在接下來的幾個月中,Arm 將與合作伙伴共同致力于確保軟件生態(tài)系統(tǒng)能夠在未來處理器上市后盡快利用這些功能。

聲明:本文內(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

    文章

    19370

    瀏覽量

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

    關(guān)注

    134

    文章

    9116

    瀏覽量

    368192
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5358

    瀏覽量

    120771
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31225

    瀏覽量

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

    關(guān)注

    1792

    文章

    47469

    瀏覽量

    239137

原文標(biāo)題:Armv9 技術(shù)講堂 | Arm A 系列架構(gòu) 2024 進展

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

收藏 人收藏

    評論

    相關(guān)推薦

    Arm代指令架構(gòu)Armv9”已經(jīng)問世

    Arm的下代CPU指令集架構(gòu)(ISA:指令集架構(gòu)Armv9開始推出。該公司正在逐步擴展當(dāng)前的ISA
    的頭像 發(fā)表于 11-13 11:55 ?4.5w次閱讀

    ARM發(fā)布全新Cortex-A35處理器,ARMv8-A架構(gòu)全面進軍移動和嵌入式市場

    應(yīng)用而設(shè)計。ARMv8-A架構(gòu)具有64位和32位運算能力以及完整的加密功能,Cortex-A35因而得以開創(chuàng)更豐富的用戶體驗。ARM預(yù)期Co
    發(fā)表于 11-11 16:56 ?2020次閱讀

    Arm架構(gòu)學(xué)習(xí)—開啟Armv9時代

    在上篇文章“從A76到A78——在變化中學(xué)習(xí)Arm架構(gòu),我們了解了
    的頭像 發(fā)表于 11-27 16:46 ?1456次閱讀
    <b class='flag-5'>Arm</b>微<b class='flag-5'>架構(gòu)</b>學(xué)習(xí)—開啟<b class='flag-5'>Armv</b>9時代

    我對ARM架構(gòu)的理解

    狀態(tài)下,使用A32和T32指令集,而AArch64使用A64。ARM架構(gòu)Arm架構(gòu)很容易識別,因
    發(fā)表于 09-03 17:56

    幫你梳理Cortex與ARMv8等基礎(chǔ)概念

    到底什么是Cortex、ARMv8、arm架構(gòu)、ARM指令集、soc?幫你梳理基礎(chǔ)概念【科普
    發(fā)表于 12-14 08:20

    Armv8-A構(gòu)架Armv8.6-A引進的最新功能介紹

    Units (AMU)的虛擬化支持總結(jié)這篇博簡要介紹了Armv8-A構(gòu)架Armv8.6-A 引進的最新功能。這些
    發(fā)表于 07-29 15:29

    ARM Compiler編譯器6.11的新功能都有哪些呢

    arm Compiler 6.11版本在匯編器增加了armv8.5-A架構(gòu)支持,支持了些可選功能
    發(fā)表于 08-03 14:38

    介紹Armv8.6-A引進的新功能的概況

    Arm 構(gòu)架持續(xù)進化以滿足我們生態(tài)伙伴的需求。這篇博介紹了Armv8.6-A引進的新功能
    發(fā)表于 08-08 14:16

    詳解SIMD架構(gòu)與SVE2的演進

    Arm推出了具有日益強大的安全性和人工智能 (AI) 能力的下Armv9 架構(gòu)。緊隨其后的是 推出的全新 Arm Total Comp
    發(fā)表于 08-12 15:50

    Arm架構(gòu)的擴展詳解

    Arm架構(gòu)的補充以版本增量的形式提供,稱為擴展。擴展允許我們根據(jù)合作伙伴的需求定期發(fā)布新功能,而無需制作主要架構(gòu)的主要變化。 Arm每年都
    發(fā)表于 08-02 06:08

    ARM體系結(jié)構(gòu)參考手冊ARMv7-AARMv7-R版本

    本手冊介紹ARM?架構(gòu)v7、ARMv7的A和R配置文件。 其中包括以下內(nèi)容的描述: ·處理器指令集: -原始ARM?指令集-高代碼密度Thu
    發(fā)表于 08-12 07:46

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

    。 有關(guān)ARMv7-A架構(gòu)般介紹,請參閱ARM?Cortex?-A系列程序員指南。 本指南還可以幫助您熟悉本卷
    發(fā)表于 08-22 07:22

    重磅!Arm正式推出Armv9架構(gòu)

    當(dāng)?shù)貢r間3月30日,Arm宣布正式推出Armv9架構(gòu),以應(yīng)對全球?qū)o處不在的專業(yè)化處理的需求,這種處理具有越來越強大的安全性和人工智能(AI)能力。Armv9是
    發(fā)表于 03-31 09:43 ?2650次閱讀
    重磅!<b class='flag-5'>Arm</b>正式推出<b class='flag-5'>Armv</b>9<b class='flag-5'>架構(gòu)</b>

    詳解ARM架構(gòu)和處理器系列命名規(guī)則

    處理器的命名應(yīng)該包含兩類:指令集架構(gòu)命名規(guī)則和處理器系列規(guī)則。 ARM 架構(gòu)是構(gòu)建每個 ARM 處理器的基礎(chǔ)。ARM
    發(fā)表于 02-11 10:44 ?8次下載
    <b class='flag-5'>詳解</b><b class='flag-5'>ARM</b><b class='flag-5'>架構(gòu)</b>和處理器系列命名規(guī)則

    Arm架構(gòu)Armv9時代

    在介紹Armv9系列前,我們先看ARM的Cortex-X定制CPU計劃。Cortex-X方案先于Armv9發(fā)布,在Arm發(fā)布
    的頭像 發(fā)表于 02-06 14:43 ?9153次閱讀