在上個月Arm發布了最新基礎架構Neoverse V1和Neoverse N2 CPU IP之后,現在是時候該討論Arm在客戶端和移動方面的進展了。今年,Arm的情況比往常要大得多,因為我們看到了面向移動設備和客戶端的三種新一代微體系結構:旗艦級Cortex-X2內核,以Cortex-A710形式亮相的新A78后續產品,還有名為Cortex-A510的全新小核心。
這三個新CPU構成了Armv9兼容設計的新三重奏,旨在標志著行業中很少出現的更大的體系結構/ ISA轉換。
除了新的CPU內核外,我們還看到了新L3和群集設計——DSU-110,Arm還通過新的緩存一致性CI-700網狀網絡和NI-700NoC IP對其互連IP進行了重大升級。
Cortex-X2,A710和A510是去年X1,A78和A55的后續產品。特別是對于新的Cortex-X2和A710,它們是其前代產品的直接微體系結構后繼產品。這些部分在迭代改進IPC和效率的同時,還以Armv9和新擴展(例如SVE2)的形式結合了全新的體系結構功能。
Arm的新小核心Cortex-A510是一個更大的微體系結構跳躍,因為它代表了Arm的Cambridge CPU設計團隊的一項新的CPU設計。A510在改進IPC的同時仍繼續關注功率效率,并且也許最有趣的是,它保留了其有序的微體系結構特征。
Armv9 CPU系列:僅用于所有實際目的的AArch64 *
新的CPU系列標志著我們多年來最大的體系結構飛躍之一,因為該公司現在將所有三個新CPU IP都基于Armv9.0。早在三月下旬,我們就廣泛地介紹了新Arm架構的細節。新ISA的基礎功能包括新注冊的先前可選/缺失的Armv8.2 +功能,這些功能在移動和客戶端設計中無法得到保證(主要是由于較舊的A55內核),以及引入了新的SVE2 SIMD和矢量擴展。
我們期待已久的一大變化是,在即將到來的Arm Cortex-A移動內核中,我們將看到32位AArch32執行模式的棄用。自從Google在2019年宣布Google Play商店將要求上傳64位應用程序以來,我們就一直在為32位應用程序倒計時。該公司也將于今年夏天晚些時候停止向64位兼容設備提供32位應用程序,
盡管Arm宣布這一轉變將在2023年發生,但就所有意圖和目的而言,明年大多數全球用戶都已經在發生這種轉變。Cortex-X2旗艦內核和Cortex-A510小內核都是僅限AArch64的微體系結構,它們不再能夠執行AArch32代碼。
話雖如此,信心的讀者可能會注意到,三分之二的CPU并不是一個完整的轉變,其原因是因為Cortex-A710實際上仍然支持AArch32。Arm表示,這樣做的原因主要是為了滿足中國移動市場的需求,因為中國移動市場缺乏全球Play商店市場的同類生態系統功能,中國供應商及其國內應用程序市場需要更多時間來促進向僅64位轉變。這意味著明年我們將有一個奇怪的情況,那就是只有SoC能夠在其中級內核上執行32位應用程序,而這些應用程序被降級到A710內核中級,而錯過了A510內核的小功率效率或X2內核的性能。
在核心方面,新的Cortex-X2和Cortex-A710是Cortex-X1和Cortex-A78的后繼產品。這兩種設計大多由ARM奧斯汀的設計團隊設計的,從多年前的A76算起,新產品代表了這個微架構系列的第四代產品。在Arm借助明年的新Sophia內核將其移交給全新設計之前,這些內核應該是該微體系結構家族中的最后一個,
在設計理念上,X2和A710總體上保持了X1和A78所定義的總體目標:X系列繼續致力于通過增加微體系結構來提高性能,并且Arm愿意在合理的范圍內折衷功率。同時,A710繼續致力于通過更智能的設計來提高性能和效率,并著重于最大化IP的功率,性能和面積(PPA)平衡。
在上一張幻燈片中,Arm提出的重點是優化了關鍵路徑(critical paths)和物理設計,以實現持續的電壓運行,這更多是該公司在下一代“Middle”內核中追求的目標,而不是在Cortex-A710中專門體現的目標……
今年,我們也終于看到了一個新的小核心。我們早在2017年就介紹了Cortex-A55,自那時以來我們還沒有看到對Arm的小內核的任何更新,以至于它被視為最后幾代移動SoC的重大弱點。
全新的Cortex-A510是Arm劍橋設計團隊的clean-sheet 設計,它利用了公司較大內核中已采用的許多技術,但將這些技術實施到了新的有序(in-order)小型微體系結構中。是的,我們仍在討論有序內核,而Arm仍將其視為提取移動設備最佳效率和“使用天數”的最佳選擇。
盡管這是一個有序內核,但Arm進行了比較,認為新設計與2017年的旗艦內核Cortex-A73非常相似,實現了非常相似的IPC和頻率功能,而功耗卻要低得多。
新設計還采用了非常有趣的共享復雜方法,并與第二個內核共享了L2和FP / SIMD pipelines,一個被Arm稱為“合并內核”(merged core)的設計方法,這無疑會讓讀者想起十年前AMD在推土機內核中使用的CMT方法 ,即使在方法上有非常重要的差異。
Cortex-X2:更高的性能,更深的OoO
我們首先從去年的Cortex-X1的繼承者Cortex-X2開始。
X1是Arm推出的新IP系列產品中的第一款產品,在這個系列面世后,Arm將其“大”核心產品分成了兩個不同的IP產品線,其中Cortex-A兄弟繼續了Arm最初的PPA設計理念,而X系列則被允許為了實現更高的性能點而不斷發展壯大。
Cortex-X2延續了這一理念,并進一步擴大了其與“Middle”同類產品Cortex-A710之間的性能和功耗差距。我還注意到,在Arm的整個演講中,都提到了將Cortex-X2用于大屏幕計算設備和筆記本電腦等外形尺寸中的情況,因此這很可能表明該公司的這一代產品,將被應用在上述場景的產品設計中。
從體系結構的角度來看,X2與X1自然不同,這在很大程度上要歸功于它對Armv9的支持以及該體系結構的新基準化所帶來的所有安全性和相關的ISA平臺改進。
如簡介中所述,Cortex-X2還是僅64位內核,即使在PL0用戶模式應用程序中,也僅支持AArch64執行。從微體系結構的角度來看,這很有趣,因為這意味著Arm將能夠消除設計中的某些缺陷。但是,由于該設計是Austin處理器系列的延續,因此,我想知道我們是否會在未來的 “clean-sheet” 大內核設計中看到這種棄用的更多好處,因為從一開始就設計了僅AArch64。實際上,這是Arm的其他CPU內核中已經發生的事情,因為新的小內核Cortex-A510設計為sans-AArch32。
在前端方面,Arm一直在嘗試改進其認為微體系結構最重要的方面:分支預測。這包括繼續以與獲取階段分離的方式運行(run the branch resolution in a decoupled way)分支分辨率(branch resolution),以使這些功能塊能夠在錯誤預測的情況下領先于內核的其余部分運行,并最大程度地減少分支氣泡( branch bubbles)。Arm通常不愿就其預測變量在這里進行過多少改動而談論太多細節,但希望在新的X2和A710內核的分支預測準確性方面取得顯著改善,從而有效地降低了MPKI(Misses per kilo instructions)指標,以應對非常廣泛的工作負載。
由于Arm能夠將dispatch stages從2個周期減少到1個周期,因此新的核心總體上將其pipeline長度從11個周期減少到10個周期。需要注意的是,我們必須將pipeline cycles與mispredict penalties分開來,在大多數情況下,后者在Cortex-A77設計中已減少到10個周期。移除pipeline stage通常是一個相當大的變化,特別是考慮到Arm的目標是保持內核的頻率能力。這種設計變更確實招致了一些更復雜的工程,并且具有面積和功耗成本。但是盡管如此,正如Arm所解釋的那樣,削減pipeline stage仍然可以帶來更大的投資回報,從而帶來績效收益,因此非常值得。
內核還增加了亂序功能,這一代產品還將ROB(reorder buffer)從224個條目增加了30%,增加到288個條目。有效數字實際上還要高一點,因為在壓縮和指令捆綁的情況下,實際上存儲了超過288個條目。Arm說,這一代產品還促進了更多的指令融合案例。
在核心的后端,FP / ASIMD pipelines的一部分有了新的重大變化,這些 pipelines現在支持SVE2。在移動市場,SVE向量長度將繼續為128b,本質上,新的X2內核具有與X1的4x FP / NEON流水線相似的吞吐量特性。之所以選擇128b向量而不是更高的向量是因為在big.LITTLE設計中需要具有統一的體系結構特征,因為您不能在同一SoC中以無縫方式混合不同向量長度的微體系結構。
在后端,Cortex-X2繼續致力于通過將load-store窗口和結構大小增加33%來提高MLP (memory level parallelism) )。Arm在這里采用了幾種結構,且通常不會詳細說明已擴展了哪些隊列,但是一旦我們拿到了X2系統,就很可能能夠對此進行衡量。L1 dTLB已從40個條目(entries)增加到48個條目,并且與每一代一樣,Arm還改進了其預取器(prefetchers),提高了準確性和覆蓋范圍。
Prefetchers是今年早些時候在Cortex-X1和A78上使我們驚訝的一個設計,這是我們在行業中認識到的同類產品中的第一個。這能夠鎖定到任意重復的內存模式上,并識別內存訪問中的新迭代,從而能夠智能地預取整個模式直至一定深度(我們估計為32-64MB的窗口)。Arm表示,現在覆蓋范圍以及準確性都得到了進一步的提高,盡管只有在接觸到芯片之后,我們才能再次看到這些細節。
就IPC的改進而言,在SPECint2006中,ISO頻率在今年數字達到了+ 16%。該度量標準的問題(并且適用于今天所有Arm的數據)是Arm將8MB L3緩存設計與4MB L3設計進行了比較,因此我希望+ 16%的數字中的較大部分是由于較大緩存而不是核心IPC自身進行改進。
就他們而言,Arm重申他們希望明年的X2 SoC使用8MB L3設計,因此,這個+ 16%的數字是現實的,這是用戶在實際實現中應該看到的。但是話雖這么說,我們去年還是就Arm期望用于X1 SoC的8MB L3緩存進行了相同的討論,而Exynos 2100和Snapdragon 888都沒有采用。因此我們還是看最終商用的旗艦SoC將采多大的高速緩存。
在性能和功耗曲線方面,新的X2內核在這兩個指標上都超越了X1。盡管峰值性能點的確增加了16%的性能,但這確實要付出更高的功耗。
通常,考慮到我們現在在市場上看到的有關處理供應商的節點選擇的情況,這有點令人擔憂。我們已經看到,高通公司和S.LSI在Snapdragon 888和Exynos 2100中使用的三星5LPE節點在性能和能效方面的交付不足,我通常認為這兩個大核的功耗都較高限制散熱。我認為高通公司在下一代產品中將繼續使用三星代工廠,因此,我對采用旗艦級SoC的任何節點(無論是5LPP還是4LPP)在功率改進方面都持悲觀態度。明年我們可能看不到實際SoC的全部+ 16%改善,這很有可能是合理的。
Cortex-A710:性能更高,效率更高
正如前面介紹,Cortex-X2在提供全面性能的同時,要付出功耗和面積上的損失,但Arm的Cortex-A710設計卻采用了更有效的方法。
首先,就Arm未來的發展而言,現在新產品的命名是顯而易見了的,他們跳過了A79的名稱,只是簡單地從A710的新的三位數方案開始。這在公司宏偉計劃中逼哥不是很重要,但卻是有趣的營銷方式。
與X2一樣,Cortex-A710是Armv9內核,具有新體系結構版本附帶的所有新功能。與X2不同,A710還支持EL0 AArch32執行,并且如介紹中所述,這主要是因應中國市場客戶要求所做的的設計選擇。因為在中國市場,生態系統將所有應用程序遷移到AArch64方面仍然略有滯后。
在前端增強方面,我們看到了與X2相同的分支預測改進,具有更大的結構和更好的準確性。其他結構(例如L1I TLB)也已從32個條目增加到48個條目。其他前端結構(例如macro-OP cache )在1.5K條目處保持不變(X2在3K條目處也保持不變)。
A710中核的一個非常有趣的選擇是Arm將macro-OP cache和dispatch stage的吞吐量從6-wide降低到5-wide。這主要是針對這一代產品的有針對性的功率和效率優化,因為我們看到Cortex-A和Cortex-X內核之間在其專業性和性能和功耗的目標用例方面存在更大的分歧。
Dispatch stage還具有與X2相同的優化功能,從流水線中刪除了1個周期,從而實現了整個10周期的pipeline設計。
Arm還專注于影響系統非核心部分的核心改進,這要歸功于預取器設計的新改進以及它們如何與新的DSU-110交互。內核和DSU的新組合能夠減少從內核到L3緩存的訪問時間,并且由于效率更高的預取器和更大的L3緩存而減少了昂貴的DRAM訪問。
在IPC方面,Arm宣傳了10%的提升,但是這里出現的數字又是我們將8MB L3緩存設計與4MB L3緩存設計進行了比較。雖然這可能會與明年的旗艦SoC進行比較,因為Cortex-A710還是可用于中端或低端SoC(可能使用較小的L3緩存)的內核,但我們不太可能看到這樣的IPC提升,除非實際的SoC確實能夠改善其DSU尺寸。
比性能提高+ 10%更為重要的是,當稍微降低頻率時,我們可以看到功耗降低幅度可能很大。據Arm稱,在性能相同的情況下,A710的功耗比Cortex-A78少30%。這將大大有助于Cortex-A710的時鐘頻率適中的“中間”核心實現的持續性能和電源效率。
總的來說,X2和A710的性能和功率指標都相當適中,使其成為我們在Arm幾年中看到的最小的一代又一代的數字。Arm解釋說,由于這一代隨著向Armv9的遷移而進行了較大的體系結構更改,因此對我們在前幾代中看到的通常的效率和性能改進產生了影響。
X2和A710都是該奧斯汀微體系結構家族的第四代產品,因此我們正面臨著不斷減少的收益和成熟的設計壁壘。幾年前,我們給人的印象是,奧斯汀家族只能進行三代的工作,然后再將其移交給Sophia團隊的全新clean-sheet設計,但是原來的路線圖已經改變,現在我們將期待明年的Sophia新核心在性能上能有更大的飛躍。
Cortex-A510:全新的小巧設計
接下來,我們將介紹Arm最新的小內核,即全新的Cortex-A510。新設計是工程師在過去4年中一直在研究的Arm劍橋團隊開發的一種clean-sheet的微體系結構,它在將小內核內置到SoC中時標志著一種截然不同的方法。
首先,Arm明確指出了設計繼續使用有序執行,并指出他們認為這仍然是為此類工作負載設計內核的最省電方式。當將其置于蘋果自己亂序的效率核心的上下文中時,這仍然是一個相對有爭議的話題和討論點,我稍后將再次討論該話題。
其次,Cortex-A510引入了一種稱為“合并核心”(merged-core)的微體系結構,這與AMD十年前在其Bulldozer內核中對CMT所做的一些非常高的比較和相似之處,但是在某些重要方面卻有很大不同。細節和設計方面。
當然,與X2和A710一樣,A510是Armv9設計,并且所有三個內核彼此共享相同的架構功能,從而可以將它們集成到同一SoC中。值得注意的是,與X2一樣,A510是僅64位的AArch64內核。
Cortex-A510最有趣的方面是新的合并核心方法。Arm在這里所做的事情是創建一個新的“復雜”,最多兩個核心對,它們共享L2緩存系統以及它們之間的FP / NEON / SVE pileline。
乍一看,這聽起來與AMD使用Bulldozer和CMT(Clustered Multithreading)方法所做的極為相似,但是Arm的設計在實際內核共享方面更加分散。AMD的CMT模塊主要由兩個整數后端和一個FP / SIMD后端之間的共享前端組成,而Arm的“合并核心”實際上是具有各自前端,中核,整數后端和L1緩存層次結構。“核心”之間共享的唯一內容是實際的FP / SIMD后端以及L2緩存層次結構。
此外,雖然我們希望在移動市場中,供應商能夠在每個復雜方法中使用這兩個新的合并核心,但實際上有可能僅在每個復雜中僅使用一個核心。在這種情況下,獨立核心將本質上具有其自己的專用(非共享)資源,但是與預期的合并核心方法相比,其區域效率顯著降低。
通常,考慮到采用SVE2以及新執行后端所需的相對較大的占位面積,為這些微小的新內核實際共享這些資源是很有意義的。它們的典型工作負載也大多僅為整數綁定后臺工作負載,這對此類單元造成的壓力較小。
從更高級別的SoC角度來看,內核數量并沒有真正改變,細節是我們將看到兩對或小的內核現在彼此之間共享更大的L2緩存。該L2最多可配置為512KB,但一如既往,我們在產品中實際看到的內容將很大程度上取決于供應商要在其設計中實現的內容。由于新的綜合系統也僅占用DSU上的單個接口,因此也為大于8個“核心”的設計提供了可能性,我希望這種情況不會發生,或者希望僅通過更多的中型或大型核心發生。
就新A510的前端而言,我們看到了一個128位的fetch pipeline ,這意味著它每個周期最多可以獲取4條指令,這給前端留出了一些余地來關閉分支氣泡。解碼器的實際寬度已從2寬增加到3寬。
在分支預測方面,一如既往Arm并未透露太多細節,但該公司確實指出,它在大型核上使用了相同的最新方法和技術。L1指令高速緩存可以是32KB或64KB。
就共享向量執行后端而言,這實際上非常有趣,因為Arm可以選擇使用較小的2x64位流水線或2x128b流水線配置復雜系統,后者的吞吐量將是Cortex-A55的2倍。我不太確定將與哪些移動設備供應商合作;我們始終希望有更大的配置,但一如既往,我們將不得不拭目以待,看看實際產品中將采用什么配置。在這兩種配置中,向量長度均為128b,因為這是大型核心微體系結構互操作性的要求。
Arm指出,Shared pipelines對硬件是完全透明的,并且還使用了細粒度的硬件調度。在同時使用兩個內核的實際多線程工作負載中,與為每個內核專用的pipeline相比,性能影響和不足僅占百分之幾。這基本上是為什么Arm決定使用這種面積更有效的合并核心方法的基石論據。
盡管這是一個有序的體系結構,但Arm仍然擴展了Cortex-A510的后端,該后端現在包括3個ALU,一個復雜的MAC / DIV單元和一個分支轉發端口。這里的解釋很簡單,當有適當的指令序列要執行時,就有更多的機會在更少的周期內執行更多種類的代碼塊。
最后,在負載存儲系統中,與Cortex-A55相比,新結構得到了極大的改進,因為我們看到了從負載和存儲管道向負載和負載/存儲管道的轉變,這有效地使存儲結構增加了一倍。每個周期執行的負載數。管道的寬度也增加了,從64b的寬度增加了一倍,達到128b的寬度,因此與Cortex-A55相比,負載帶寬實際上增加了三倍。
A510還采用了我們在其他最近的大型Arm內核中已經看到的類似的非常先進的預取器設計,并增加了該內核能夠實現的巨大性能改進。
在性能指標方面,就像在X2和A710演示幻燈片上一樣,A510的數字也不盡相同。據說兩個核心之間的頻率是相同的。在這種情況下,我們看到SPECint2006中的+ 35%和SPECfp2006中的+ 50%,這似乎是非常可靠的世代改進,但是考慮到緩存層次結構的差異以及我們將得分與4年以上進行比較的事實從舊的核心來看,實際的改進,尤其是從復合年均增長率(CAGR)來看,似乎并沒有那么令人印象深刻。
在發布CPU的同時,Arm還帶來了全新的CPU家族Mali-G710旗艦系列,G510中端系列和新型超區域高效Mali-G310的廣泛產品陣容。
在高端產品上,Mali-G710是Mali-G78的直接繼承者,在目標上是相對簡單的世代改進:Arm的架構師可以在Mali GPU中實現最高性能。Mali-G610是一項品牌推廣活動,旨在以更少的核心數量區分與G710相同的微體系結構,目的是幫助合作伙伴更好地區分旗艦產品與“高端”產品。
Mali-G510是2019年Mali-G57的后繼產品,是Arm中檔產品組合的重大升級,帶來了極大的功耗性能提升,并在功率效率方面比以前的產品有所提高。
最后,新的Mali-G310是基于Valhall的新低端產品,代表了基于Bifrost的Mali-G31的多代架構升級,并瞄準了以低面積效率為重點的市場我們看到了數千億的低成本設備和其他嵌入式市場,例如智能電視。
Mali-G710:使每核性能提高一倍
作為Valhall GPU架構的延續,新型G710執行引擎的基礎特征與上一代Mali-G77和Mali-G78相似且大致相同。
我們在Valhall看到的更大變化包括從wavefront/warp 大小8到16的轉變,每個執行引擎具有dual datapaths (clusters) ,從而在G77和G78中看到了32 FMA /核心設計。
據說ISA已經有了Vulkan等新的現代API所設計的更大改進,但始終很難量化此類更改對GPU的整體性能和效率的影響。
Mali-G710的新增功能是添加了第二個執行引擎,有效地將Valhall架構的每個著色器核心(shader core)的計算性能提高了一倍。從某種意義上說,Arm在這里重新采用了我們在上一代Mali體系結構中所見過的一些擴展手段,例如與Mali-G76每個著色器核心具有三個執行引擎的情況相比。
在上面的幻燈片中,“ 8x”和“ 4x”指標與每個內核的每個周期的吞吐量有關,通過這些指標我們可以看到,GPU的其他功能塊在吞吐量方面也提高了一倍,以保持執行引擎的計算執行吞吐量提高了一倍。
新的G710包括一個全新的紋理單元(texture unit ),現在每個時鐘可以處理多達8個雙線性紋理元素,Arm通常對新設計進行了優化,以顯著提高面積效率,從而使新的TMU具有+ 50%的性能密度優勢。
在執行引擎中,Arm繼續使用兩個處理單元或處理元素集群,在這方面,我們看不出各代之間有太大差異,但是,如果我們更深入地研究實際的處理單元,則會對塊進行更改:
在最簡單和基本的解釋中,我們看到的是從一個16寬(warp wide))處理元素和執行單元的單個實例轉換為四個4寬執行單元的實例。設計之間的吞吐量沒有改變,但是新的微體系結構為處理元素提供了更多的專用資源,并允許更好的結構以提高效率。
總的來說,新的執行引擎設計使FMA每個內核的每個時鐘頻率提高了一倍,這在某種程度上是顯而易見的,但是它還具有將執行引擎在著色器內核內的能量分配降低20%的好處。
G710的另一個非常重要的亮點是用新的“Command Stream Frontend”代替了傳統的“Job Manager”,該“Command Stream Frontend”可以處理draw-calls的調度和處理。CSF引入了一個未公開性質的新CPU,并且現在還將首次向Mali GPU引入固件層。
該設計的目標是為更復雜的圖形工作負載實現更靈活和可擴展的性能,同時通過為其提供非常輕量級的submission path來減少驅動程序開銷,從而提高系統CPU的電源效率。它有助于簡化對API功能(例如狀態繼承和輔助緩沖區)的支持,以及處理對時間敏感的應用程序(例如VR或time-warp應用程序)。靠近硬件的距離以及由此帶來的等待時間的減少也極大地受益于同步事件。
固件與硬件緊密耦合,可以處理來自主機的請求或命令緩沖區完成通知,減少諸如受保護的入口退出之類的開銷,甚至還可以通過額外的功能來模擬硬件中尚不存在的API功能。指示。
新硬件從頭開始進行了重新設計,以便能夠跟上最新內容,并允許將job submission 吞吐量傳遞到其他GPU單元中。Arm在這里聲稱,新的CSF每秒最多可以進行500萬次調用。
總體而言,新的G710微體系結構看起來非常有趣,尤其是要解決與Arm的Mali GPU的API開銷相關的一些弱點。如何發揮作用還有待觀察,但從這一代人所宣稱的20%的性能和功率效率增益來看,這似乎是一個穩固的進步,盡管這些數字不足以改變移動市場的競爭格局。
Mali-G610是與G710相同的微架構,只是內核配置低于7個內核而使用了不同的名稱。
Mali-G510和G310:攻占低端
在中檔中,新的Mali-G510和Mali-G310是對市場上正在使用的前輩產品G57和G31的代升級。這些新設計代表了微體系結構中的新重大突破,對于Arm的中端和低端產品而言,這是自然而然的大性能提升。
從很高的角度來看,G510可從2核擴展到6核,但通過更改每個核之一的執行單元中的簇數,或更改使用的紋理單元的類型(4倍的吞吐量)來提供差異化單位或8x單位。
在執行引擎方面,我們總是有兩個執行引擎,但是可以將其中一個執行引擎配置為僅包含一個集群,從而有效地將核心的計算部分從64 FMA /周期設計減少到48 FMA /周期設計。這種粒度的原因是此類GPU的普通客戶具有超優化的用例,并將針對特定用例和標準配置其GPU實施,并且僅使用最小的最小配置來滿足這些需求。
Arm在這里重點介紹G510 IP的10種不同配置選項,它們均具有不同的計算或填充率優化性能點。對于讀者來說,了解這種可配置性的需求可能有點不直觀,但是在實現方面,有些非移動市場真正關心每平方毫米的幾分之一。
新的G310可進一步擴展到G510以下。與上一代最小的Mali IP產品G31相比,此GPU實際上是一項重大的性能飛躍,因為我們看到了從Bifrost架構到新的Valhall設計的轉變。
在這里,我們看到采用了新的執行引擎設計,但是允許將集群進一步縮小到每個EE僅一個集群,并且還允許在最低配置下僅允許一個EE,從而允許擴展16、32、48或64 FMA每個著色器核心。紋理單元還可以最小縮小到2個紋理像素/周期單元,并且看到一個變化的單元,與其較大的同級對象相比,該單元被縮小了。
G310僅是單個著色器核心設計,因此配置是通過更改該核心內的不同執行單元來唯一實現的。不幸的是,Arm似乎并未針對各種配置計劃任何公開的命名方案,因此,廠商將有責任進行任何形式的披露。