張平
在上一期的文章中,我們介紹了ARM Cortex-X2、Cortex-A710和Cortex-A510三款全新微架構,它們的出現進一步推高了移動計算CPU的性能上限。而在本次發(fā)布會上,除了新的CPU架構之外,ARM還發(fā)布了全新的GPU架構以及片上架構。在本文中,我們就來一起了解—下這些內容。
在上一期的文章中,我們曾經提到ARM發(fā)布了CPU、GPU和相關片上架構等內容。由于篇幅所限,上一期只介紹了最重要的CPU架構。實際上,片上架構同樣很關鍵,諸如big.LITTLE、DynamIQ以及互聯總線都得依靠片上架構實現。因此,本期我們先來了解片上架構的內容,再來進一步了解全新的ARM GPU架構。
更大寬帶、更強性能:全新的ARM DSU—110L3和互聯架構設計
移動SoC是一個復雜的綜合體,它包含了CPU、GPU、系統(tǒng)級的L3以及大量互聯部件、其他相關模塊等。因此在本次更新中,ARM也直接將L3和互聯設計一并進行了換代,以更好地適應全新的架構。ARM DSU-110 L3:帶寬猛增
ARM DSU-110包含了全新的集群和L3架構,這是繼ARM在之前發(fā)布DynamIQ之后,推出的有關L3和集群的新設計方案,其中包含了操作方式的重大變化等內容。
ARM宣稱新的DSU-110擴展性極為出色,可以針對大屏幕設備和較小的移動設備進行伸縮設計,從ARM給出的例子可以看到,DSU-110即可以搭配Cortex-X2這樣的大核心組成高性能產品,也可以配合Cortex-A710組成中等核心產品,還可以和Cortex-A510-起實現面積、功耗最小化,整體配置非常靈活。此外,DSU-1 10的整個架構經過了重寫,能夠以更高的效率為處理器核心提供更佳的性能,其中最重要的一點就是L3的帶寬在使用了DSU-110之后提升至前代產品的5倍。
性能方面,ARM提到在DSU-110架構下,ARM處理器最高可以配置16MB L3緩存,并且相比前代產品在性能提升的情況下還可以降低系統(tǒng)功耗,實現處理器性能功耗比的提升。在多核能力方面,DSU-110目前最多可以支持8個高性能的Cortex-X2核心。這里有一個比較有意思的想法,那就是如果一個處理器擁有8個Cortex-X2內核,再搭配16MB L3緩存,其部分性能是否足以和目前的中高端筆記本電腦相媲美?另外,帶寬方面除了前文提到的5倍提升之外,ARM還特別說明DSU-110的L3緩存也額外提升了針對單個核心的帶寬,尤其是DSU-110可以支持的數據帶寬比目前新CPU微架構所需的帶寬更寬,不過ARM沒有披露具體數據。這說明未來L3的帶寬不再是困擾ARM處理器的性能因素了。
在內部結構方面,之前ARM從未公布過相關信息,但是在DSU-110上,ARM給出了一些內部結構示意圖。根據示意圖顯示,ARM考慮到面向未來和可伸縮性,因此選擇重做了DSU-110的內部架構,整體結構主要包括以片區(qū)為單位的L3緩存、監(jiān)聽過濾器以及控制邏輯單元。細節(jié)方面,DSU-110內部實現了基于地址的區(qū)塊控制,此時多個請求可以并行訪問不同的緩存片區(qū)并且同時讀取,以大幅度增加帶寬。現在,每個片區(qū)最多支持64個事務同時操作,這擴大了整個區(qū)域的讀取能力。
此外,DSU-110的內部總線架構采用了環(huán)形總線架構,每個環(huán)負責4個緩存片區(qū),因此8個緩存片區(qū)總計使用了2個環(huán),除了緩存片區(qū)外的所有單元可以通過站點環(huán)形總線掛接。每個單獨的環(huán)可以任意選擇一個方向傳輸數據。ARM宣稱這樣可以得到最優(yōu)化的延遲和帶寬,最終的延遲數據和上一代DSU相似。
從性能方面來看,DSU-110在帶寬和并行性方面的增加非常令人滿意,不過這一切還需要配合新的CPU架構才有效果。究竟新的CPU架構配合DSU-110能夠帶來怎樣的性能提升,還得實際測試才能明確。
再來說說安全部分。DSU-110支持MTE功能,也就是內存標記擴展( Memory Tagging Extension)。這個功能本刊之前介紹過,其主要用途是增強內存的安全性。DSU-110加速模塊的ACP功能單元提升了帶寬,系統(tǒng)MMU也支持增強的虛擬化和安全特性優(yōu)化。外部連接方面,可擴展的總線接口支持最多4個主總線接口,每個都是256bit位寬,支持更新的AMBACHI協(xié)議,這意味著設計人員有可能實現1024bit的系統(tǒng)內存雙向位寬。如果搭配2GHz頻率的話,那么總讀取寫入帶寬或許將高達256G B/s,這是目前一些高端筆記本電腦都無法實現的帶寬方案。另外,外圍端口方面,新的設計也帶來了一致性支持和更高的帶寬支持,可以用于接駁系統(tǒng)其他部分,也可以幫助優(yōu)化DRAM的訪問路徑。
DSU-110帶來了電源效率的大幅度改進,和當前的DSU相比,最高可以降低75%的功耗。其節(jié)約的途徑主要包括加入了新的電源管理狀態(tài),并且頻率和微架構的改進能降低25%功率泄漏,同時提供2倍帶寬。最重要的是,新的電源模式允許L3和邏輯部分在某種情況下實現關閉以節(jié)約電能,比如屏幕關閉、用戶不再操作的時候,或者較低強度的工作負載下,也能夠關閉部分單元。
請注意,在這里比較的都是相對條件,DSU的有源動態(tài)功率會隨著帶寬增加而線性增加。舉例來說,如果你希望實現5倍的帶寬,那么功耗也肯定會增加至原來的5倍——這是系統(tǒng)功耗以及下一代SoC在繁重內存工作負載下功耗行為預測的一個重要因素。
總的來說,ARM將DSU-110描述為Armv9的主干顯然是合理的。DSU-110增加的帶寬能顯著提升CPU的單線程和多線程性能,尤其是16MB L3的方案,使得ARM的產品可能出現在高端筆記本電腦上,當然希望它也有同樣優(yōu)秀的高性能功耗比表現。
Cl-700和Nl-700:緩存一致性增強
再來看看片上互聯系統(tǒng)的更新。ARM上一代類似片上互聯系統(tǒng)的是2015年發(fā)布的CCI-500,當時的片上系統(tǒng)沒有緩存一致性的需求。雖然從GPU角度來說這是不可思議的,但是從CPU角度來說又是完全合理的。因此之前緩存一致性主要是用于CPU的每個核心之間,那么在SoC層級,緩存一致性就不那么重要了。
但是隨著技術發(fā)展,目前SoC上出現了各種各樣的功能模塊,比如NPU、DSP以及更多希望和GPU實現緩存一致性并使用相關數據的模塊。ARM也正是看到這個變化,決定更新片上互聯系統(tǒng)。
先來看CI-700。ARM宣稱CI-700是專門為AAA級別游戲、120Hz幀率和HDR視頻等要求較高的計算所需而設計,它基于最新的架構互聯,支持MTE、內存分區(qū)和監(jiān)控(MPAM)、AMBA CHI(和DSU-致)等,可以實現快速配置并且全面支持Cortex-A系列微架構。功能方面,新的CI-700支持企業(yè)級AMBA CHI技術,全相干設計,支持系統(tǒng)級緩存和偵聽濾波器,這樣的設計可以帶來更好的性能、更低的功耗,并且還可以增加CPU集群內緩存的容量、實現CPU間集群和加速器的IO-致性等。目前CI-700支持DSU集群從1個擴展至最多8個,支持最多8個內存控制器。
繼續(xù)看a-700的網絡拓撲結構。這部分和我們在CMN IP中看到的內容非常相似,因為CI-700主要也是由點、交叉點和“XP”部分組成。值得一提的是CI-700的XP單元,XP單元可以連接更多的端口,也可以配置為真實網格的唯-XP,或者本質上能夠配置為lxl的網絡。最大的話,CI-700可以實現4x3的網格配置。
緩存方面,CI-700支持1-8個SLC片區(qū)配置方案,每個片區(qū)最多4MB,總計32MB,此外還包括偵聽過濾器的SRAM緩存。其中每個片區(qū)對應覆蓋8MB地址空間,一般來說,ARM建議對網格客戶端的底層私有緩存進行1.5-2倍的覆蓋。此外,SLC緩存也可以用作帶寬放大器使用,這樣可以減少系統(tǒng)對外部存儲器或者內存的依賴,從而降低系統(tǒng)功耗。在這里,ARM依舊強調了對MTE技術的支持,允許這一代IP跨CPU、DSU和新緩存一致性的互聯。
除了CI-700外,NI-700也是本次發(fā)布的重要功能之一。NI-700通過可擴展和高度可配置的設計、數據傳輸分組化的設計,帶來了SoC上的NoC部分高達30%的布線數量降低。并且可以支持多個時鐘和多個電源.全面支持新的ARM AMBA安全特性等。
總的來看,CI-700和NI-700的改進,使得ARM在新的架構和技術下能夠實現更快、更大且支持緩存一致性和安全特性的內部互聯,這極大地方便了廠商開發(fā)更高性能且擁有更多特性的SoC。相比CPU架構的升級,NI-700和CI-700的升級在實際應用中的意義可能更大一些。
持續(xù)提升性能:全新ARM Mali—G710、Mail—G610、Mail—G510和Mali—G310 GPU
介紹完有關ARM在系統(tǒng)L3緩存以及互聯設計方面的更新后,我們繼續(xù)來看有關GPU方面的更新內容。
此次ARM-口氣發(fā)布了四款GPU,型號分別是Mali—G710 Mali-G610、Mali-G510和Mali-G3先值得注意的是這些GPU的型號它們全部從之前的兩位數命名更改為三位數。比如之前的產占型號為Mali-G78,后續(xù)型號按道理應該是 “Mali-G79”,但是新的產品變成了 Mali-G710。ARM在這一代產品中形成了“7、6、5、3”這樣從高到低的產品陣容,以應對不同市場的需求。其中,“6”系列產品是新出現的,它采用了和“7”系列產品相同的核心微架構,但是核心數量較少,這個細分型號的出現是ARM為了幫助合作伙伴更好地將旗艦型號和高級型號區(qū)分開的設定,同時也有助于消費者清晰地辨別產品的定位。其他產品上,Mali-G510是2019年Mali-G57的繼承型號,Mali-G310則是Mali-G31的全面改進版本。上述所有的GPU都采用了新的Valhall微架構。有關Valhall微架構的內容,本刊在之前的文章中做過詳細的介紹,大家可以翻看之前的文章進行回顧了解。
Mali-G710:性能提升最高20%
首先來看定位頂級的Mali-G710,ARM給出的數據是,Mali-G710能夠帶來最高20%的性能提升,20%的功耗降低以及最多35%機器學習性能的提升。
從宏觀架構來看,Mali-G710和之前的Mali-G77、Mali-G78是基本相同的。其主要特點是Valh all架構,波前陣列從之前的8改為16,支持雙數據執(zhí)行引擎架構,與此相應的是在Mali-G78中我們看到了每核心32FMA。另外它還支持指令動態(tài)調度、API等內容。
ARM給出了Mali-G710渲染核心的結構簡圖。相比之前的Mali-G78,Mali-G710的真正變化在于,渲染核心內部增加了第二個執(zhí)行引擎,這使得Mali-G710每個渲染核心的計算性能得到翻倍。從某種意義上來說,ARM正在重復之前我們在上一代Mali架構比如Mali-G76中看到的事情,Mali-G76的單個渲染核心擁有3個執(zhí)行引擎。除此之外,ARM還給出了一些細節(jié)數據,比如執(zhí)行引擎和紋理單元部分經過重新設計后,每周期的吞吐量為8個單位;加載和存儲緩存、Varying unit以及信息總線部分經過優(yōu)化后,每周期的吞吐量為8個單位;其余包括管理單元部分、區(qū)塊處理單元部分則采用了更大的單位區(qū)塊設計,其吞吐量提升至4個單位。
紋理單元部分是ARM這次變化的重點之一。新的紋理單元每個時鐘能夠處理8個雙線性紋理元素,性能達到上代產品的2倍,并且ARM重新優(yōu)化了整個紋理單元的設計,以提高面積效率。結合性能的提升和面積的縮減,新的紋理單元帶來了高達50%的性能密度優(yōu)勢。
ARM給出了有關Mali-G710的執(zhí)行單元結構簡圖。從整體結構來看的話,Mali-G710依1日是分為前端、處理單元和信息塊( Message Block)三個部分。其中前端包括波前相關的狀態(tài)、排序、16KB指令緩存、divergence等功能模塊。處理單元方面包括指令拾取、RF單元、Arg muxing、FMA、CVT、SFU等功能和計算模塊。信息塊部分則是信息RX管線和信息PX管線等。好在ARM將Mali-G710和上一代Mali-G78進行了對比,從對比圖可以看出,新的M ali-G710采用了4個并行寬度4的前端執(zhí)行單元來替代上代1個并行寬度1 6的前端執(zhí)行單元,這樣做不會改變GPU的吞吐量,但是會提高執(zhí)行的靈活性,從而提升效能。
總體而言,新的設計使得GPU每個內核在每個時鐘周期內的FMA能力翻信,同時執(zhí)行引擎部分也帶來了20%的能耗比降低,這非??捎^。
另外,Mali-G710的另一個亮點是使用了“命令流前端(CommandStream Frontend,簡稱為CSF)“替換了之前的“作業(yè)管理器(JobManager)”。新的CSF負責處理調度和處理繪制調用,它引入了一個性質未公開的新CPU和一個新的固件層。此外,CSF通過提供一個非常輕量級的提交路徑來減少驅動程序的開銷,同時也提高了系統(tǒng)CPU的效率,還可以使得復雜的圖形工作負載更為靈活和可擴展。CSF還有助于簡化對API的狀態(tài)繼承和二級緩沖區(qū)功能的支持,以及簡化對時間敏感的應用的處理流程。另外,同步事件也從這類改進中受益,并且降低了延遲。
新加入的固件現在可以和硬件層緊密耦合,處理來自主機的請求,命令緩沖區(qū)的通知等操作,減少了部分開銷,甚至允許通過額外的指令來模擬硬件中尚不存在的API功能。
在硬件設計方面,ARM宣稱新的CSF是全面重新設計過的,能夠實現當前最新的功能,還允許相關計算任務提交到其他GPU單元。ARM宣稱在使用了新的CSF后,每秒可以多調用500多萬次,顯著提高了效能。
最后來看整個Mali-G710在技術方面的改進總覽。M ali-G710的改進包括:全新的CSF、可伸縮的硬件架構、可配置的渲染核心數量( 7-16個)、可配置的L2區(qū)塊數量(2-4個,每個區(qū)塊可選256KB或者512KB)、支持ACE功能(128b或者256b)、系統(tǒng)緩存支持PBHA( Page-Based HardwareAttributes,硬件頁面屬性)功能等。從上述改進可以看出,ARM在本代產品上的目標是改進和API開銷相關的弱點,不過實際應用中具體表現如何還有待測試。但是從本代20%的能效比、性能的提升來看,其表現還是可以接受的,只是并沒有改變整個移動GPU市場的競爭格局罷了。
另外,Mali-G610的微架構和Mali-G710-樣,但是核心數量低于7個,因此本文就不再贅述了。
Mali-G510和Mali-G310:總有一款適合你
M ali-G 510的上代產品是Mali-G57,和它相比,Mali-G510在可比條件下,性能最高提升可達100%、能耗最多可以節(jié)約22%,機器學習性能最多提升100%。ARM給出了相關M ali-G510的技術總覽,其中包括L2區(qū)塊數量最多可以配置為4(每個L2區(qū)塊可選128KB或者256KB)、支持ACE(可配置為128b或者256b)、支持AFRC、支持lObit和YUV8等。
ARM還給出了Mali-G510的渲染核心簡圖??梢钥闯?,M ali-G510依1日擁有2個執(zhí)行單元,每個單元都支持并行寬度16的波前數據,不過其中一個可以配置為1簇或者2簇設計,另一個則是固定2簇設計,這樣一來,整個執(zhí)行單元可以再48 FMA每周期或者64 FMA每周期之間進行選擇,進一步節(jié)約片上面積和晶體管數量。一般來說,此類GPU的用戶普遍具有一些標準配置和特定用例,可以使用最低限度的配置來滿足這些需求,因此ARM給出了在區(qū)域面積上最小配置的方案。
從更高層級來看,Mali-G510可以選擇2個內核或者6個內核的配置方案。除了上文描述的執(zhí)行單元部分可以選擇48 FMA或64 FMA每周期以外,紋理單元部分也可以配置每周期4或者8個單位的吞吐量設計,另外在寫回和Varying unit口B分,每周期均可配置4個單位吞吐量的方案。
在具體產品配置方面,ARM強調M ali-G510擁有10種配置可以滿足幾乎所有的需求。ARM特別指出,CSF口B分、區(qū)塊部分可以根據面積和性能進行優(yōu)化,渲染核心可以選2個到6個,內存部分也可以根據需求進行改進。最終形成了10個配置方案,其FMA單元可以覆蓋96-384個廣闊區(qū)間。并且,不同的配置在FPS、功耗、面積、和能耗上都有不同的取舍,這需要廠商根據自己的需求來進行配置了。
最后來看Mali-G310。它采用了新的Valhall架構,上代產品使用的是Bifrost架構,因此在架構層面,M ali-G310實現了飛躍。Mali-G310的架構圖顯示,由于定位較低,因此Mali-G310的渲染核心中的2個執(zhí)行單元都變成了可選1個或者2個簇的配置方案,因此FMA每周期可以執(zhí)行16-64個操作,具體來說是16、32、48或者64。寫回單元每周期可以配置4個單位吞吐量、紋理單元則是每周期2-8個單位吞吐量可選,Varying unit則是2-4個單位吞吐量可選。
在配置方案方面,ARM也給出了5個不同的配置方案,以滿足不同類型用戶的需求。ARM認為Mali-G310可以使用的范圍包括入門級智能手機、機頂盒、數字電視等場合,其最大的特點在于性能和效率的靈活,比如5個配置方案可選、較小的面積等。
性能提升,市場有待觀察
在這里我們就基本了解完了有關下一代Mali GPU的信息。從ARM發(fā)布的信息來看,新一代Mali GPU在高端市場方面性能提升最高可達20%,這看起來是一個比較令人興奮的數字,但是實際上Mali GPU的高端市場正在逐漸損失。比如Mali之前最大的客戶華為已經無法使用Mali相關授權,三星也宣布下一代移動GPU選擇AMD的RDNA 2架構,高通則自有GPU架構,剩余可能對ARM GPU有興趣的廠商也就只有聯發(fā)科了,考慮到聯發(fā)科在高端移動SoC方面并不占有市場強勢地位,因此ARM的頂級Mali GPU能出現在哪些中高端手機上?市場表現到底如何?還有待觀察。
出現這樣的原因很大可能還是ARM在移動GPU上無法提供更好的性能或者更出色的性能功耗比,考慮到目前高端SoC市場競爭是如此的激烈,蘋果顯然占據龍頭地位,高通的GPU性能表現也可圈可點,ARM在這里是存在一定的失誤的。最主要原因就是ARM試圖用一個微架構來迎合幾乎從最低端到最高端這樣如此廣泛的市場,這使得ARM目前的表現是要么顧及高端丟了低端,要么在低端市場表現很好但是高端市場卻又表現一般,難以平衡。
好在ARM在M ali-G510和M ali-G310上的表現應該足夠出色。ARM宣稱2020年出貨了10億顆GPU,其中占據了DTV市場的80%,智能手機市場的50%,接下來,ARM還將憑借Mali-G510和Mali-G310繼續(xù)擴大自己在細分市場的份額,這也是一種不錯的發(fā)展路徑吧。