Armv9 架構相比 Armv8 有何升級 / 區別:延續 AArch64 基準指令集 ,全面性能提升,還有重要擴充套件
3月31日訊息外媒 AnandTech 報道,安全性升級對於 Armv9 來說,其重要性相當於 64 位對於 Armv8。
自 2011 年 10 月 Arm 首次公佈 Armv8 架構以來,已經有近 10 年的時間了,這是計算領域相當多變的 10 年,因為指令集架構通過移動領域到伺服器領域的應用越來越多,現在開始在膝上型電腦和即將到來的桌上型電腦等消費裝置市場上普及。這些年來,Arm 對 ISA 進行了各種更新和擴充套件,有些是重要的,有些也許很容易被忽略。
今天,作為 Arm Vision Day 活動的一部分,Arm 公佈了全新的 Armv9 架構,為 Arm 希望在未來十年成為下一代 3000 億顆晶片的計算平臺奠定基礎。
Armv9 與 Armv8 到底有什麼區別,才會在 ISA 的命名上有如此大的跳躍?
外媒分析稱,說實話,單純從 ISA 的角度來看,v9 可能並不像 v8 相比 v7 那樣有根本性的跳躍,v8 曾用 AArch64 引入了完全不同的執行模式和指令集,而 AArch64 比 AArch32 有更大的微觀架構影響,比如擴充套件暫存器、64 位虛擬地址空間等許多改進。
Armv9 延續了 AArch64 作為基準指令集的使用,然而在功能上增加了一些非常重要的擴充套件,值得在架構編號上做一個增量,可能讓 Arm 也實現了一種軟體的重新壘砌,不僅是新的 v9 功能,也包括我們這些年看到的各種 v8 擴充套件的釋出。
獲悉,Armv9 擁有三大新支柱,Arm 認為新架構的主要目標是:安全、AI 以及改進向量和 DSP 能力。安全性是 v9 的一個非常大的話題,值得更深入地介紹新的擴充套件和功能細節,但談到 DSP 和 AI 功能,可以是很直接的。
承諾與 Armv9 相容的新 CPU 最大的新特性可能是開發者和使用者馬上就能看到的,那就是 SVE2 作為 NEON 的後續產品的基線。
可伸縮向量擴充套件,也就是 SVE,在第一次實現的時候,早在 2016 年就宣佈了,並首次在富士通的 A64FX CPU 核心中實現,現在日本的世界第一超級計算機 Fukagu 就採用了 SVE。SVE 的問題在於,這個新的可變向量長度 SIMD 指令集的首次迭代範圍相當有限,而且更多的是針對 HPC 工作負載,缺少了許多通用性較強的指令,而這些指令仍然被 NEON 所覆蓋。
SVE2 早在 2019 年 4 月就公佈了,希望通過補充新的可擴充套件 SIMD 指令集所需的指令來解決這個問題,以服務於目前仍在使用 NEON(指 128 位 SIMD 單指令多資料擴充套件結構)的更多樣的 DSP 類工作負載。
SVE 和 SVE2 除了增加各種現代 SIMD(單指令多資料)能力之外,好處在於它們的可變向量大小,從 128b 到 2048b 不等,允許可變 128b 粒度的向量,而不管實際硬體執行在什麼地方。純粹從向量處理和程式設計的角度來看,這意味著軟體開發者只需要編譯一次程式碼,如果未來 CPU 會出現比如原生 512b 的 SIMD 執行流水線,程式碼就已經可以利用單位的全部寬度了。另外,同樣的程式碼也能在更保守的設計上執行,並具有更低的硬體執行寬度能力,這對 Arm 公司來說非常重要,因為他們設計了從物聯網、移動裝置到資料中心的 CPU。此外,它還能在 Arm 架構的 32b 編碼空間內完成所有這些工作,而在 x86 上的其他實現則必須根據向量大小增加新的擴充套件和指令。
機器學習也被視為 Armv9 的一個重要部分,因為 Arm 看到未來幾年越來越多的 ML 工作負載將變得普遍。在專用加速器上執行 ML 工作負載自然仍然是效能或能效關鍵的要求,然而,仍然會有大量新的較小範圍的 ML 工作負載採用,這些工作負載將在 CPU 上執行。
矩陣乘法指令是這裡的關鍵,並將代表著在整個生態系統中看到更大規模採用的重要一步,作為 v9 CPU 的基線功能。
一般來說,SVE2 可能是保證跳轉到 v9 命名法的最重要因素,因為它是一個更明確的 ISA 功能,在日常使用中區別於 v8 CPU,這將保證軟體生態系統去實際分化現有的 v8 堆疊。這其實已經成為 Arm 在伺服器領域的一個相當大的問題,因為軟體生態系統仍然是以 v8.0 為基礎的軟體包,可惜缺少了最重要的 v8.1 大系統擴充套件。
讓整個軟體生態系統向前發展,並且能夠假設新的 v9 硬體具有新架構擴充套件的能力,這將有助於推動事情的發展,可能會解決目前的一些情況。
然而 v9 不僅僅是 SVE2 和新的指令,它還有一個非常大的重點就是安全,在這裡我們會看到一些比較徹底的變化。
新的 Arm 保密計算架構 (CCA)試圖通過基於硬體的安全環境保護敏感資料。這些所謂的 “領域”可以動態建立,以保護重要資料和程式碼不受系統其餘部分的影響。
除了這些更具體的改進外,Arm 還承諾在 Armv9 基礎上進行更全面的效能提升。該公司預計,在未來兩次迭代中,CPU 效能將提高 30% 以上,並通過軟體和硬體優化進一步提升效能。Arm 表示,所有現有軟體都可以在基於 Armv9 的處理器上執行,沒有任何問題。