當前位置:
首頁 > 科技 > Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

來源:本文由公眾號半導體行業觀察(ID:icbank)翻譯自「anandtech」,作者 Andrei Frumusanu,謝謝。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

今天,Arm推出了新的Cortex-A77 CPU微架構,但更重要的推出了新的Valhall GPU架構和新的Mali-G77 GPU。Bifrost架構推出已有三年,隨著行業和工作負載的不斷發展,Arm的GPU也必須與時俱進。

Valhall和新款Mali-G77繼上三代Mali GPU之後,在性能、密度和效率方面都有了一些顯著的改進。儘管去年的G76對執行引擎的計算架構進行了一些重大更改,但G77更進一步,並且脫離了Arm相對不同尋常的計算核心設計。

回顧Bifrost——第三次是魅力

過去幾年對Arm的GPU IP產品不太友好,這不是什麼大秘密。當第一款Bifrost GPU——Mali-G71於2016年推出,並在當年晚些時候在麒麟960和Exynos 8895上投入生產時,我們曾期待會有良好的性能和效率提升。

Bifrost是Arm的第一個標量GPU架構,不同於上一代(Midgard:T-600,700&800系列)的矢量指令設計。這一變化是根本性的,就像我們看到AMD和英偉達這樣的台式計算機GPU供應商在過去十年中推出了新的GCN和Tesla架構。

不幸的是,前兩代Bifrost,Mali-G71和隨後的G72都不是很好的GPU。Arm的兩大主要授權商,海思和三星,用這兩代架構推出的GPU都非常令人失望。麒麟960和970在這方面尤其糟糕,我認為它對華為和榮耀的產品規劃和營銷產生了相當大的影響。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

在Bifrost架構的最後一次迭代中,Mali-G76對於Arm而言是一次更重要的飛躍,IP在很大程度上能夠解決其前代產品的一些關鍵問題,從而為Exynos 9820和麒麟980晶元組帶來了相對較好的結果。

不幸的是,當Arm迎頭趕上並解決BiFrost的問題時,競爭對手並沒有止步不前,而且還在挑戰極限。高通的Adreno GPU架構多年來一直在移動領域處於領先地位,儘管Adreno 640今年沒有取得令人印象深刻的改進,但它在性能、效率和密度方面仍明顯領先於Arm。更令人擔憂的是,蘋果A12的GPU在性能和效率方面絕對是一個重大飛躍,甚至比高通最好的GPU都要好得多,更不用說Arm的Mali GPU了。

Valhall簡介:一次重大的改進

今天我們要介紹Arm的全新GPU架構:Valhall(古挪威語Valh?ll,即Valhalla)。新架構帶來了全新的ISA和計算核心設計,試圖解決Bifrost架構的主要缺點,並且看起來與我們看到的其他GPU供應商採用的設計方法非常相似。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Valhall GPU的第一次迭代是新的Mali-G77,它將實現我們今天將要討論的所有架構和微架構改進。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Arm承諾的是,能效和面積密度(基於ISO性能和工藝)提高30%,以及GPU上的機器學習推理工作負載性能提高60%。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

更有趣的是,在即將到來的2019年底和2020年,SoC的性能預計將比2019年的器件提高40%。下一代SoC預計只有很小的工藝節點改進,因此這裡引用的大部分提升都歸功於新Mali-G77 GPU的架構和微架構的飛躍。

Valhall簡介:一個用於現代工作負載的新ISA

新的Valhall架構的核心是Arm的新執行核心,這與它的前代產品有很大的不同。它仍然是一個標量設計,但是不同於Bifrost不同尋常的狹窄的8-wide設計,新的執行核心更類似於我們從AMD和英偉達等台式計算機GPU供應商那裡看到的樣子。

Bifrost在Mali-G71和G72的初始迭代中,核心中的執行塊由4-wide標量SIMD單元單元組成,其warp/wavefront大小也是4。在去年的G76上,它增加到了2個4-wide單元,warp大小是8。最初,在BiFrost的設計中,Arm使用如此窄的單元和如此小的warp的理由是為了減少ALU上的空閑周期。當時的工作負載無法有效地填充足夠的線程來支持更大的warp設計。這樣做的好處是,理論上Arm可以以更多的控制邏輯為代價實現更好的ALU利用率。

然而,隨著新一代工作負載的不斷發展,這種方法突然變得沒有什麼意義了。今天的遊戲正在快速地向更複雜的計算髮展,特別是在過去的一兩年中,我們看到了起源於PC的遊戲被移植到了移動設備上。

隨著著色計算複雜性的增加,發出更多線程並對其進行更寬的warp設計變得更加容易。在這種情況下,新的Valhall架構支持16-wide的基於warp的執行模型。雖然仍然沒有英偉達的32-wide或AMD的64-wide設計那樣的寬度,但考慮到去年之前Mali GPU使用的是4-wide warp執行模型,因此這是一次巨大的飛躍。

Arm也改變了ISA本身,簡化了很多指令。雖然我們沒有更多細節,但據說新的ISA更易於編譯,並且其設計可以更好地配合現代API(如Vulkan)。

對於此前的BiFrost GPU甚至是Midgard GPU,我們看到的是單個GPU核心採用多個執行引擎。這3個引擎有自己專用的數據路徑控制邏輯、自己的調度程序和指令緩存,以及自己的寄存器文件和消息傳遞塊,這自然會產生相當多的開銷晶體管。特別是在高端,這沒有任何意義,因為GPU IP自4年前的T860/880系列以來就沒有改變過執行引擎的數量。

新的G77將前幾代「小型」執行引擎整合到一個具有共享控制邏輯的較大的IP塊中。新引擎的IP設計仍然存在一些重複:實際的ALU流水線被組織成兩個「集群」,每個集群都有自己的16-wide FMA單元以及相應的執行單元。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

新ISA的一部分是一種新的編碼,它比我們在Bifrost中看到的更加規則。Valhall架構的一個重要新特性是,新ISA擺脫了固定的問題調度、子句和元組。在Bifrost中,Arm將指令的調度委託給編譯器,將它們分組到所謂的子句中。這在實踐中是有效的,儘管它在編譯器上花費了大量的工作來獲得最佳的結果,並試圖隱藏指令和數據訪問之間的延遲。

在ValHall中,調度完全由硬體完成,這本質上更類似於無序CPU的工作方式。這種新設計還意味著實際的ISA與實現的微架構更加脫節,這是一種更具前瞻性的設計選擇。

新的ISA還將重點放在優化紋理指令上,這與新架構大幅增強的紋理能力有關。

其他變化包括對現有技術的增量更新和數據結構的演變,其中包括對幾何流的優化和對AFBC(ARM幀緩衝壓縮)的優化。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

我們深入研究了執行引擎的結構,發現該結構一般可以分為四個模塊:包含有warp調度和I-cache的前端、兩個相同的數據路徑集群(處理單元),以及連接到載入/存儲單元和固定功能塊的消息塊。

前端支持多達64個warp或1024個線程。每個處理單元都有三個ALU:FMA和CVT(Convert)單元是16-wide,而SFU(特殊功能單元)是4-wide。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

前端創建和撤消warp,並保持必要的狀態。在前端內有一個動態調度程序,它決定每個warp執行哪些指令。等待dependency 的warp將替換為準備執行的warp。

I-cache在處理之間共享,是16KB(2048指令)4路組相聯(4-way set associative),根據帶寬每個周期能夠發出4條指令。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

在實際的處理單元(集群)中,我們有四個提取單元發出到算術單元中。每個提取單元都有一個緊密耦合的寄存器文件,以及一個減少訪問寄存器文件的延遲的轉發緩衝區。

FMA ALU每周期支持16個FP32 FMA,是FP16的兩倍,也是INT8 dot產品的兩倍。convert單元處理基本整數操作和自然類型轉換操作,並充當分支埠。

SFU是4-wide而不是16-wide,因為它處理不太常用的指令,不需要那麼大的吞吐量。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

總體而言,通過在Mali-G77與Mali-G76的執行引擎之間進行更高級別的比較,我們看到了單引擎同三個引擎的對決。單引擎在主數據路徑上有更多實體,而控制項和I-cache的實體更少,從而提高了整個塊的區域效率。

ALU延遲方面的一個重要變化是,數據路徑現在是4-cycle的深度,而不是以前的8-cycle,這可以在不進行鏈式操作時提高性能。

同樣,新核心具有類似超標量的發布,而不是過去的桶形流水線設計,在過去的桶形流水線設計中,流水線必須對上述延遲做出適當的妥協。這一變化也是新編譯器被大大簡化的原因之一,因為它不再需要像以前的流水線設計那樣同時發出匹配指令。

Mali-G77微架構

前文介紹完了負責算術處理的執行引擎,這一節的微架構只是更寬的核心設計的一部分。此處,Arm通常保持了與上一代GPU非常相似的總體設計,但是在幾個區塊中有一些重要的變化。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

著色器核心仍然包含執行引擎、帶有緩存的載入/存儲單元、屬性單元、變化單元、紋理映射單元和像素後端,以及其他各種3D固定功能塊。

這裡最大的變化是紋理單元塊,與我們在Mali-G76上發現的已經加倍的單元相比,它的吞吐量翻了一番。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

從高級功能的角度來看,新的TMU看起來與其前代產品非常相似,但是我們發現新設計在吞吐量方面有一些非常重要的變化。

該設計被分成兩條「路徑」,一條命中路徑(hit-path)和一條未命中路徑(miss-path),它們可以處理緩存內部或紋理緩存外部的「未命中」(miss)。命中路徑自然是一種更短的、經過延遲優化的路徑。

在命中路徑上,紋理緩存本身已得到改進,現在是32KB,並且能夠達到16 texel/cycle吞吐量。濾波單元也得到了改進,其吞吐量也得到了提高,現在雙線性紋理每cycle支持一個四邊形,三線性紋理每cycle支持半個四邊形,兩者都是G76吞吐量的2倍。

有趣的是,Arm表示,新的TMU與之前的TMU大致相同,但仍能實現能力翻番,堪稱極為優秀的工程壯舉。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

從根本上說,核心紋理能力的這種大幅增加改變了ALU,即GPU的Tex比率。儘管ALU能力提升了33%,但TMU吞吐量翻番意味著我們現在回到了一個更低的比率,更傾向於紋理吞吐量,而過去的GPU專註於提高計算性能。Arm認為這是一個必要的改變,因為現在的工作負載開始加重GPU在這方面的負擔。

需要注意的是,雖然紋理過濾吞吐量增加了,但是實際像素後端吞吐量沒有增加。這裡的著色器核心仍然只能為每個時鐘繪製2個像素,因此我們現在的texel(像素比率)是2:1,而在過去它仍然是1:1。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

著色器核心塊中的另一個重新設計是新的載入存儲緩存塊。從功能上講,它與過去一樣,但是現在經過重新設計,考慮到了更多的吞吐量。在同一區域內,流水線階段的數量減少了一半,進一步降低了核心操作的延遲。帶寬已被擴大到全cacheline寬度,這應該是其前身的兩倍。

實際的緩存大小為16KB,4路組相聯(4-way set associative),據說對於機器學習工作負載非常有用。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

將所有的部分放在一起,並從著色器核心縮小到GPU級別,我們再次看到了Arm將全部的模塊組織到一起的方法。該架構支持將著色器核心從1核擴展到32核,儘管G77的微架構目前僅支持16核。此外,Arm目前為RTL準備的最小的設計是7核配置,使用不同的IP(例如G52,或者未來在相同範圍內的未推出的IP)可以更好地為客戶提供較小的配置。

L2緩存仍然由四個部分組成,每個片的大小從256KB到1MB不等。目前,大多數供應商都採用2MB配置,我認為沒有任何被授權方實現過4MB配置。在帶寬方面,L2到LSC的帶寬也從32B/cycle增加了一倍,達到64B/cycle(一個完整的cacheline),而外部帶寬則取決於供應商為L2的每個部分實現128位還是256位AXI介面。

性能目標:提高30%的PPC和效率

從紙面上看,新的Valhall架構和新的Mali-G77看起來確實是一個很大的變化,但更重要的是知道Arm宣稱的性能、效率和面積如何。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

Arm的性能聲明非常有趣,因為Arm公布的性能是基於每mm2。基於供應商實現他們的GPU的方式,他們可以改變核心數量以及頻率,實際上很難給出一個清晰的數字來描述兩個獨立GPU配置之間的改進。對於G77,Arm聲稱新IP能夠提供比G76的每mm2性能提高1.2~1.4倍。就絕對值而言,G77著色器核心的大小據說與G76核心的大小相同。

這意味著這可以直接為供應商轉換成更小的GPU,或只是更多的空間,以增加額外的GPU核心,從而提高性能。特別是,Arm聲稱G77在紋理重的遊戲中表現得非常好,因此,關注器件實際的樣子,以及不同工作負載的表現將是一件有趣的事情。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

另一種提高性能的方法是提高GPU的時鐘。這裡的根本限制是智能手機的4~5W TDP限制。在ISO流程和性能方面的比較中,據說新的G77使用17%~29%的能源和功率來完成同樣的工作負載。或者換言之,性能/W提高了1.2~1.39倍。Arm表示G76和G77之間的基本頻率根本不會發生太大變化,內部Arm的目標仍然是850MHz。

今年我不打算嘗試任何性能和效率預測,因為有太多的變數在發揮作用。我預計,明年更大的變化之一是SoC將支持LPDDR5,這可能會顯著改變智能手機的功率動態。

Arm的確指出,他們預計明年使用G77的SoC性能將提高1.4倍。以三星的Exynos9820作為G76的參考,這意味著未來的G77 SoC將以更高的功率效率(假設維持功率水平不變)接近蘋果的A12 GPU性能。這將使高通陷入麻煩,因為它將明顯超越當前一代Adreno 640,但我們預計高通也將推出新一代GPU。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

G77的機器學習性能是Arm引以為豪的。這不僅僅是因為內核的處理單元數量增加了33%,而且LSC的設計和帶寬也有了很大的改進,這使得G77的推理性能比G76提高了1.6倍。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

最後,Arm對最近兩代Mali GPU進行了代際比較。在相同的工藝和相同的性能下,新的G77繼續實現30%的同比能效改進,並且比Mali-G72節省50%的能源。

結論

在TechDay活動期間,Arm顯然對新的Valhall架構和新的Mali-G77感到非常興奮。他們非常有理由感到興奮,因為看起來Arm似乎將展示Mali GPU IP的重大代際飛躍。

新的G77採用了一種全新的架構,從根本上改進了ARM的執行核心,旨在實現更現代的、符合台式計算機GPU的架構。這似乎是一個長期的轉變,雖然G76是一個相對較好的GPU,但前代的G72和G71不是。

Arm全新GPU深度解讀:一次重大的飛躍|半導體行業觀察

我期待今年晚些時候和明年年初在下一代三星Exynos和海思Kirin SoC中看到Mali-G77。從理論上講,如果一切順利,G77應該能夠縮小與蘋果和高通在性能和效率方面的差距。尤其是G77應該能夠超越高通的Adreno GPU,至少是當前一代的Adreno。

我對此相當樂觀,現在Arm和被授權的合作夥伴只需要正確地執行,就可以讓用戶享受最終成果。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 半導體行業觀察 的精彩文章:

為何巨頭紛紛投入伺服器AI晶元市場?|半導體行業觀察
韓國半導體野心全盤解讀|半導體行業觀察

TAG:半導體行業觀察 |