作者:Arm 架構與技術部產品管理總監 Martin Weidmann
隨著人工智能 (AI) 的興起和安全威脅的加劇,計算需求不斷提高。全球各種設備所依賴的基礎計算架構也必須持續向前推進。為此,我們的工程團隊不斷地在應用廣泛的 Arm 架構中加入新的功能和技術,同時我們的軟件團隊也在努力讓軟件能夠順利地適配這些未來的功能和技術。
Arm 架構是如何開發的
Arm 每年都會發布 Arm 指令集架構 (ISA) 的更新,這些更新是通過與 Arm 生態系統中的各類合作伙伴合作參與創建的。該流程涉及芯片合作伙伴、操作系統供應商、OEM 廠商,以及 Arm 內部的工程團隊和多家標準組織。
經過精心設計的 ISA 可確保軟件在未來數年內持續兼容新舊硬件。Arm 與 Linaro 等眾多合作伙伴緊密協作,讓諸如 Linux 內核和發行版等廣泛使用的軟件上游社區能支持 Arm ISA,以便建立龐大的開發者生態系統。
每年九月,我們都會發表一篇技術博客,分享該年度對 A-Profile 架構所作的一些重要增添。同時,我們也會在 Arm 開發者網站上發布完整的指令集和系統寄存器文檔[1]。
完整的 Arm 架構參考手冊[2] (Arm Architecture Reference Manual, Arm ARM) 也會每年更新一次。預計 2024 年初會發布包含 2023 年擴展內容的更新版。“學習架構 (Learn the Architecture)”[3]頁面同樣會在 2023 年和 2024 年更新。
技術博客和文檔的發布只是部署新架構的一小步。接下來我們還要同生態合作伙伴一起努力,確保一旦硬件準備就緒,開源軟件就能即刻支持新的架構功能。
2023 年,Arm 推出新特性以加強對人工智能 (AI)、機器學習 (ML) 和安全性的支持。Arm 架構的首要任務之一是讓安全的 AI 無處不在,而神經網絡 (NN) 的訓練是 AI 不斷進步和發展的關鍵。因此,2023 年的架構擴展增加了已在神經網絡中廣泛使用的新八位浮點格式,名為 FP8。為了提高安全性,我們還增加了“經檢查的指令運算 (Checked Pointer Arithmetic)”功能,該功能基于 Arm 內存標記擴展 (MTE)[4] 的現有支持而打造,可以幫助開發者快速發現內存安全違規,節省應用開發的成本和時間。
以下為今年新增的功能:
FP8
2022 年,Arm、Intel 和 Nvidia 宣布針對 FP8 展開合作。FP8 是一種交換格式,可以讓軟件生態系統輕松共享神經網絡模型,并讓 AI 計算能力不斷提高。作為 2023 年擴展的一部分,SME2、SVE2 和 Advanced SIMD (Neon) 增加了對 FP8 的支持。
FP8 支持兩種數據格式:E5M2 和 E4M3。這兩種格式在精度和范圍上有不同的取舍。
使用哪種格式由 FPMR 寄存器中的字段選擇。對于一條指令的不同輸入,可以選擇不同的格式,從而有效地處理各種格式的數據集。我們堅信,圍繞八位浮點格式的行業共創將帶來一系列好處,同時可使開發者專注于真正重要的創新和差異化。我們非常高興看到 FP8 將推動未來 AI 的發展。
熱遷移
熱遷移是指將虛擬機 (VM) 從一臺主機移動到另一臺主機上,而不影響其可用性和狀態。能夠高效地進行熱遷移對于大規模數據中心管理而言非常重要。
為了實現熱遷移,虛擬機管理程序要在 VM 仍在舊主機上運行時,就把它所占用的頁面復制到新主機上。這個過程通常要反復進行幾次,因為 VM 可能會修改已經復制的頁面。解決這個問題有不同的方法,但都要面對三項挑戰:
記錄:記錄 VM 修改過(污染過)的頁面。
調查:根據記錄判斷哪些頁面需要重新復制。
清理:每次迭代時重置記錄機制。
2023 年的擴展增加了幾項功能,可以幫助優化上述的三項挑戰。
FEAT_HDBSS 讓我們可以記錄日志,記錄 Stage 2 已被污染的頁面或塊。該機制解決了“記錄”成本問題,因為內存管理單元 (MMU) 可以在不中斷 VM 執行的情況下高效創建日志。日志也解決了“調查”成本問題,因為生成的數據是虛擬機管理程序可以有效使用的格式。
為了解決“清理”成本問題,FEAT_HACDBS 增加了一個加速器來清理 Stage 2 轉換表中的污染狀態。引擎利用污染頁面日志來定位需要更新的 Stage 2 轉換表描述符。
這些功能結合起來可以大幅提高熱遷移的性能和效率。
經檢查的指令運算
AArch64 支持多項功能,這些功能讓我們可以重新利用保存地址的寄存器高位。例如,Armv8.0-A 中引入的標記指針 (Tagged Pointer) 和 Armv8.5-A 中引入的 MTE。
軟件經常需要操作指針,比如給一個基地址加上一個偏移量。這通常是用加法或減法等常規算術運算來完成的。如果地址計算出現溢出,就可能會破壞寄存器中非地址位的信息。例如,如果使用 MTE,地址操作則可能會改變指針中存儲的標記。損壞的標記可能會導致處理器無法檢測到內存安全違規,如下所示:
2023 年的擴展引入了專門用于指針操作的新指令。這些指令包含多種針對指針的檢查,包括檢查 bits[63:56] 是否被修改并防止溢出。使用
以前面的 MTE 為例,新功能讓處理器能夠檢測指針的前八位是否已被修改。這意味著,如果 MTE 標記損壞,則會向軟件發出報告。
其他功能
其他新引入的增強功能包括:
當生成或檢查指針驗證 (PAC) 碼時,支持組合使用程序計數器 (Program Counter, PC) 和當前選擇的堆棧指針 (Stack Pointer, SP) 作為修飾符。
支持啟用了機密領域管理擴展 (RME)[5] 的設計,可以在 Granule Protection Tables 中支持 non-secure only,也可以禁用某些物理地址空間 (PAS)。
EL3 配置寫入陷阱。
斷點支持地址范圍和 mismatch 觸發,而無需鏈接。
支持將 SError 從 EL3 高效委派給 EL2 或 EL1 處理。
在接下來的幾個月,Arm 將與合作伙伴一起努力,確保軟件生態系統能夠在未來處理器上市后盡快利用發揮這些功能的優勢。
審核編輯:湯梓紅
-
ARM
+關注
關注
134文章
9084瀏覽量
367390 -
AI
+關注
關注
87文章
30728瀏覽量
268892 -
人工智能
+關注
關注
1791文章
47183瀏覽量
238265 -
ARM架構
+關注
關注
14文章
177瀏覽量
36304
原文標題:Arm A-Profile 架構 2023 擴展
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論