詳解Arm最強移動計算平台:五大技術升級,架構細節揭秘

2023-07-04     芯東西

原標題:詳解Arm最強移動計算平台:五大技術升級,架構細節揭秘

芯東西(公眾號:aichip001)

作者 | ZeR0

編輯 | 漠影

芯東西7月4日報道,今年5月底,Arm面向智慧型手機推出其性能最優的移動計算平台Arm 2023全面計算解決方案(TCS23)。近日,在北京舉行的Arm技術媒體分享日上,多位Arm技術專家分別從TCS、TCS23 CPU 集群、GPU、Security、Software等層面進行了誠意十足的技術分享。

Arm終端事業部產品管理高級總監Kinjal Dave說,Arm之所以採取這樣一種全局的方法論來開發解決方案,是因為不斷提高性能、效率變得越來越難且成本高昂,Arm一方面要將單獨的IP做強,另一方面把這些單獨的IP集合在一起時,總體的系統級別也要實現性能效率的雙提升。

這意味著Arm不僅要考慮在實驗室里的基準測試數字的提高,還要考慮到在現實世界中的實際用例,從而為其合作夥伴提供融合了這些單獨IP的系統級解決方案所帶來的完整性能提升。由於Arm會超前於生態系統的發展展開研發工作,所以如果在此前找不到一些實際的技術內容,Arm可能就會自己建構這些技術內容,例如其光線追蹤技術、延遲頂點著色(VRS)以及機器學習技術內容。

「通過提供TCS全面計算解決方案,Arm已經超越單個IP產品,為客戶實現端到端系統級的優化,從而釋放整個SoC系統全面性能,讓大家更多體會到TCS23帶來更大的算力、更高的安全性和效率。」Kinjal Dave說。

一、TCS23:最新IP無縫協同,滿足移動晶片設計剛需

自2019年開始用全面計算解決方案的方式進行產品定義及開發至今,Arm已進入第三代TCS,即最新發布的TCS23。過去四年,Arm一直在努力促成CPU、GPU、系統級IP等元素的融合,通過方案式開發實現1+1>2的IP集合,讓其合作夥伴能開發出針對新的工作負載和更新的計算類型的產品。

TCS23在底層IP有了全新更新,推出GPU新品和僅支持64位且基於Armv9.2架構的CPU集群,進行了CPU、GPU以及系統級別的全面能力的優化,可在晶片上實現最小的面積,還提供了全新的系統級IP以及開發工具。

其軟體包括三大支柱:性能、安全、開發者的可訪問性。針對關鍵的機器學習負載,TCS23更新了Arm NN、Arm Compute Library(ACL)等開源軟體庫,開發者可以用它來優化在Armv9架構CPU和GPU上的機器學習應用開發。

Arm NN和ACL在安卓平台上面向Google Apps開放,目前擁有超1億的日活用戶,明年年初將通過谷歌移動服務向第三方應用程式的安卓開發者開放訪問。

多年來,Arm已經交付了超過90億顆包括Mali及Immortalis在內的GPU,在移動圖形生態系統中實現完善布局,並為開發者免費提供開發工具、豐富的培訓和最佳實踐信息文件的分享,還與全球主要的遊戲引擎工作室進行多年合作,以共同推動圖形技術的進步。

Kinjal Dave談道,移動SoC設計面臨一些挑戰,一是IP本身變得越來越複雜,二是有時IP可能會跨領域、跨系統,三是越來越多樣化終端使用場景出現,最後是晶片設計選擇以及平衡方面的取捨難度也提高了。

Arm全面計算解決方案中給了一個參考設計,用來讓客戶了解這套解決方法的實際配置可達到的最優表現,最終配置選擇取決於客戶的需求。通過提供系統參考設計,Arm能夠幫助合作夥伴更好地去應對有挑戰性的場景,同時降低部署複雜新技術的風險,縮短新品上市時間。

在具體做法上,Arm會幫助合作夥伴把用例從功能性上做解構,然後進行性能建模,從而便於設計,最終會對整體系統做一個測度和優化。在設計實施階段,Arm首先會基於FPGA還有仿真器進行建構,中間進行設計,接下來在實際中運行,可能是一個瀏覽器或者遊戲,最後會從功耗、效能、時延三個方面來進行測度。

二、Cortex-X4 CPU:性能提升14%,功耗降低40%

在談到具體產品前,Arm終端事業部產品管理總監Saurabh Pradhan分享了Cortex-X產品的歷史。Cortex-X誕生於一個為了打造高性能擁有一致性的IPC核產品的定製項目。

Cortex-X系列的第一款產品是X1,基於Armv8架構,第二代Cortex-X2/3基於Armv9架構,接下來就到了Arm最新推出的TCS23之下的三個大IP,分別是Cortex-X4、Cortex-A720、Cortex-A520。Arm將它稱作Arm史上最強大最具高效性且最有能力的計算集群。下圖是TCS22和TCS23中同檔次三款產品的性能比較。

Saurabh Pradhan說,Armv9架構支撐了從安全到機器學習一系列的功能,這也是安卓全線的高端機都使用這個架構晶片的原因。該架構中兩個重要的技術——MTE和指針驗證技術。一個知名的內容社區應用表明,在使用MTE後能夠檢測到90%的內存安全漏洞。

Cortex-X4與上一代安卓旗艦產品相比,性能提升了15%。它也是Arm最高效的、面積效率比最高的Cortex核產品,具備更高的可擴展性,最高可支持每個核2M的L2緩存。

Arm首席CPU架構師兼研究員Ian Caulfield說,在前端取指令方面,以前是一個周期取一個指令,而Cortex-X4可以一個周期實現十個指令的提取,尤其當出現了一些分支錯誤預測時,它能夠快速地再去彌補,把新的指令取過來,同時它使用了先進的最新的分支預測性,可以保證有條件的分支準確率,從而能夠進一步提高性能。

在設計中的執行部分,整個設計全面提升了帶寬,實現了每周期10MOCS的速率,同時拓展了管線帶寬。Cortex-X4作為一種無序核,相比Cortex-X3全面提升了MCQ容量,從320×2到384×2。內存數據沖洗不常發生,但當發生後Cortex-X4會加速加載存儲沖洗處理,從而儘量減少對性能的影響。

後端同樣提升了帶寬。相比Cortex-X3,Cortex-X4的管線從3個提升到4個。當使用了全新的L1時間數據預讀器,並採取了全新架構以降低1級資料庫的衝突。有時為了不局限於工作負載運行的數量,Cortex-X4實現了更大的L1數據TLB,從48增大到96,同時支持更大的L2緩存,即2M,而且沒有造成更長的時延。

Arm大小核戰略的產品中,Cortex-X4提供的是終極的性能,Cortex-A720是CPU集群中的主力產品,Cortex-A520實現了最佳的功效,上述三款IP都基於Armv9.2架構,都是純64位IP產品,這意味著Arm完成了向64位的遷移。

「我們認為合作夥伴應該立刻向Cortex-A720,即Armv9架構去遷移,因為實際上這樣做獲得性能效能等方面的獲益要遠高於他們持續在v8的架構上再用上一年。」Saurabh Pradhan說,Arm是唯一一家能夠同時提供三個不同核的微架構的廠商,這是其優勢所在。

三、DSU-120:內核與內核之間的膠水,為高要求多線程用例而設計

一個全面解決方案需要有DSU才完整的。這三款IP都與Arm今年最新發布的DSU-120搭配使用。DSU不僅可以把所有的IP很好地結合,也能夠實現CPU集群最好的性能和效率。

據Arm首席DSU架構師兼研究員Alex Waugh分享,對於具體的典型工作負載而言,相比DSU-110,DSU-120能夠實現動態能耗7%的降低,這是針對L3動態電源的節約。如果針對緩存丟失的問題,它可以實現18%的動態能效降低,在靜態電耗方面也有節約。

今年的DSU實現了三方面的提升:一是可擴展性,在一個集群中可以支持高達14核,同時它能夠支持24M或32M的L3緩存,可應用於筆記本及筆記本以上的設備;二是新的PPA,它可以進一步降低漏電,同時支持更多新的電源模式,總體目標是進一步提高電效,從而延長電池壽命;三是一些全新功能,如支持帶寬分區、節點最大化和納入一些新的接口等。

根據具體的應用,DSU最小的配置可以是一個小核,最大的配置可以是10+4,所以一個DSU最多可以支持14個核,如果合作夥伴的內核數超過了14個,可以使用多個DSU。

DSU-120是基於雙向的環狀拓撲,即在帶寬和時延方面實現了優化。同時它針對於L3緩存有探聽過濾器,實現了每一片邏輯的分離,均可以配置。對於不同的帶寬需求,它可以是支持1-8個片等級的配置。同時它擁有同類最佳的電源管理,引入了先進的斷電模式,比如漏電保護模式和自動電源管理模式。

當電源預算有局限時,MPAM可以更好地實現器件之間的電源分配。DSU-120支持MPAM架構,即內存系統、資源分區以及監控的架構,能實現對分區資源的控制。這意味著每一個核或者ACP在訪問一個資源的時候都會被給指定給一個MPAM的ID,以進行資源分配。

四、G720 GPU:性能提升15%,內存帶寬節約40%

GPU對晶片面積預算的需求每年都在增加。去年Arm推出了基於第四代Valhall GPU架構的旗艦級Immortalis GPU以及新的Mali-G715和G615 GPU。今年,Arm又推出基於全新第五代GPU架構的三款全新GPU產品,包括有不少於10個著色器內核的旗艦級產品Immortalis-G720、支持6-9個內核的Mali-G720、提供多大5個內核的Mali-G620。

基於Arm第五代GPU架構的G720產品,實現了全面系統級的效率提升,使用內存帶寬最終減少40%,每瓦特性能可平均節省15%,峰值性能實現了平均15%的增加,整個架構的吞吐量實現1倍的增加,即達到64bpp。

G720引入了全新渲染管線DVS(延遲頂點著色)。DVS有助於在用到最複雜場景時保持幀率的一致性。經運行幾款流行遊戲的測試,DVS節省了非常多的內存帶寬,而使用更少的內存帶寬,就能減少DRAM功率,同時提高性能。

據Arm終端事業部產品管理高級總監Anand Patel介紹,DVS通過將頂點和片著色結合起來,減少了外部帶寬的消耗,同時每一個Tiler通過對每一個三角形進行決定是否推遲DVS,以防止過度重新著色,最後Arm增加了每個Tiler的大小,直接減少了必要的重新著色量,更多的頂點著色可被推遲。節約帶寬意味著節約電力,電力預算系統就可以進行重新分配,把它用在最為有效的地方。

面向開發者,G720將延遲頂點著色VRS的性能增加到4×2或者4×4著色。VRS技術能夠讓GPU在更粗粒度下進行片段著色,比如一個線程每次可在4×4像素的補丁上進行著色,在整個4×4的著色率情況下速度提高了16倍。G720增加了2倍的多重採樣硬體的支持,開發者可自行選擇性能和質量做權衡。

儘管目前移動遊戲使用VRS較為有限,但由於它對於移動遊戲性能的提升非常顯著,Anand Patel認為這只是時間問題。

同時,Arm完善了對動態緩衝區的支持,提高了GPU和CPU的性能,增加了帶有硬體邊界檢查的加載和存儲指令,並在硬體的各個固定功能部分也進行了改進。在物理設計的改進方面,Arm調整了時鐘、電壓和功率域的邊界,使各域的操作點脫鉤,為GPU的功率使用提供了更大的靈活性。Arm在大型配置中增加了對兩個電源軌的支持,以應對集成商在電力輸送方面的挑戰。

Arm Mobile Studio提供有開發GPU的工具,所有功能都是免費的。「我們相信這些功能可以幫助開發者針對Arm GPU進行優化,從而實現開箱即用的出色性能。」Anand Patel說。

五、安全:Armv9提供MTE功能,消除內存安全漏洞

Arm終端事業部軟體戰略總監盧旻盛分享說,內存安全漏洞從理論上基本分為兩種——空間型漏洞和時間型漏洞。空間型是指在C+和C++編譯語言中稱為這個指針,如果能把這個指針指向超越範圍的,被稱之為空間型漏洞;某塊內存已經在使用的範圍里被釋放,如果還被使用,就會存在時間型的內存安全漏洞。

基於Armv9架構的CPU提供了內存標記擴展MTE功能。MTE是Armv9的基礎性能,也是64位架構和應用未來的趨勢,支持開發者在應用部署前後檢測和避免內存安全漏洞。MTE已努力消除占所有軟體漏洞中70%的內存安全漏洞。

Arm實現的MTE為兩階段系統,即「鎖」和「密鑰」。如果密鑰匹配,則允許訪問鎖內存;否則,訪問可能會被記錄下來或出錯。這樣就可以更輕鬆地檢測到難以捕獲的內存安全錯誤,也有助於進行常規調試。

在鎖和密鑰兩階段系統中,存在兩種類型的標記:

1、地址標記,用作密鑰。這將在進程中每個指針的最高位增加4位。地址標記僅適用於64位應用,因為它使用了「高位元組忽略」功能,這是Arm 64位的一個功能。

2、內存標記,用作鎖。內存標記也由4位組成,與應用內存空間中每個對齊的16位元組區域相連接。Arm將這些16位元組區域稱為標記顆粒。這4位並不用於應用數據,而且是分開存儲。

基本上從這個原理就防止了空間和時間型風險。

盧旻盛談道,安全領域基本上講三個原理,一是有攻擊者,二是要保護什麼,三是可能性的攻擊方式。所以TrustZone與MTE是互補型的,TrustZone和虛擬化和很多隔離技術的原理在於如何防止攻擊者看到你所保護的東西,MTE的軟體安全技術原理是減少軟體漏洞被利用,雖然攻擊者可以看到這個軟體,但現有漏洞可以被更加早被發現,以及防止這個漏洞被利用。

Arm跟谷歌長期合作,谷歌指出軟體漏洞如果在發布後再做修改,成本非常高,如果不從根本性去解決這個問題、開發並發布新功能、更快地增強用戶體驗的流程,就會有很大的限制。所以他們一直在考慮如何在新的編譯語言和底層的硬體平台增加新的功能,能夠給整個安卓生態圈帶來更安全和可靠以及更高質量的體驗。

聯發科無線通信事業部資深總監章立說,聯發科認為晶片級的安全是整個移動生態的基礎設施,沒有晶片級的安全就沒有今天移動生態的繁榮,所以去年發布的聯發科天璣旗艦9200已經支持MTE,未來會繼續深入合作。來自vivo、榮耀、快手的技術專家也分別分享了他們有效使用MTE來改善移動端內存安全問題的心得。

六、軟體:全面轉向64位系統,繼續夯實計算安全

據Arm終端事業部生態系統及工程高級總監Geraint North介紹,Arm有45%的工程師屬於軟體開發人員,其中一些是在做底層的比如內核GPU驅動的開發,但更多工程師在做高層的比如軟體框架、性能分析工具、展示最佳實踐等方面的工作。

在將64位部署到移動領域方面,Arm編譯器和庫優化團隊都把工作重點聚焦在64位上,當用戶運行64位版本程序時會獲得顯著的性能和安全。Arm幾年前就開始從CPU和作業系統中去逐漸剔除32位的歷史遺留問題,以向應用開發者證明這種向64位的過渡正在發生,並積極與生態系統合作,採取了細緻協調的一些工作步驟,為僅支持64位的硬體做好軟體奠定的支持。

在安全技術部署方面,Geraint North重點介紹了在Armv9內核中首次推出的PAC和BTI功能。用PAC、BTI進行保護,能夠減少攻擊者在突破沙盒後可訪問的代碼足跡,提供最大限度的保護。

在提升Armv8和Armv9性能方面,當設備搭載最新的工具鏈重新編譯時,會普遍獲得性能提升。Arm在LLVM最近的工作都聚焦於SVE2上,它也是Armv9引入的全新矢量架構。Arm做的貢獻主要在兩方面,一是要確保SVE2的代碼生成儘可能做好,二是在LLVM 16中引入了函數多版本,所以開發者更易確保其函數的利用和SVE2版本都能夠生成,並在運行的時候自動選擇正確的版本。

Geraint North還分享了Arm與Unity和谷歌在安卓動態性能框架上的合作。一些安卓開發者一直在努力開發適應性工具和庫,以了解和應對實時變化的性能、散熱及用戶需求。

他們的適應性套件有4個關鍵組成部分:一是APDF提示API,能夠幫助系統根據遊戲中的情況提高或降低CPU的頻率;二是APDF散熱API,為開發者提供了數位訊號,告訴他們離所謂的熱閥值還有多遠;三是遊戲模式API,向開發者提供關於用戶性能或電池偏好的一些建議;最後是遊戲狀態的API,可以允許遊戲告訴系統他們在做什麼,以便調整以滿足遊戲性能需求。

結語:通過軟硬體技術疊代,為未來移動計算奠定基石

正如Arm產品營銷副總裁Ian Smythe所言,移動數據使用量一路攀升,柔性顯示屏和AR光學這樣的新形式及元素也開始以不同的方式進入大眾視野,生成式AI及移動端大型語言模型的出現將帶來新的功能,全世界對移動設備的創新需求持續加速提升,如今晶片為移動端開發者提供的沉浸式體驗在幾年前根本無法想像。

為了滿足定義未來計算的複雜需求,以及讓數百萬開發者能夠輕鬆地在Arm架構的平台上進行無縫開發,Arm正通過在先進架構、CPU、GPU、軟體等多方面的技術探索,進一步優化其移動計算平台,最終為移動設備用戶提供更高性能、更高能效、更安全的數字體驗。

文章來源: https://twgreatdaily.com/775111015e350ed60df3d298ea40ad5e.html