作者:Arm 架構與技術部產品管理總監 Martin Weidmann
Arm CPU 是當今人工智能 (AI) 賦能軟件的關鍵,它可解釋、處理和執行指令。Arm 指令集架構 (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。Arm ISA 持續演進以滿足現代計算的需求,包括 AI 的興起、機器學習 (ML) 和芯粒 (chiplet) 技術的使用,以及應對高級安全威脅。持續創新確保了 Arm 架構的普及性、普適性能、出色能效、安全性和開發者靈活性。
為了確保開發工作能緊跟快速發展的市場步伐,Arm 投入了大量時間來審視未來的計算需求,并與其龐大且獨特的生態系統明確其理解。在打造和發布更新的 ISA 時,結合專業知識與反饋意見,以確保能有針對性地滿足需求。
此系列文章每年發布一次,概述了當年度 Arm A 系列架構的主要新增功能,并隨附完整的指令集和系統寄存器文檔,2024 年為 Armv9.6-A。
想要了解去年的架構擴展,可閱讀《Arm A 系列架構 2023 擴展》。接下來,就讓我們一同來了解今年的一些新增功能。
利用結構化稀疏性和
四分塊操作提高 SME 效率
矩陣運算用于加權特征和計算預測值,是當今許多重要工作負載(包括 AI 和 ML)的基礎。Armv9-A 中的可伸縮矩陣擴展 (SME) 大大提高了 Arm CPU 上矩陣乘法的處理速度和效率。借助 SME,可以同時對多個值進行計算,數據整理和重用的效率更高,而且還支持更多的數據類型和更有效的數據壓縮。
SME 通過使用量化技術,降低了 ML 模型的計算復雜度。這不僅減少了內存需求,降低了能耗,還使模型可適用于移動設備。SME2 在量化方面又更進一步,它為在 CPU 上運行需要以吞吐量為導向操作的各類應用引入了 Streaming 模式。2024 擴展基于 SME2 構建,新增了對 2:4 結構化稀疏性 (structured sparsity) 和四分塊 (quarter tile) 操作的支持。
從四分塊操作開始,這些操作旨在提高 SME 處理小矩陣時的效率。現有的 SME 運算支持外積運算,使用一對輸入向量來計算結果矩陣:
為了更好地支持較小的矩陣,四分運算允許將輸入視為來自四個不同的矩陣:
2024 擴展帶來的另一項改進與稀疏性有關。在下面的示例中,一個包含激活數據的輸入矩陣與另一個包含權重的矩陣相乘。權重矩陣中的一些元素是未使用的(零),不會影響輸出。
這帶來了兩個效率低下的問題:
獲取不需要的數據
執行不改變結果的乘法累加
新的結構化稀疏性指令可以解決這以上兩個問題。在前面的例子中,權重可以用元數據標簽進行壓縮,它描述如何解壓縮數據。
這種方法的優點是既能優化權重的內存占用,又能優化獲取權重進行處理所需的帶寬。權重可以在處理器中解壓縮,然后用于計算。不過,為了避免不必要的多重累積,新指令允許將壓縮數據直接用作輸入。
利用 MPAM Domain 支持芯粒
和多芯片 SoC 上的共享內存系統
芯粒具有更高的系統可組合性和性能擴展性,因此可適用于 AI 和加速計算。要想大規模采用芯粒技術,互操作性必不可少,這需要通過芯粒接口和協議的標準化來實現。
Arm 正在通過旨在提供通用語言和降低碎片化風險的標準,加速生態系統向基于芯粒的系統級芯片 (SoC) 演進。Arm 的芯粒系統架構 (Chiplet System Architecture, CSA)將基于 Arm 架構的系統劃分為多個芯粒,包括其高級屬性,以定義可標準化和復用的芯粒類型。AMBA CHI C2C 利用了現有的片上 AMBA CHI 協議,并定義了其打包方式,使其能夠在芯粒間傳輸。
這些舉措將加速向提供專用和可互操作芯粒的多供應商市場發展。開放的芯粒市場將使 OEM 能夠實現更高水平的定制和集成,而無需承擔開發和制造單芯片設計所帶來的成本。目前,芯粒的優勢是通過垂直集成設計實現的。Armv9-A 的 2024 擴展考慮了這種新的芯片方法以及如何在它們之間管理資源。
當今的許多計算需求都是通過共享內存計算機系統來獲得滿足的,在這些系統中,多個應用或多個虛擬機 (VM) 同時運行。為支持此類系統,Armv8.4-A 引入了內存系統資源分區和監控 (Memory System Resource Partitioning and Monitoring, MPAM) 擴展。MPAM 可以控制對共享資源使用情況進行監控和分區。
MPAM 使用分區編號 (PARTID) 來識別每次內存訪問與哪個軟件實體相關聯。該 PARTID 與內存訪問一起傳輸,以便下游內存系統組件 (MSC) 實施分區策略。
2024 年增加了 MPAM Domain,以更好地支持多芯粒和多芯片系統上的共享內存計算機系統。MPAM Domain 允許系統的不同部分使用不同的 PARTID 命名空間,并在訪問跨越域邊界時進行 PARTID 轉換。
整個系統無需具有統一的 PARTID 寬度,系統因而更容易組成。由于系統的每個部分都可以只支持所需數量的 PARTID,MPAM Domain 還有助于降低成本。
虛擬機上用于 Trace 和統計分析的
虛擬機管理程序內存控制
Armv9-A 的 Trace(ETE 和 TRBE)和統計分析擴展 (Statistical Profiling Extensions, SPE) 為開發者提供了了解軟件性能所需的信息,使其能最大限度地利用硬件平臺。
Trace 和 SPE 數據可以在系統運行時以非侵入方式收集,數據寫入虛擬內存中軟件分配的緩沖區。運行虛擬機時,重要的是這些緩沖區的內存頁不能被虛擬機管理程序換出去,否則會丟失分析數據。同時,通常也不希望虛擬機管理程序將虛擬機的所有內存都 Pin 進來。
2024 擴展為 TRBE 和 SPE 引入了虛擬機接口。這些接口允許虛擬機和虛擬機管理程序就分析緩沖區的大小和位置達成一致。這確保了虛擬機的分析數據不會丟失,同時允許虛擬機管理程序控制虛擬機內存中需要 Pin 的內存大小。
改進緩存和數據放置
2024 的 A 系列擴展引入了兩項增強功能,以提高緩存效率。第一個功能是生產者-消費者數據放置提示。新的寫提示指令允許生產線程向處理器提示寫或原子操作的數據將被不同的線程使用。而對于消費線程,則有一條新的預取指令,提示數據是由另一個線程生成的,可能還不存在。這些提示共同顯著提高了并行軟件的可擴展性,增強了消息傳遞、鎖傳遞和線程 barrier 的性能。例如:
系統可能包括連接到不同高速緩存層次結構級別的設備或加速器。例如,在下面的系統中,設備 A 可以訪問系統級高速緩存 (System Level Cache, SLC),而設備 B 則繞過 SLC。
為了讓設備 A 或設備 B 能夠看到數據,CPU 上運行的軟件需要將數據推送到內存系統中。當前,軟件會使用緩存操作將數據推送到一致性點 (Point of Coherency, PoC),在示例系統中,一致性點位于 SLC 之外。這對設備 B 來說是正確的,但對設備 A 來說,將數據推送到 SLC 就足夠了。
2024 擴展增加了針對 outer cache 的高速緩存維護操作。這為知道高速緩存拓撲結構的軟件提供了更大的靈活性,使開發者能夠根據使用該數據的設備的需求,將數據推送到系統的合適位置。
利用粒度數據隔離基于機密計算進行構建
Armv9-A 為開發者提供了編程工具和環境,使他們能夠在快速發展的 AI 市場中加快創新步伐。此類應用所使用的模型和數據尤為寶貴,因此安全性至關重要。Arm 機密計算架構 (Confidential Compute Architecture, CCA) 利用硬件和軟件來保護使用中的數據和應用。
Armv9.1-A 引入了機密領域管理擴展 (Realm Management Extension, RME),在設備上創建了一個獨立的計算世界,用于運行和保護應用和數據。使用機密領域可以防止來自以更高權限級別運行的軟件的攻擊。機密領域的內容或進程無法訪問。數據在使用、傳輸和復位時均保持加密。Armv9.4-A 引入了一項更新,使機密領域可以與加速器交互并保持其完整性。
粒度數據隔離 (Granular Data Isolation, GDI) 建立在 Armv9-A 的 RME 基礎之上,并增加了兩個新的物理地址空間 (Physical Address Space, PAS),可將內存位置分配到這些空間:
非安全保護 (Non-Secure Protected, NSP)
系統代理 (System Agent, SA)
這兩個新的 PAS 與現有選項的不同之處在于,處理器無法訪問它們。如此一來,軟件就可以將內存緩沖區分配給其他設備,而硬件則維護這些緩沖區內數據的機密性。例如,可信加速器可以使用 NSP PAS 來處理數據,同時保證軟件無法訪問這些數據。
其他功能
2024 擴展中引入的其他增強功能包括:
對 EL1 系統寄存器進行位鎖定 (Bitwise Locking)。
針對大型內存系統改進了粒度保護表 (Granular Protect Tables, GPT) 的可伸縮性。
用于擴展/壓縮和查找第一個/最后一個 active 元素的新 SVE 指令。
新增非特權讀取和存儲指令,使操作系統能與應用內存交互。
新的比較和分支指令。
從 EL3 注入 Undefined 指令異常。
新一代中斷控制器即將推出
通用中斷控制器 (Generic Interrupt Controller, GIC) 是 Arm A 系列系統的標準解決方案,在整個 Arm 生態系統中被廣泛使用。當前版本 GICv3 和 GICv4 于 2013 年與 Armv8-A 一起推出。從那時起,系統的結構和運行工作負載都發生了變化。Arm 正在開發新版本的 GIC 架構,我們期待在 2025 年初分享預覽版。
總結
本文簡要介紹了 Arm 架構 Armv9.6-A 中的最新功能。在接下來的幾個月中,Arm 將與合作伙伴共同致力于確保軟件生態系統能夠在未來處理器上市后盡快利用這些功能。
-
處理器
+關注
關注
68文章
19281瀏覽量
229792 -
ARM
+關注
關注
134文章
9092瀏覽量
367515 -
寄存器
+關注
關注
31文章
5343瀏覽量
120332 -
AI
+關注
關注
87文章
30867瀏覽量
269030 -
人工智能
+關注
關注
1791文章
47269瀏覽量
238437
原文標題:Armv9 技術講堂 | Arm A 系列架構 2024 進展
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論