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