淺析ARM全新Cortex A76架構:2.4GHz便可幹掉驍龍845

又是一年6月,ARM在舊金山發佈了全新的Cortex A76架構。

數碼愛好者們對ARM的架構代號想必已經耳熟能詳,但或許並不知道這些架構具體出自誰手。實際上,ARM在全球擁有3家設計團隊,分別是位於美國德州的奧斯丁團隊、位於法國南部的索菲亞團隊以及位於英國大本營的劍橋團隊。

這三家團隊各有分工,奧斯丁團隊負責設計高性能架構,代表作為Cortex A57和Cortex A72;劍橋團隊專門設計Cortex A53和Cortex A55等低功耗架構;而索菲亞團隊則主打均衡,Cortex A73和Cortex A75便是出自其手。


不過自摩爾定律在28nm節點放緩開始,奧斯丁團隊在Cortex A57和Cortex A72架構上兩次遭遇瓶頸,性能強勁是不假,可功耗和發熱也堪稱恐怖。自那以後的幾年裡,奧斯丁團隊一直沒有什麼動作。就在人們幾乎已經忘了這群美國壯漢的時候,奧斯汀團隊帶着全新的Cortex A76回歸了。

從設計的角度來看,Cortex A76對於ARM來說至關重要,他是一款完全重新打造的全新微架構,是「第二代奧斯汀家族」的領軍者,代表了一個全新的開始。ARM稱它「是一款具有的筆記本級性能的處理器。」


Cortex A76在最新7nm工藝下,運行頻率預計將達到3GHz,相比基於10nm工藝製造、運行在2.8GHz的Cortex A75,能耗將降低40%,性能可提升35%,機器學習能力可提升4倍。

Cortex A76架構淺析

Cortex A76是一個亂序超標量內核,前端為亂序4發射指令解碼,後端為13級流水線,執行延遲為11個階段。ARM在設計了一個「定向預測獲取」單元,這代表分支預測單元會反饋到取指單元中。ARM還在業內首創使用了「混合間接預測單元」,將預測單元與取指單元分離,且支持內核中的各模塊獨立運行,運行期間更易於進行時鐘門控以節省功耗。

Cortex A76分支預測單元由3級BTB(分支目標緩存)支持,包括一個16鏈路nanoBTB,一個64鏈路microBTB和一個6000鏈路主BTB。在Cortex A73和Cortex A75世代,ARM便聲稱其分支預測單元幾乎能預測所有分支,Cortex A76的這個新單元似乎還要比之前更強一些。

取指單元的運行速度為每時鐘周期16Byte,分支預測單元的運行速度是取指單元帶寬的兩倍,為每周期32Byte,可在由12個「塊」組成的取指單元之前提供一個取指隊列。這樣做的目的是,分支預測錯誤時可以在管道中隱藏分支氣泡,並避免使取指單元和核心的其餘部分陷入停滯,ARM稱Cortex A76最多可應對每周期出現8次分支預測錯誤。

Cortex A76的取指單元最多可提供16條32bit指令,取指流水線由2個指令對齊和解碼循環組成。在指令解碼和重命名階段,Cortex A76每周期可吞吐4條指令,並以平均每條指令1.06Mops的比率輸出宏指令。


此前,Cortex A72和Cortex A75每周期可吞吐3條指令,Cortex A73則只能吞吐2條。根據雷鋒網掌握的資料來看,Cortex A73相比Cortex A72解碼帶寬下降是為了優化能效,而隨着對移動處理器性能需求的提升,Cortex A75恢復了每周期3吞吐的設計。此次Cortex A76則更進一步,成為了公版架構中解碼帶寬最高的,但仍低於三星和蘋果的定製架構(三星M3每周期6吞吐/蘋果A11每周期7吞吐)。

在指令重命名階段,ARM分離了重命名單元,並將時鐘門控用於整數/ASIMD/標記操作,重命名和調度從A73和A75的每次2周期縮短為1周期。宏指令按照每條指令1.2μop的比例擴展為微操作,每周期執行8μops調度,相比Cortex A75的6μops/周期和Cortex A73的4μops/周期有明顯增強。

Cortex A76的亂序提交窗口大小為128,緩衝區被分成負責指令管理和註冊回收的兩個結構,稱為混合提交系統。由於性能縮放比只有1/7,即緩衝區增加7%只能提升1%性能,所以ARM並沒有着重增強這部分設計。

流水線方面,整數部分包含6個問題隊列和執行端口,共3條整數執行流水線,由1個16深度的問題隊列提供服務。其中2條整數流水線可執行簡單算術運算,1條可執行乘法、除法和CRC等複雜操作。ASIMD/浮點部分則包含2條流水線,它們由2個16深度的問題隊列服務。

在整數運算方面,Cortex A76將乘法和乘法累加延遲從Cortex A75的3個周期降低到2個周期,總吞吐量保持不變。而由於Cortex A76有3條整數流水線,在執行簡單算術運算時的吞吐量相比Cortex A75的2條流水線增加了50%。

在負責浮點和ASIMD操作的「VX」(矢量執行)流水線中,ARM也做了重要的改進。Cortex A76的浮點算術運算延遲從3個周期降低到2個周期,乘法累加也從5個周期降低到4個周期。ARM表示,相比Cortex A75,Cortex A76的雙128bit ASIMD可帶來雙倍的執行帶寬,四倍精度操作的執行吞吐量增加了一倍。

ARM還在Cortex A76上引入了第四代預讀取單元,每個核心有4個不同的預讀取引擎并行運行,查看各種數據模式並將數據加載到緩存中,以更接近完美緩存命中操作的目標。ARM在Cortex A76的緩存體系設計上沒有做絲毫妥協,在帶寬和延遲兩個方面都做到了堪稱完美的水平,據說可將緩存帶寬提高90%之多。

性能和功耗預測

綜合以上這些架構改進,ARM稱Cortex A76相比Cortex A75,每周期整數性能和浮點性能可分別增長25%和35%,再加上高達90%的緩存帶寬提升,Cortex A76的GeekBench4跑分提升了28%,JavaScript性能提升了約35%(Octane,JetStream)。

ARM給出了運行SPECint2006測試的性能對比,在運行GCC編譯的基準二進制文件時,Cortex A76在2.4GHz時便幹掉了驍龍845,同頻性能提升了15%。當然,半導體工藝所帶來的頻率紅利對SoC的性能提升也非常重要,如果台積電7nm工藝順利投產,讓Cortex A76運行在3GHz+的頻率上,Cortex A76的性能將和使用三星自研M3架構的全新Exynos 9810持平。


除了性能增強之外,Cortex A76的能效比也有一定提升。在750mW的內核功耗預算下,7nm的Cortex A76相比10nm的Cortex A75可提升40%性能。ARM表示,Cortex A76可實現四核持續滿載時保持滿速不降頻運行。

不過此前ARM立下的頻率目標往往有些過於樂觀,例如最初預計Cortex A73將運行在2.8GHz,Cortex A75則為3GHz,而二者的實際最高運行頻率僅為2.45GHz和2.7GHz。對半導體供應商來說,工藝成熟度和不同流水線間的差異均會影響芯片運行頻率,壓低頻率上限是為了保證供貨量不得已而為之。


此外據雷鋒網了解,每種核心架構在某一工藝下,都有一個能效比最佳的頻率區間。以使用三星自研M3架構的全新Exynos 9810為例,其CPU大核集群在單核、雙核、四核滿載的情況下頻率分別為2.7GHz、2.3GHz、1.8GHz,功耗均為3.5瓦左右。換言之,經過逆推可知,M3核心從1.8GHz到2.3GHz,提升500MHz頻率功耗便翻了一倍,而從2.3GHz提升到2.7GHz,僅400MHz的提升就讓功耗再次翻倍。

而從1.8GHz到2.7GHz,即便性能也線性同步提升,幅度也只有50%,功耗則翻了兩番。可見越過最佳能效比區間后,衝擊高頻需要付出極大的功耗代價。而驍龍845的Kryo 385 Gold核心的表現也與之類似,在超過大約位於2.1GHz的閾值后,功耗飆升的幅度甚至比三星的M3核心猶有過之。

因此,首批使用Cortex A76架構的SoC,頻率有很大可能依然達不到3GHz。雷鋒網認為,考慮到核心架構的變化和規模的增長,其實際頻率會在2.5GHz左右,但不排除隨着後期工藝成熟或將其應用在筆記本等對功耗較為寬限的設備時可衝上3GHz+的高頻。

結論與思考

最近幾年裡,人們一直在期待能與蘋果一較高下的強勁架構。三星在不久前推出的自研架構M3雖然在性能上追近了蘋果A11,代價卻是單核3.5W的恐怖功耗。在這種情況下,ARM依然選擇穩紮穩打的進行世代更替,這次奧斯丁團隊的Cortex A76並不是性能怪獸,它充分顯示了一個平衡的微架構有多麼重要。

據悉,高通和華為海思已經在準備Cortex A76 SoC的研發和生產,我們很可能會在今年年底前看到它在商業產品中出貨。而三星方面則比較微妙,Cortex A76的性能並沒有超越M3,所以在理論上三星只需重點改善M4(如果有的話)的能效比即可。

不出意外的話,基於Cortex A76的架構將在接下來的幾年裡至少進行兩次迭代升級。ARM已經連續5年達成年度規劃目標,並且年複合增長率為20-25%,隨着移動處理器迅速接近X86處理器的性能,未來幾年的處理器市場將會更加有趣。

via:Anandtech


想在手機閱讀更多Apple資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems