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

Arm與RISC-V架構(gòu)的優(yōu)劣勢(shì)比較
一文詳解Arm架構(gòu)Armv9.6-A中的最新功能

評(píng)論