首頁 > 軟體

ARM新核心亮相,除了小核其他都在擠牙膏

2021-05-27 01:31:06

今年3月,ARM方面公佈了十年來的首個新晶片架構ARMv9,並宣稱有著更好的安全性、更高的AI效能,以及更快總體效能的這一架構未來將為3000億顆晶片賦能。

日前,ARM也正式對外公佈了基於ARMv9的3款CPU與3款GPU核心設計。其中,三款新的CPU分別為旗艦核心Cortex-X2、高效能核心Cortex-A710,以及高能效核心Cortex-A510,而三款新的GPU核心,則分別是覆蓋高中低不同定位的Mali-G710、Mali-G510、Mali-G310。

作為目前移動端最具影響力的IP,ARM的新核心設計基本上可以視作代表著2022年Android機型CPU效能表現,以及部分晶片廠商的GPU效能。也就是說,Cortex-X2、Cortex-A710、Cortex-A510的具體表現,將直接決定高通、聯發科、三星乃至華為旗下SoC在未來的發揮。

事實上早在2011年,由於ARMv8架構中首次引入了AArch64架構,也對64位架構的ARM處理器產生的革命性提升。而新一代的在ARMv9,則更多的是增加了SIMD向量指令的擴展支援(SVE2)和可信計算架構,這就導致在這一基礎上的Cortex-X2、Cortex-A710、Cortex-A510或許並不會有跨越式的升級。

根據ARM方面的說法,Cortex-X2相比於前一代的Cortex-X1,在整數效能方面有著16%的提升,但機器學習效能則可以翻一番;Cortex-A710相比於上代Cortex-A78,效能提升10%、能效提升30%;而時隔4年後更新的Cortex-A510小核心,則比老當益壯的Cortex-A55效能提升35%,能效提升20%。

當然,作為被譽為「文字遊戲大師」的ARM,在PPT中提供具有誤導性的說辭其實有著多次的前科。例如其曾在宣傳Cortex-A76時拿出了3.0GHz的Cortex-A76,但這款產品在其整個生命週期中都沒有被下游廠商實際生產過,又或者是在對比中不使用控制變數法。

儘管此次在對Cortex-X2的介紹中,ARM稱其整數效能可提升16%,但在PPT中則清晰的表明,去年釋出時最高可配置到8MB L3(三級快取)的Cortex X1,在這裡L3則只有4MB。同時,Cortex-X1的流水線長度從11個指令週期也減少到了10個,分派階段從2個週期減少到1個,ROB(重排序快取)增大了最多30%,並且還將L2快取的TLB(轉譯後備緩衝器)加大、資料預讀取功能增強。

所以不難發現,Cortex-X2的效能提升所靠的或是提高快取、加強訪存效能、優化程序間通訊延時,走的還是過去的老路,並且更為重要的一點是,在ARM方面公佈的能耗比曲線上,Cortex-X2的走勢與Cortex-X1類似,同樣是最高效能釋放需要更高功耗來支援。所以在外界看來,如果使用Cortex-X2的SoC在製程工藝上不進行提升,或許其又將成為讓手機廠商頭疼的存在。

在說完了將決定未來Android旗艦機型效能天花板的Cortex-X2後,接下來我們不妨來看看Cortex-A710。在ARM的CPU架構改為大-中-小的三叢集架構後,中核就開始更加的追求能耗比,其所負擔的職責則是儘可能維持功耗穩定的同時來提高效能。

但是需要注意的是,在ARM方面公佈的PPT中,所謂「效能提升10%、能效提升30%」的情況並不會同時發生。實際上,當Cortex-A710採用4MB二級快取、8MB三級快取的情況下,相比於Cortex-A78,前者在同功耗下效能提升10%,或者在同性能下,功耗可降低30%。然而在這張PPT中,Cortex-X2+Cortex-A710組合是共享的8MB L3,所以有業內人士認為,Cortex-A710與前代相比,最大的變化可能就是命名有所改變了。

如果說ARM奧斯丁團隊出品的Cortex-X2和Cortex-A710,僅僅是通過增量更新來實現「微創新」,那麼出自ARM劍橋團隊的Cortex-A510,無疑就顯得更有誠意了。據悉,Cortex-A510此次使用了全新的混合核心微架構,可以將兩個Cortex-A510核心組成一個「核心對(complex)」,共享L2和FP/NEON管線,並將浮點部分獨立出來。看到這裡,相信有些朋友可能就會覺得有些熟悉了,並且確實也有觀點認為,這套兩個核心共享浮點單元的方案或是從當年AMD推土機架構中所汲取的靈感。

對於Cortex-A510而言,這樣設計的好處,在於其可以更好地適應日常軟體吃整數效能、遊戲吃浮點效能的特色。事實上,小核目前也是各大晶片廠商發力的關鍵,畢竟在使用者的日常使用中,小核心是最常被用到的。此前各Android機型晶片的小核效能普遍一般,因此只要任務稍微繁重一些就會呼叫大核,而這也被外界認為是高通驍龍、聯發科天璣、華為麒麟等晶片對用能耗控制不算很好的原因之一,而蘋果的A系列晶片小核效能極強,例如A14的小核就已經能夠媲美Cortex-A76,所以這也是iPhone能夠配備更小容量電池的重要原因之一。

然而遺憾的是,即便是在創新力度較大的Cortex-A510上,ARM方面還是繼續沿用了田忌賽馬式的宣傳策略。其宣稱Cortex-A510的效能接近Cortex-A73,且效能比Cortex-A55提升了30%,但沒說指明的,是這一對比建立在使用了256KB L28MB L3的Cortex-A510與128KB L2/4MB L3的Cortex-A55基礎上。並且更為致命的一點是,在功耗曲線中,Cortex-A510在中低頻下的功耗表現甚至不如Cortex-A55,而峰值功耗也更是高出了一大截。

所以總的來說,如果僅僅只是從紙面資料來看,ARM這次依舊是典型的在擠牙膏,除了Cortex-A510外,Cortex-X2和Cortex-A710的效能提升基本靠的是增加快取。但作為Android陣營最大的SoC供應商,高通在「魔改」ARM的IP核時又最喜歡減少快取設定,所以在實際應用中,搭載ARMv9指令集的新款SoC具體表現,現階段還不太好預估。

事實上,前途未卜的還有國內的APP開發者,在官方公佈的資訊中ARM方面特意提及了Cortex-X2和Cortex-A510都是僅限AArch64的微體系結構,只有Cortex-A710是照顧中國客戶需求而保留了對AArch32的相容。所以這應該說是ARM在客觀上通過硬體的限制,讓國內的開發者儘快進入64位時代。

如果你現在使用appchecker這款應用來檢查自己手機上的APP就會發現,大量的主流應用當下還停留在32位。如果不做出改變,明年手機廠商與晶片廠商在SoC排程策略上或許將會非常的頭疼,畢竟提供效能的大核與負責日常的小核全都不相容的情況下,即享受不到Cortex-A510帶來的能效進步和效能提升,也發揮不了Cortex-X2的效能。而全部使用Cortex-A710,則無疑會讓手機的續航表現並不好看。

考慮到目前國內Android生態中,手機廠商所代表的硬核聯盟佔據著重要的地位,所以在ARM給掌握了大量渠道資源的手機廠商出難題的情況下,其自然也會加緊推進64位APP的升級。因此即便ARM這一代的IP核誠意不足,但業界勢必還是希望ARMv9能夠快速普及,畢竟只要可以推進國內Android生態儘快升級到64位,就意味著所有基於ARMv8的SoC都將迎來更好的效能釋放,而最終受益的則將會是所有Android使用者。


IT145.com E-mail:sddin#qq.com