從麒麟980的性能一窺Cortex A76對2019年的手機意味著什麼
距離Arm今年6月首次公佈新的Cortex A76 CPU微體系結構還不是太久,久。Cortex A76發佈時Arm在新核心的性能和效率改進方面做出了重大承諾,如今我們已經看到採用該架構芯片的手機已經上市。Cortex A76的表現是否如預期?A76對2019年的智能手機而言又意味著什麼?
是否達到Arm的性能預測?
Arm此前表示Cortex A76時鐘頻率高達3GHz,相應地性能預測都是在這個頻率上。正如Anandtech作者在5月份所寫的那樣,3GHz的頻率是一個過於樂觀的目標,2.5GHz更加現實。最終麒麟980的時鐘頻率為2.6GHz,這更符合本文作者的預期。
3GHz的Cortex A76的性能表現預計會比2.4GHz的Cortex A73(高通驍龍835的配置)整數和浮點計算分別提升1.9和2.5倍。如果是2.6Ghz的時鐘頻率,預計會有1.65和約2.15倍的性能提升。
實際情況是,麒麟980整數計算跑分提升1.77倍,浮點計算跑分超預期達到2.21倍的增長。之所以跑分超預期,可能是Arm模擬運行時是採用2MB L3,而麒麟980的芯片配置是4MB L3。
再看SPEC2006,因為有一系列更複雜,更強大的工作負載,可以更好地代表用戶期望的更廣泛的應用程序。
Arm對此項性能預測更加樂觀,因為已經進行了IPC比較以及絕對分數比較。Arm聲稱,在3GHz的絕對改進中,3.3GHz時有2.1倍的提升且“無熱約束”,在5W TDP內有1.9倍的提升。後一項的數字非常令人困惑,因為Arm的營銷這對於這到底意味著什麼是矛盾的。長期以來作者一直質疑CPU是否會以某種方式達到單線程SPEC工作負載的熱限制,結果會很糟糕。
IPC比較更直接,與Cortex A73相比將在整數和浮點中分別看到1.58倍和1.79倍的提升。
在實際測試中,麒麟980和Cortex A76提供了更多,我們看到整數和浮點分數提高了1.89倍和2.04倍。在IPC方面,基於Cortex A73的麒麟970和驍龍835的增幅更為顯著,提升分別為1.78倍和1.92倍。實際上,因為麒麟980的性能比預期的要好,所以它實際上達到了預計的3GHz Cortex A76的預計成績(基於Arm的數字),而實際只是採用2.6GHz的時鐘頻率。
內存子系統非常重要
CPU中的內存子系統似乎一直被誤解,CPU的帶寬可以非常寬,且具有任何數量的執行資源,但是無論微架構有多大,如果內存子系統(高速緩存,內存控制器)無法使設備正確地提供數據,那麼它就不重要了。過去幾年的在移動領域可以看到與過去幾十年中在桌面設備上看到的相同的工作負載的增加,而且速度正在加快。移動應用程序變得更大、更複雜,並且它們處理的數據也顯著增長。
這種變化的問題在於,如果它們無法準確地再現如今日常應用程序的微架構工作負載特徵,那麼我們通常使用的基準測試的工具可能會過時。隨著麒麟980的推出,基於GeekBench 4,我看到一些人得到了錯誤的想法,並在芯片組的實際性能方面得出了錯誤的結論。
為了解釋這一點,需要展示最新一代SoC的演變,所有這些都與固定的起始數字有關。這裡選擇驍龍835,因為它代表了一個平衡且受歡迎的手機SoC。
在SPECint2006中,分數似乎與GeekBench4的分數差別不大,這對大多數SoC都有效。唯一的重大差別來自蘋果的A11和A12芯片,這兩款芯片展現出比GB4更大的SPEC工作負荷性能。
再看SPECfp2006,除了基準測試在他們的程序中使用更多浮點數據類型的明顯事實,也看到更大比例的工作負載,其特點是對內存子系統提出了更多的需求,我們發現不同SoC之間存在更多差異。蘋果A12能夠展示出在SPECfp中比GB4 FP工作負載更大的升級改進,需要指出,蘋果新一代處理器進行了大量內存子系統性能的改進。Exynos 9810則相反,它在SPEC中的性能遠遠低於在GeekBench4中的表現,再次顯現出了芯片組的致命弱點,因為這款CPU的內存和緩存子系統在很大程度上落後於競爭對手。
在這裡要說的是,絕大多數實際使用的應用程序表現得比SPEC更像GeekBench4,最值得一提的是蘋果的新A12以及三星的Exynos 9810在兩個極端情況下對比如上所示。在更具代表性的基準測試中,例如瀏覽器JS框架性能測試(Speedometer 2.0),或者在Android端的PCMark 2.0,我們看到比SPEC更大的指令和數據壓力,乘以SPECfp體現的差異。
還有一些基準測試與工作負載表徵相反,Dhrystone或Coremark的內存佔用量非常小。在這裡,大多數基準測試將完全適合CPU的較低緩存層次結構,而不會對較大的緩存甚至DRAM施加壓力。這些仍然是他們自己基準,但不應被視為現代應用中整體性能的代表。安兔兔的CPU測試屬於這個範疇,因為它佔用空間很小,並且不會測試執行引擎和第一級緩存層次結構之外的任何部分。
海思的麒麟980以及Arm的Cortex A76在這方面似乎取得了很大的平衡,SPEC和GeekBench4之間的性能並沒有太大差異。
頂級能效,絕對性能仍然落後於蘋果
在功率和能源效率方面,Arm提出,在相同的功率使用情況下,Cortex A76的性能比Cortex A75高40%,相同的性能下,Cortex A76只使用Cortex A75 50%的功率。當然,這兩個數字的意義不是特別大,因為製程節點在發展。
看SPEC的結果它們似乎不僅僅證實了Arm的說法。正如之前提到的,根據Arm在5月份的數據進行了性能和功率預測,實際結果超過了預期。由於Cortex A76超越了IPC預測,它能夠在比3GHz估計更高效的頻率點上實現目標性能點。
結果非常出色,麒麟980的性能比驍龍845高45-48%,但完成相同的工作能量消耗少25-30%。如果要降低麒麟980的時鐘頻率或實際測量的1.9GHz A76能量效率以匹配驍龍845的性能點,可以很容易地看到麒麟980使用不到一半的能量。
對於Arm而言並不完全出乎意料的一個指標是在相同的功率下Cortex A76的性能提高40%。Arm選擇了一個750mW的任意點進行比較,這可能會使聲明準確,我們不知道這個交叉點在哪裡,並且需要更精確地測量兩個芯片組的頻率。事實上,Cortex A76是一款耗電量更大的CPU,單核有源平台的功耗上升了14-21%。
這裡可以與蘋果最新產品進行比較,麒麟980的能源效率略高於A12,這意味著兩個SoC的每瓦性能幾乎完全相同。最大區別在於,蘋果能夠實現61-74%的性能優勢,線性成本增加60-70%的功耗。
對於下一代驍龍和Exynos 9820意味著什麼?
麒麟980的出色表現對即將發布的驍龍旗艦處理器是個好事,但我們期待高通在核心時鐘頻率方面更加積極,比麒麟980的2.6GHz高一點。功率和效率的實際表現還有待觀察,但理論上性能也應該很好。
高通確實有一個方面可以變得複雜,那就是SoC的系統緩存。顯然,高通試圖在進入DRAM之前模仿蘋果進一步擁有系統範圍的緩存層次結構。對驍龍845而言,這是一把雙刃劍,因為內存延遲比驍龍835降低了,但這種降級似乎導致驍龍845中的Cortex A75可能無法實現其全部潛力。希望新一代SoC在這方面的影響較小,可以期待良好的性能數據。
三星上周正式發布了Exynos 9820,但情況不太樂觀。Exynos 9810在基準測試中表現不佳,不僅因為調度程序問題,還因為微體系結構似乎並不平衡。麒麟980能夠超過Exynos 9810的峰值性能,同時消耗不到一半的能量。在更合理的2.3GHz頻率點,性能差距擴大到23-30%,仍然表現出比麒麟980約42%-47%的能效劣勢。
三星稱,Exynos 9820的性能提升20%或功耗提高40%,這裡的關鍵字是“或”。以2.7GHz作為基準比較,20%的性能提升可能會與Cortex A76競爭,但芯片的糟糕能效仍將保持不變。同樣,將更高效的2.3GHz結果作為基準性能,效率提高40%將與麒麟980的效率相匹配,但性能不足。
三星的市場數據不夠好,從表現看,如果結果如此平衡那麼Exynos 9820的競爭力讓人懷疑。唯一的希望是,就像蘋果對外宣傳的A12的性能低於實際表現,S.LSI正在低估Exynos 9820的改進。唯一可以看到的方案是聲稱性能跳躍僅代表GeekBench4分數,SPEC的實際改進和更實際的工作負載看到了更大的提升,縮小了上面討論過的兩個基準之間的比率差距,希望是後一種情況。
Cortex A76是一款非常強勁的CPU
隨著Deimos和Hercules的曝光,Arm承諾下一代CPU性能提升15-20%。Arm的優勢在於在強大的功率範圍內提供一整套卓越的性能。雖然PPA指標不是消費者本身應該關心的東西,但Arm也能夠使CPU保持極小。
我們剛看到Arm新的服務器核心–Ares應該是Enyo / A76的基礎設施,也是最近宣布的Neoverse系列CPU內核的一部分。在單個芯片上設置這種機芯的32或64個核心並不難。總體而言,我們期待未來幾個月更多令人興奮的產品,無論是在移動和基礎設施領域。