麒麟980性能表現大起底:既有情理之中,又有意料之外
不久前外媒ChipRebel剛剛發布了華為Mate 20手機的拆解,並公佈了麒麟980處理器的透視照片,讓我們有了一窺這款讓華為表示“穩了”的處理器,並首次看到Arm全新Cortex A76 CPU和全新Mali G76 GPU的真容。當高通和三星在2016年下半年發布驍龍835和Exynos 8895這兩款使用10nm LPE工藝的產品時,麒麟960卻只能選擇台積電16nm FFC工藝,這種劣勢顯著的體現在芯片的能耗比方面。
麒麟970雖然縮小了製造工藝方面的差距,但由於其設計週期較早,錯過了Arm當時最新的Cortex A75架構,只能基於Cortex A73架構設計,而推出較晚的驍龍845則全面基於Cortex A75和Cortex A55改進。
在這次的麒麟980,華為終於再次集齊了最先進的製造工藝和最新的架構設計,從這方面來看,麒麟980背負著比麒麟970和麒麟960更大的期望和歷史任務,有望復制甚至超越幾年前麒麟950的成功。
濃縮的都是精品
雖然華為在此前公佈麒麟980時表示其核心面積小於100mm²,但實際上麒麟980的矽片尺寸要比官宣還有要小得多,僅為74.13mm²。在CPU、GPU、NPU及內存等全面升級的情況下,麒麟980相比去年麒麟970的96.72mm²小了30%,可說是相當驚人了。
芯片的左上角是全新的Mali G76 MP10 GPU集群,Mali G76達到Mali G72翻倍的性能只需132%的芯片面積,理論上單位面積性能提升了50%。華為將麒麟980的GPU面積維持在了11.97mm²,僅稍大於驍龍845中Adreno 630的10.69mm²,遠小於Exynos 9810 Mali G72 MP18的24.53mm²和蘋果A12 GPU的14.88mm²。
GPU模塊右側是CPU模塊,Cortex A76架構在核心尺寸方面仍然非常小巧,配備512KB L2緩存時的單核面積僅為1.26mm²,同樣遠小於三星自研Exynos M3“貓鼬”架構核心的3.5mm² ,甚至比不含L2緩存的蘋果A12的Vortex架構核心(2.07mm²)還要小。
此次華為充分利用了Arm的新DSU集群及異步CPU配置,將麒麟980中Cortex A76架構的高性能CPU集群細分為兩組,高頻率的一組運行在2.6GHz頻率上,另一組Cortex A76 CPU的運行頻率為1.92GHz(這應該是一個很好的能效比平衡點),各自運行在不同的頻率和電壓上,可根據不同使用場景靈活調用,有效提昇實際使用時的能效比。
緩存方面,所有Cortex A76都帶有推薦的512KB L2緩存配置,而A55則採用128KB緩存。此前分析Cortex A76的文章中曾提到過,在最新的DynamIQ群集配置中,L2緩存是每個CPU核心獨占的。DSU中的L3緩存則為4MB共享式設計,容量為驍龍845和麒麟970的兩倍。
改進的內存延遲
SoC的存儲子系統對其性能表現至關重要,麒麟970便在這方面吃了一些虧,它在高頻率下運行時似乎有些問題,這使得華為不得不在默認情況下選擇降低其設備的頻率,導致了一些性能下降,尤其是在對內存延遲敏感的工作負載中。
與麒麟970相比,麒麟980的內存延遲得到了顯著改善。測試中使用的是完全隨機延遲,包括TLB未命中等在內的所有可能的懲罰,但是這仍然是一個重要的性能指標。
Cortex A76架構的獨占L2緩存延遲非常出色,只有4ns,不到麒麟970中Cortex A73共享L2緩存延遲的一半。而4MB共享L3緩存確實與CPU核心異步運行,在測試中可以看到明顯的延遲懲罰,但仍然在合理範圍內。
對比安卓陣營的幾款SoC,麒麟980的L3緩存看起來略慢於驍龍845,可能是由於華為略微降低了L3緩存的運行頻率;Exynos 9810的緩存延遲最大,雖然在內存延遲方面略有優勢,但這是以很大的功耗代價衝擊高頻率換來的,當核心運行在合理的頻率上時,Exynos 9810的優勢會喪失殆盡。
(PS:蘋果A12處理器在緩存和內存延遲方面都遙遙領先,在所有指標和深度上都展示了巨大的優勢,讓安卓陣營的所有SoC都相形見絀。)
CPU性能和能耗比
華為在發布會上表示,麒麟980相比麒麟970可獲得75%的性能提升,能耗比則比麒麟970提高58%。演講中的PPT腳註顯示其能效數據基於Dhrystone,而Dhrystone非常專注於考驗CPU核心,相對在內存等其他方面不會給SoC帶來太大的壓力。
現在,使用麒麟980的Mate 20、Mate 20 Pro及Magic 2均已上市,SPECint2006和SPECfp2006的測試成績比華為的官宣更能體現這款處理器的真實性能水平。
下圖顯示了完成測試中的電能消耗量及平均功耗,左邊的條形表示消耗的能量,以J(焦耳)為單位,條形越短代表耗能越少,相應的平台的效率越高;右邊的條代表性能分數,條形越長代表性能越強。
測試成績出人意料,麒麟980的SPEC2006性能達到了麒麟970的2倍,不過依然只有蘋果A12的57%~62%;且在CPU的能耗比方面,麒麟980相比麒麟970只提升了28%,這導致雖然其功耗只有蘋果A12的59%~62%,但實際消耗的能量卻幾乎與蘋果A12相同。
全新Cortex A76架構和麒麟980的內存子系統耗電量更大,SPECint測試中平均達到2.14W,SPECfp測試中達到2.65W,比麒麟970的1.38W和1.72W有顯著增加。從這方面來看,Arm的新架構是在以線性的方式提升功耗和性能,包括驍龍845的Cortex A75。
當然,只要控制好性能和功耗的關係,這樣的提升方式並不能說是消極的。麒麟980的CPU性能是蘋果A12的57%~62%,功耗是蘋果A12的59%~62%,二者處理相同任務消耗的能量基本相同,這有什麼不對的呢?相比之下Exynos 9810是個典型的反例,在衝擊高頻時付出了極大的功耗代價,卻沒有表現出與之相匹配的性能提升,能效比極差。
在SPECint2006測試中,麒麟980或者說Cortex A76表現出了相當均衡的各方面性能,在403.gcc測試項中的成績相比麒麟970提高了2.67倍。456.hmmer和464.h264ref是SPECint2006測試中兩個最強的後端綁定測試,Cortex A76也展示了與其時鐘頻率及亂序4發射前端相符的分數。在這一測試中,驍龍845的內存延遲表現不太好,因為它的L4系統緩存塊在規格上確實有一點缺陷。
在SPECfp2006的結果中,麒麟980同樣展現出了大幅度的進步。總而言之,麒麟980在所有測試中都有著全面改進,在性能和能耗方面的表現都非常出色。麒麟980以及Arm的Cortex A76都兌現了他們的承諾,甚至超過了此前人們根據官方消息所做的預測。
當然,麒麟980還無法與蘋果的A12甚至是A11相提並論,而且這種情況很可能在接下來的幾代中不會發生太大變化,至少在安卓陣營的處理器廠商設計出更好、更健壯的內存子系統之前都會是這樣。
GPU性能和能耗比
GPU的性能和能耗比一直是麒麟960和麒麟970的一大痛點,而麒麟980是世界上第一款使用了Arm全新Mali G76 GPU的SoC,華為表示麒麟980的GPU性能相比麒麟970提升46%,能耗比則大幅提升178%。後一個數字尤其引起了一些關注,因為在這個行業中你看不到這樣的增長。
在3DMark Sling Shot Extreme Unlimited的圖形測試中,Mate 20和Mate 20 Pro都展現出了可觀的峰值性能值,與麒麟970相比提升相當顯著,但在達到熱平衡之前仍然有很大的波動。
在GFXBench測試最新的Aztec Ruins Vulkan場景中,高質量模式下,Mate 20和Mate 20 Pro的性能表現都比較奇特:峰值性能並不是特別好,但持續性能幾乎與峰值性能相同。而在普通質量模式下,Mate 20 Pro則表現出比Mate 20更高的性能。
在GFXBench測試的曼哈頓3.1場景中,麒麟980的峰值性能和持續性能也均有可觀的提升。與Aztec Ruins Vulkan場景相比,Mate 20和Mate 20 Pro在曼哈頓3.1場景中的峰值性能和持續性能表現出了正常的差異,性能與大多數驍龍845設備相當。
遺憾的是,麒麟980的能耗比與華為官方數據及此前的預測相差較大,其性能表現正常,但功耗比此前預測的3.5瓦要高出1W,最終麒麟980的能耗比相比麒麟970提高了100%。
雖然外媒Anandtech稱這仍然是相當大的代際改進,且表示此前華為官宣的178%能耗比提升可能是指麒麟980在與麒麟970相同的性能上的比較,不過麒麟970本身的GPU性能和能耗比表現就比較差,7nm工藝下的麒麟980在GPU性能提升45%、能耗比提升100%後,居然仍小幅落後於10nm工藝下的驍龍845,這不得不說是讓人大跌眼鏡的。
而在T-Rex中,麒麟980相比麒麟970的峰值性能提升幅度要小得多,不知道這裡的瓶頸究竟是什麼。麒麟980在Mate 20 Pro上的持續性能提升了50%,但在Mate 20上出現了嚴重的限制。T-Rex在現代SoC上的幀速率非常高,因此在許多方面都會受到CPU的製約。
同樣,麒麟980在T-Rex場景中的能耗比相比麒麟970大幅提升,不過與在Aztec Ruins Vulkan和曼哈頓3.1場景測試一樣,大幅提升的基礎是麒麟970的能耗比是在太差,麒麟980也只不過是提升到了相對正常的水平,依然不及驍龍835、驍龍845和Exynos 9810,更遑論蘋果A12。
第二代NPU
在去年1月測試麒麟970的NPU性能時,可選的測試軟件只有魯大師的AI測試,但它不支持華為的HiAI API,相關運算均依靠CPU實現進行處理。不幸的是,到了麒麟980和Mate 20上依然如此。
“AI-Benchmark”是由瑞士ETH蘇黎世計算機視覺實驗室的Andrey Ignatov 的新基準測試程序,也是第一個廣泛使用Android 8.1新NNAPI,而不依賴於每個SoC供應商自己的SDK工具和API的基準測試程序。AI-Benchmark應該能夠更好地準確地表示從使用NNAPI的應用程序所預期的最終NN性能。
需要記住的一點是,NNAPI不僅僅是一些能夠在NPU上運行神經網絡模型的通用轉換層,而且API和SoC供應商的底層驅動程序必須能夠支持公開的函數,並且能夠在IP塊上運行它。這裡的區別在於,使用NNAPI尚未支持的特性(必須退回到CPU上運算)的模型和能夠硬件加速並對量化的INT8或FP16數據進行操作的模型。還有一些模型依賴於FP32數據,這裡同樣依賴於底層驅動程序,它可以在CPU上運行,也可以在GPU上運行。
前三個CPU測試項使用了NNAPI尚未支持的函數的模型,影響性能的僅僅是CPU性能以及性能響應時間,這意味著DVFS和調度器響應等機制可能對結果產生巨大影響,比如Galaxy S9上的表現就要明顯優於同為Exynos 9810處理器的Note9。
儘管如此,將麒麟970與麒麟980進行對比,依然能夠展示Cortex A76的性能,以及華為的DVFS /調度器可能的改進。
接下來的測試項基於8位整數量化的NN模型。不幸的是,華為手機的NNAPI驅動程序似乎仍未提供硬件加速,這些測試沒有使用麒麟處理器上的NPU,測試結果展示的依然是CPU性能,華為表示計劃在未來版本的驅動中修正這個問題。
在使用驍龍845的設備中,一加6和Pixel 3在性能上遙遙領先,甚至相比同為驍龍845的Galaxy S9+也是如此,原因是這兩款手機都使用了高通公司最新更新的NNAPI驅動程序,該驅動程序與Android 9/P BSP一起發布,可通過HVX DSP加速NN應用。
接下來的FP16測試項終於啟用了麒麟處理器的NPU,並且在新老兩代處理器上都取得了領先的成績。在這裡麒麟980的雙核NPU終於得以體現,Mate 20展現出了巨大的領先優勢。不過一加6似乎在其NNAPI驅動程序中出現了一些非常奇怪的問題,使得它的性能比其他平台差一個數量級,不知道這項測試是跑在了其CPU上還是GPU上。
而在最後的FP32測試項中,大多數手機都再次回到CPU上進行運算,麒麟980的改進有限。
總體而言,AI-Benchmark至少驗證了華為對NPU性能的一些宣傳,不過從這些測試結果中得出的真正結論是,大多數具有NNAPI驅動程序的設備目前本身尚不成熟且功能仍然非常有限,與蘋果如今的CoreML生態系統相比相差甚遠。
麒麟980的CPU性能表現應該在很大程度上可以代表下一代驍龍8150的情況,高通或許會在CPU頻率上稍稍提升一些,但最大的問題在於內存子系統方面,高通能不能解決L4系統緩存引入的延遲懲罰問題。
而Cortex A76對於三星來說就實在是太可怕了,如果Exynos 9820所用的Exynos M4架構只是一次常規迭代,說實話在Cortex A76面前是沒什麼競爭力的。三星需要在性能和能耗比兩個方面均作出重大改進,才能與麒麟980相匹敵。
GPU方面,雖然Arm玩GPU確實比從桌面端過來的Imagination和高通(GPU團隊來自ATI)差得遠,但這個鍋恐怕還沒辦法直接甩給Arm的Mali G76架構,因為三星Exynos SoC的GPU能耗比要明顯好於麒麟SoC,兩家分別選擇了犧牲面積換性能和犧牲功耗換性能的方式。
三星Exynos 9810和8895雖然GPU面積很大(24.53mm² & 32mm²),但由於頻率只有560MHz左右,因此功耗表現尚可,Exynos 9810的能耗比甚至非常接近於驍龍845。而與三星的狂堆核心數相比,麒麟970則只使用了中等數量的核心,然後通過拉高核心頻率來榨取性能。
每種核心架構在某一工藝下,都有一個能耗比最佳的頻率區間,越過這個區間後,繼續拉高頻需要付出極大的功耗代價。麒麟970的Mali G72 MP12頻率為746MHz,功耗上升非常明顯,能耗比僅略高於使用Mali G71的Exynos 8895。
因此在理論上說,對比三星Exynos SoC,華為的麒麟SoC從未曾表現出Arm Mali GPU應有的能耗比。不過,據悉三星集成NPU的Exynos 9820也只採用了Mali G76 MP12的配置,遠不如以前動輒MP18或MP20那麼豪邁了。由此來看,華為“少核高頻”的策略,是為了給NPU騰地方不得已而為之吧,或許只能等三星Exynos 9820的具體參數和測試成績公佈後才能進一步揭秘了。
NPU方面,回顧一下此前麒麟970的測試,在麒麟980上仍然沒有看到NPU對用戶有明顯的好處,因為我們還沒有可用的軟件來使用這部分硬件。我們不清楚華為是怎樣使用NPU進行相機處理的,但除了這些自帶的第一方軟件外,NPU目前對設備體驗仍然處於一種薛定諤狀態。