?自Arm在2011年10月首次發布Armv8架構以來,已經過去了近十年的時間。這對Arm來說是一個相當可觀的十年,因為在這段時間內,他們的指令集架構受到移動市場和服務器市場的高度關注,并鉚足勁在包括筆記本電腦和臺式機設備市場發力。過去多年里,Arm對ISA進行了改進,也對體系結構進行了各種更新和擴展。當中一些可能很重要,有些可能也是一瞥而過。
近日,作為Arm的Vision Day活動的一部分,該公司正式發布了該公司的新一代Armv9架構的首個細節,為Arm未來十年內成為下一個3000億芯片的計算平臺奠定了基礎。
讀者可能會問的一個大問題是,Armv9與Armv8究竟有何不同,能讓架構獲得如此大的提升。確實,從純粹的ISA角度來看,v9可能不像v8相比v7那樣實現根本性的跳躍,后者引入了AArch64,一個完全不同的執行模式和指令集,該指令集與AArch32相比具有更大的微體系結構分支,例如擴展寄存器,64位虛擬地址空間和更多改進。 ? Armv9繼續使用AArch64作為基準指令集,但是在其功能上增加了一些非常重要的擴展,以保證architecture numbering的增加,并且允許Arm不僅可以獲得對AArch64進行某種軟件重新基準化v9的新功能,還能保持我們多年來在v8上獲得的擴展。 ? Arm認為新架構Armv9有三個主要支柱,即安全性、AI以及改進的矢量和DSP功能。對于v9,安全性是一個非常重要的主題,我們將深入探討新擴展和功能的新細節,但是首先談到的DSP和AI功能應該很簡單。 ?
新的Armv9兼容CPU所承諾的最大的新功能可能是開發人員和用戶可以立即看到的——SVE2作為NEON的后繼產品。 ? 可伸縮矢量擴展(SVE)的于2016年首次亮相,并首次在富士通的A64FX CPU內核中實現,該芯片已為日本排名第一的超級計算機Fukagu提供支持。SVE的問題在于,新的可變矢量長度SIMD指令集的第一次迭代的范圍相當有限,并且更多地針對HPC工作負載,缺少了許多仍由NEON涵蓋的更通用的指令。 ? SVE2于2019年4月發布,旨在通過用所需指令補充新的可擴展SIMD指令集來解決此問題,以服務于類似DSP等目前仍在使用NEON的工作負載。 ?
除了增加的各種現代SIMD功能外,SVE和SVE2的優勢還在于其可變的向量大小,范圍覆蓋了128b到2048b,讓其無論在什么硬件運行,都允許向量的可變粒度為128b。如果純粹從向量處理和編程的角度來看,這意味著軟件開發人員將只需要編譯一次其代碼,并且如果將來某個CPU帶有本地的512b SIMD execution pipelines,該代碼將能夠充分利用單元的整個寬度。同樣,相同的代碼將能夠在具有較低硬件執行寬度能力的保守設計上運行,這對于Arm設計從物聯網、移動到數據中心的CPU而言至關重要。在保留Arm體系結構的32b編碼空間的同時,它還可以完成所有這些工作。然而類似X86這樣的架構則需要根據矢量尺寸增加新的指令和擴展。
機器學習也被視為Armv9的重要組成部分,因為Arm認為在未來幾年中,越來越多的ML工作負載將變得司空見慣,當中包括了對性能或電源效率有至關重要要求的場景中。那就讓在專用加速器上運行ML工作負載變成長久的需要,與此同時,我們還會繼續在CPU上運行較小范圍的ML工作負載。 ? 矩陣乘法指令(Matrix multiplication instructions )是此處的關鍵,它將代表生態系統中將更大范圍采用v9 CPU作為基本功能所邁出的重要一步。 ? 通常,我認為SVE2可能是保證升級到v9的最重要因素,因為它是更確定的ISA功能,可以在日常使用中與v8 CPU區別開來,并且可以保證軟件生態系統能夠正常運行,這與現有的v8堆棧有所不同。對于服務器領域的Arm來說,這實際上已經成為一個相當大的問題,因為軟件生態系統仍在基于v8.0的軟件包基礎上,不幸的是,該軟件包缺少了最重要的v8.1大型系統擴展。 ? 使整個軟件生態系統向前發展,并假設新的v9硬件具有新的體系結構擴展功能,這將有助于推動事情發展,并可能解決某些當前情況。 ? 但是,v9不僅涉及SVE2和新指令,它還非常注重安全性,在安全性方面我們將看到一些更根本的變化。 ?
介紹機密的計算架構
在過去的幾年中,安全性和硬件安全性漏洞已成為芯片行業的頭等大事,Spectre,Meltdown等漏洞的出現及其所有同級邊信道攻擊都表明,重新思考如何保證安全成為了一個基本需求。Arm希望用來解決這一總體問題的方法是通過引入Arm機密計算體系結構(Arm Confidential Compute Architecture:CAA)來重新設計安全應用程序的工作方式。
在繼續之前,我想提箱一下,今天的披露僅僅是對新CCA運作方式的高層次解釋,Arm說,有關新安全機制的確切工作原理的更多細節將在今年夏天的晚些時候公布。
CCA的目標是從當前的軟件堆棧情況中獲得更大的收益,在當前的軟件堆棧情況下,在設備上運行的應用程序必須固有地信任它們所運行的操作系統和虛擬機管理程序。傳統的安全模型是基于以下事實建立的:更高特權的軟件層被允許查看較低層的執行,然而當操作系統或系統管理程序被以任何方式損害時,這就可能成為了一個問題。 ? CCA引入了動態創建““realms”的新概念,可以將其視為對OS或虛擬機管理程序完全不透明的安全容器化執行環境。系統管理程序將仍然存在,但僅負責調度和資源分配。而“realm”將由稱為“ealm manager”的新實體管理,其被認為是一段新的代碼,大致大小約為hypervisor的1/10。 ? realm內的應用程序將能夠“證明”領域管理器以確定其是否可信任,這對于傳統的虛擬機管理程序而言是不可能的。 ?
? Arm并沒有深入探討究竟是什么造成了realm與操作系統和虛擬機管理程序的非安全世界之間的這種隔離,但聽起來確實像硬件支持的地址空間,但它們無法相互交互。
使用realms的優勢在于,它極大地減少了設備上運行的給定應用程序的信任鏈,并且OS對安全性問題變得越來越透明。與當今需要企業或企業使用帶有授權軟件堆棧的專用設備的情況相反,需要監督控制的關鍵任務應用程序將能夠在任何設備上運行。
MTE(memory tagging extensions)并不是v9的新功能,而是隨v8.5一起引入的,MTE或內存標記擴展旨在幫助解決世界軟件中兩個最持久的安全問題。緩沖區溢出(Buffers overflows)和無用后使用(use-after-free)是持續的軟件設計問題,在過去的50年中,這些問題一直是軟件設計的一部分,并且可能需要花費數年的時間才能對其進行識別或解決。MTE旨在通過在分配時標記指針并在使用時進行檢查來幫助識別此類問題。 ?
未來的Arm CPU路線圖
這與v9沒有直接關系,但是與即將到來的v9設計的技術路線圖緊密相關,Arm還談到了有關他們在未來2年中對v9設計的預期性能的一些觀點。 ?
Arm談到了移動市場在今年如何將帶有X1的設備性能提升了2.4倍(此處我們僅指ISO流程設計的IPC),該性能是幾年前推出的Cortex-A73的兩倍。 ? 有趣的是,Arm還談到了Neoverse V1設計及其如何達到A72類似設計性能的2.4倍,并透露他們期待著他今年晚些時候發布的首批V1設備。 ? 對于代號為“ Matterhorn”和“ Makalu”的下一代移動IP內核,該公司公開了這兩代產品的合計預期IPC增益為30%,其中不包括SoC設計人員可以獲得的頻率或任何其他其他性能增益。這實際上代表著這兩種新設計的世代增加了14%,并且如幻燈片中的性能曲線所示,這表明相對于自A76以來Arm在過去幾年所管理的工作而言,改進的步伐正在放緩。不過,該公司指出,進步速度仍然遠遠超過行業平均水平。但潭門也坦言,這被一些行業參與者拖累了。 ?
Arm還提供了一張很有意思的幻燈片,該幻燈片旨在關注系統側對性能的影響,而不僅僅是CPU IP性能。從這里提供的一些數據可以看到,例如每5ns的內存延遲中有1%的性能,這是我們現在已經廣泛討論了幾代的數字,但是Arm在這里還指出,排除了是否通過改善內存路徑,增加緩存或優化頻率功能來改善實現的其他各個方面,他們可以使用整整一代的CPU性能提升,我認為這是對SoC供應商當前保守方法的一種評價,這些方法沒有充分利用X1內核的預期性能余量,并且隨后也未達到新內核的預期性能預測。
Arm繼續將CPU視為未來最通用的計算模塊。盡管專用的加速器或GPU將會占有一席之地,但它們很難解決一些重要問題,例如可編程性,保護性,普遍性(本質上是在任何設備上運行它們的能力)以及經過驗證的正常工作的能力。當前,計算生態系統在運行方式上極為分散,不僅設備類型不同,而且設備供應商和操作系統也不同。 ?
SVE2和Matrix乘法可以極大地簡化軟件生態系統,并允許計算工作負載以更統一的方法向前邁進,該方法將來將可以在任何設備上運行。
最后,Arm還分享了有關Mali GPU未來的新信息,并透露該公司正在開發VRS等新技術,尤其是Ray Tracing。這一點令人非常令人驚訝,也表明AMD和Nvidia引入RT推動的臺式機和控制臺生態系統也有望將移動GPU生態系統推向RT。 ?
Armv9設計即將在2022年初面世
今天的公告以一種非常高級的形式出現,我們希望Arm在接下來的幾個月中,在公司通常的年度技術披露中,更多地談論Armv9的各種細節和新功能,例如CCA。 ? 總的來說,Armv9似乎是更基本的ISA轉變(可以看作SVE2)與軟件生態系統的總體重新基準的結合,以匯總v8擴展的最后十年,并為下一個十年奠定基礎Arm體系結構。 ? Arm于去年下半年已經談論過Neoverse V1和N2,我確實希望N2至少最終是基于v9而設計發布的。Arm進一步透露,更多基于Armv9的 CPU設計(可能是移動端Cortex-A78和X1的后續產品)將于今年推出,而新的CPU可能已經被通常的SoC供應商所采用,并且有望成為在2022年初在商用設備中出現。 ?
編輯:黃飛
?
評論
查看更多