首頁 > 科技

超能課堂:為什麼說Armv9架構將會全面挑戰x86?

2021-06-03 17:18:52

近十年來,Arm整個生態體系有了飛速的發展。這得益於智慧手機的普及,幾乎所有人都知道了Arm的存在。事實上更大的變革來自其他方面,比如桌面平臺、伺服器和超算領域。更接近於人們認知的是蘋果推出了首款自研晶片M1,從自己產品線吹響了取代英特爾晶片的號角,無論對於蘋果還是Arm生態系統,這都是一個劃時代的產品。x86已經主宰了計算機行業多年,隨著Arm的崛起,接下來的將面臨有史以來最大的挑戰。

Armv8架構是Arm在2011年推出的第一款64位架構,相比Armv7架構是一個巨大的跨越。蘋果在其中扮演了重要的角色,也藉此迅速地推出了一連串基於此架構的晶片,從iPhone和iPad系列產品,最終拓展到了桌面平臺的iMac上,在市場競爭中佔據了先機,因此大獲成功。不少企業也基於此架構,開發了可用於伺服器和超算領域的產品,個別產品也獲得了不錯的效果,Arm架構晶片得到了更廣泛的應用。可以說Armv8架構讓Arm晶片從小型或移動裝置,進入了新的領域。

前一段時間,Arm釋出了全新的Armv9架構,開啟了新的征程。根據Arm官方的介紹,新的Armv9架構將會至少使用10年,未來兩代基於Armv9架構的處理器在效能上有望提升30%。與Armv8架構不同的是,Armv9架構的適用範圍更廣闊,其一系列改進不少都是為了Arm架構晶片可以實現高效能運算做鋪墊,也就是說更接近於大家口中「x86處理器的對手」這個定位。

Armv9架構相比Armv8架構改進了什麼?

在Armv8架構基礎上,Armv9架構繼續使用AArch64作為基準指令集,保持了向下相容性,在此基礎上分別在安全性、AI(機器學習)以及可伸縮向量擴展和DSP上做出改進,擴展了應用範圍。Armv9架構包括了三個系列,分別是通用計算的A系列、實時處理器的R系列和微控制器的M系列。

Armv9架構在安全性方面做了多方面的工作,比如引入了Arm機密計算體系(Confidential Compute Architecture, CCA)和動態創建機密領域(Realms)概念,通過打造基於硬體的安全運行環境來執行計算,保護程式碼和資料免被竊取或修改。Arm還與谷歌合作開發了「記憶體標籤擴展」技術,可以在軟體中查詢空間和時間的記憶體安全問題。另外,Arm與劍橋大學在其CHERI架構上進行合作,從架構底層提高安全性。

Arm認為,未來計算效能的提升非常重要的驅動力就是AI。不同的裝置的AI效能需求不同,對AI處理器的要求也會不一樣。為了滿足未來的行業需求,Arm在原有的SVE(可伸縮向量擴展)指令集基礎上,開發了SVE2指令集,增強了新一代Arm架構在高效能運算、5G網路、虛擬現實、AI和DSP等方面的效能。另外Arm對矩陣乘法的進一步優化,以及Mali GPU和Ethos NPU的持續改進,也將擴展Armv9架構的技術能力。

隨著各行各業對處理器的要求已從通用計算向專用計算髮展,為了滿足各方對效能的需求,Arm提出了全面計算(Total Compute)的設計方法。通過對系統級硬體(包含Arm的CPU、GPU、NPU)和軟體優化,將全面計算的設計方法應用在汽車、使用者端、基礎設施和物聯網等解決方案的整個IP組合中,讓Armv9架構加速總體計算效能。

富士通在Armv9架構開發過程中的作用

富士通(Fujitsu)作為一家在超級計算機領域有著豐富經驗的企業,與Arm合作開發了SVE指令集來擴展Arm處理器。SVE指令集並不是Armv8基本規範的一部分,只是一個擴展,不過在Armv9裡,已經成為了標準規範的一部分。雖然SVE作為初代產物,應用範圍有限,並且更多地只是針對HPC工作負載,但作用不可忽視。

Arm和富士通的合作成果是A64FX,是首款使用SVE指令集的Arm架構處理器,也就是目前世界排名第一超算系統「Fugaku」使用的晶片,表現相當亮眼。

根據富士通的介紹,A64FX採用臺積電7nm FinFET工藝製造,擁有87.86億個電晶體,596個訊號針腳,集成了52個核心,包括48個計算核心和4個一樣結構的管理核心。所有的52個核心分為四組,每組13個,共享8MB二級快取。每組之間的互聯使用的是富士通第二代TOFU,也就是6D mesh/torus片上網際網路絡。同時配置了配的32GB HBM2記憶體,16條PCIe Gen3通道,擁有1024 GB/s的儲存頻寬。可以提供2.7 TFLOPS@64bit,21.6 TFLOPS@8bit的效能。

基本上A64FX是一款除了貴,沒有什麼缺點的產品。Arm與富士通在A64FX合作開發過程中,得到了超算系統方面的大量研發經驗,為接下來Armv9架構的標準規範制定工作奠定了堅實的基礎。

隨著人工智慧、機器學習和資料分析等項目在經濟生產和日常生活中變得更普遍,資料中心和超算系統將越來越受到重視。這個由英特爾和AMD的x86處理器主導的市場,自然也是未來Arm想要涉足的地方。在這個領域,富士通A64FX處理器為Arm打響了第一槍,可以說是Arm架構晶片一次成功的試水。

SVE2與x86的SIMD相比有什麼優勢?

對於目前使用基於Armv8架構處理器的iPhone或iPad系列這樣的產品,想運行某些為A64FX製作的程式碼是不可行的,因為不支援SVE指令集。在不久的將來,基於Armv9架構處理器的新一代移動裝置卻可以做到,因為SVE指令集已經成為Armv9架構標準的一部分。從這個角度來看,等於將「超算」塞進了口袋。

在現代微處理器中,處理向量的指令被稱為SIMD指令。從技術上講,Arm的Neon和SVE指令集都可以視為SIMD指令的一種形式,這是單指令多資料流的簡稱。簡單來說,就是當你向CPU發出一條指令,然後會在同一時間對多個值進行相同的操作。這類型的指令集其實很常見,在x86微處理器裡,為更快進行多媒體處理和視訊編解碼工作,使用了包括MMX、SSE系列和現在的AVX系列等指令集,都有相似的思路和作用。

不過目前x86的SIMD指令存在一定的問題。比如一些看起來相同的指令,因為參數不同,都會被編碼為獨立的指令。另外向量寄存器由MMX的64位,擴展到AVX-512的512位,但由於在x86的SIMD指令裡,向量寄存器的長度會被編碼在SIMD指令中,需要增加一條指令來處理,長度不同的向量寄存器都要新增新的擴展和指令,所以每當英特爾提供更大的向量寄存器,就不得不大量增加新指令以適應向量寄存器長度的變化。自1978年以來,IA-32指令集已從80條增加到大約1400條,主要就是由SIMD指令推動的,最終變得越來越臃腫,編譯也變得愈加繁瑣。

在x86的早期,處理器製造工藝的提升相對容易,電晶體數量可以很輕鬆地以幾何級數量增加,指令集的條數也不算多,想加入更大的向量寄存器並不難,每隔幾年增加新指令也是常態。不過隨著工藝開發越來越難,以及電晶體密度過高造成的各種問題,通過這種方式提高效能可能開始有點行不通了。目前在消費級平臺,使用AVX-512指令集的時候會有什麼樣的效果,英特爾第11代酷睿系列處理器的表現相信已經有目共睹了。

一般來說,使用x86處理器的領域允許其做得更大,功耗高一些可能也沒關係,對於超算系統使用的處理器而言,更不會那麼嚴格。不過Arm架構的處理器大多是用在小型裝置上,對功耗和散熱都很敏感,所以就變得很謹慎了。更重要的一點是,Arm試圖讓自己的架構可以覆蓋更廣泛的領域,從微小的嵌入式裝置到「Fugaku」這樣的超算系統。雖然Arm也能提供不同的指令集,或者為不同的細分市場提供不同的配置標準,但軟體可以在所有Arm架構晶片上編譯和運行會更符合Arm的利益,發揮出其架構的最大效益。

如果Arm按照x86的這種思路,顯然是達不到自己想要的效果。而SVE/SVE2指令集可以讓Arm做到不同類型晶片上提供可變長度的向量寄存器,一個向量寄存器的最小長度為128位,最大長度為2048位。無論在什麼樣的Armv9架構晶片上運行,向量的可變長度都為128位。

未來智慧手機使用的Arm處理器,可能使用128位的向量寄存器就可以了,而在超算系統裡,則可以使用2048位的設計,程式碼能夠充分利用向量寄存器的長度以達到更高的效能。這意味著同樣的程式碼其實可以適用於超算系統和普通人的智慧手機,這是目前x86的SIMD指令所做不到的,而且需要解碼和管理的指令也更少,裝入快取的指令也少得多。

或許有人會產生一個疑問,為什麼SVE2與SVE有什麼不同?帶來了什麼變化?

SVE指令集是Armv8架構裡的一個可選擴展,為適應高效能運算需要而設計的,適用性有限。對於大多數使用者而言,更多地是使用Arm的Neon指令集,所做的多媒體工作負載可能更貼合他們的需求,對於這類型工作基本不需要長的向量寄存器。SVE2指令集一方面完善了SVE指令集的不足,另一方面基本做到了原來Neon指令集所要做的事情,而且有著更高的效率和更好的靈活性,可變長度讓其不但適應使用長向量寄存器的工作,還能勝任使用短向量寄存器的任務。

Arm未來可期,x86將面臨真正的挑戰

未來使用者根據自己的實際用途,使用Armv9架構可以設計出更適合自己的晶片,既可以是最小最省電的晶片,也可能是要求最高效能的晶片,而且使用者只需要編譯一次。這也避免了Arm相隔幾年就要考慮大量加入新的SIMD指令,使其加入到英特爾和AMD的SIMD指令軍備競賽中。SVE2指令集為使用Arm架構晶片的使用者提供了一個具有穩定性和可發展空間的平臺,開發人員編寫和優化Arm程式碼變得更加容易,這有利於編寫機器學習、人臉識別和語音識別的程式變得更加容易,而且不用擔心目標平臺是否支援這些指令,搭載的裝置變得更多樣化。

事實上RISC-V和Arm一樣,在指令集類型上有一樣的追求。在未來幾年,英特爾和AMD將面臨嚴峻的挑戰,在機器學習、人工智慧、資料中心和超算等高效能、高利潤的領域,面對的競爭對手並不是彼此,而是Arm甚至RISC-V這樣的新生勢力強有力的衝擊。Armv9架構的釋出,指明瞭Arm前進的方向,未來的道路已漸露曙光。當了解了這些以後,再看看英偉達想以400億美元買下Arm,是不是覺得有點超值?


IT145.com E-mail:sddin#qq.com