藍色



從“不服跑個分”到“不胡跑個昏”,這么多年過去移動SoC(我們通常所稱的處理器)的性能發展從最初為了滿足需求和體驗提升、到了越來越為市場宣傳服務的境地;而從另一個角度來看,它也遇到了跟桌面平臺處理器一樣的處境——硬件更新的速度遠大于軟件,或許是時候對那些荒誕的跑分天王們說再見了。不過在這之前,還是讓我們來看看今年上半年智能手機領域的旗艦級別SoC平臺的性能相比一年前、兩年前又達到了怎樣的高度。
“大小核”普及 A57/A53代替A15/A9/A7
相比兩年前的旗艦SoC行列還能看到公版A15、高通自主微架構Krait、以及乳臭未干還只能開四核的big.LITTLE,2015年的這一領域就顯得單調的很了,ARM公版64位ARMv8指令集的big.LITTLE微架構一統江山,八核暫時成了標配;到底是蘋果引得64位迅速普及到Android陣營還是這本來就是大勢所趨,反正今天的時代已成定局。
另一方面,核心選擇上,今年的旗艦級別SoC也都從之前的A7、A15或者兩者的組合而升級到了A53、A57和兩者的組合;Cortex-A53/A57發布于2012年11月,隸屬ARM首個采用64位指令集ARMv8的Cortex-A50系列。
且不說今年的頂尖產品性能相比一兩年前如何,這么多年的智能機生涯當中,以iPhone為例,今天的iPhone 6相比八年前的第一代iPhone、CPU性能提升了50倍,GPU性能也提升了84倍。
與之相對應的,我們在智能機上獲得的體驗也從十多年前擠在一片176x144的1英寸屏幕上面、用著以今天的眼光來看根本就不可用的GPRS網絡登錄著Java版本QQ的窘況,飛升到了如今用著裝不進褲兜的大屏和超越游戲主機性能級別的處理器看4K視頻的時代。
今年我們的對比產品選擇了高通驍龍810、三星Exynos 7420、聯發科MT6795T以及來自海思的麒麟935;相比兩年我們選擇的高通、三星、NVIDIA、Intel四個公司的產品,這里新加了性能終于靠6795擠進前列的MTK,以及自主品牌海思麒麟。
時過境遷,NVIDIA也早已推出智能手機領域,Intel的方案今年也并未在高端機行列有任何動作;IC廠商雖不及終端廠商競爭之殘酷,也是落得個有人不知何處去、有人依舊笑春風。
測試平臺組成及參數簡介
驍龍810為了快速向64位過渡暫時放棄了自主架構,采用Cortex-A57+Cortex-A53這樣的組合,分管大小任務,中間采用CCI-400互聯;除此之外,驍龍810還采用了新一代Adreno 430 GPU,相比上一代性能提升30%。Adreno 430運行頻率為最高600MHz,與驍龍805當中的Adreno 420相同。
為了緩解內存帶來的瓶頸,驍龍810也配備了雙通道32位帶寬的LPDDR4-1555存儲,據稱能耗方面相比LPDDR3節省20%,內存帶寬峰值高達24.9GB/s。
三星Exynso 7420同樣采用A57+A53的big.LITTLE架構,其中A57的最高頻率將達到2.1GHz,A53部分則為1.5GHz,集成的GPU為Mali-T760 MP8,最高內存帶寬可達25.6GB/s。
值得注意的是,Exynos 7420也是三星采用FinFET 3D晶體管技術和14nm制成的移動處理器,在處理器的功耗和發熱上都有先天優勢,其中功耗上相比上一代20nm處理器減少30-35%。
MT6795(T)隸屬于MTK旗下的新品牌“曦力”Helio X10系列,該處理器將采用64位Cortex-A53架構并且擁有八個核心,主頻最高可達2.2GHz,依舊采用了28納米制程;此外該處理器支持頻率為933MHz的LPDDR3內存,支持2K屏幕。在GPU方面,該機處理器將采用PowerVR的G6200系列GPU。
這里的測試平臺魅族MX5采用的是Turbo的版本也就是CPU主頻提升至2.2GHz(具體2.16GHz)的MT6795T版本,以下簡稱MT6795。
海思麒麟935采用四個2.2GHz主頻的A53e核心+四個1.5GHz主頻A53核心,big.LITTLE設計。和ARM Cortex-A53無法運行在高主頻上不同,華為解決了這一問題,在Cortex-A53的基礎上自主研發了Library,形成了全新的A53架構,使得處理器能穩定運行在2.0GHz上。同時也讓新的A53核心成為了主要的大核心。
華為選擇這樣的A53設計能夠更好的平衡功耗和性能,這樣既讓大核心性能得到了一定提升,又把功耗控制在可接受范圍。
總結一下四款SoC的異同
其中Exynos 7420與驍龍810顯然是為性能誕生的產物,CPU部分采用了大小核的八核組合,而MT6795與麒麟935顯然是更加看重功耗的而性能妥協的產物,CPU部分采用八小核的組成;而且后者當中麒麟935的配置相比MT6795更弱,八顆A53當中只有四顆能夠提升到2.2GHz頻率。
而GPU部分,驍龍810雖然妥協于公版CPU但在GPU部分還是沿用了自己的Adreno系列,Exynos 7420也沿用ARM Mali系列,MT6795沿用Imagination的PowerVR,海思也早已明智的棄用Vivante換做ARM Mali。
big.LITTLE的前世今生
回顧當年big.LITTLE的誕生歷程,其實這完全是一個為降低功耗而誕生的微架構,因為相比起來性能提升顯得更加容易。
在此之前的Cortex-A15雖然在當時性能強大,但與之前的A7、A9相比增加單位功耗所帶來的性能提升越來越不明顯,如果再追求無止境的性能提升———甚至只用四核A15——必然是功耗的不可控,于是A7這樣功耗很小但性能尚可的核心便作為輔助加入進來成為了初代big.LITTLE的標準組成。
就目前來看這樣的組成還是比較合理的,其一我們無法用功耗很高的A15、A57核心去面對移動終端SoC平臺的多核趨勢,其二我們的絕大多數日常任務也根本用不到更多顆A15、A57這樣的大核提供的超高性能。
同為公版為何性能不一?
回到我們的測試當中,同樣是“四大+四小”的Exynos 7420與驍龍810、或者同樣是“四小+四小”的MT6795與麒麟935,既然核心組成與頻率都類似,為什么兩者之間還會有性能區別呢?除了制程之外,也要提到當年因為“真假八核”的爭論而進入人們視線的“CPU核心切換和調度”問題。這個問題經歷了“集群遷移”“CPU遷移”“HMP”三個階段,我們來具體看看區別。
集群遷移方式,只能同時全開大核或同時全開小核,最高性能 = 單個大核性能 X 大核個數;實現最簡單,切換靈活度低。
CPU遷移方式,每個大核與每個小核構成虛擬核心,每個虛擬核心同時只允許打開一個大核或一個小核,最高性能 =單個大核性能 X 大核個數;切換靈活度中等。
HMP方式,所有核心和同時全開,最高性能 = 單個大核性能 X 大核個數 + 單個小核性能 X 小核個數;實現起來最復雜,切換靈活度高。
世界上首款big.LITTLE架構的SoC為三星Exynos 5410(Octa),用于三星Galaxy S4。Exynos 5410的八個CPU核心調度采用第二種方式,也就是說物理上Exynos Octa當中有A7與A15兩個集群(CLUSTER 0,1),但是從邏輯上我們可以將每個A7與每個A15的組合看作是一個虛擬CPU,每個虛擬CPU同一時刻僅允許一個A7或一個A15工作,這就決定了Exynos Octa當中最多僅能有四個核心同時開啟。
而不久之后的2013年底,“八核全開”的異構多處理HMP(Heterogeneous Multi-Processing)調度機制就被用到了隨后的big.LITTLE架構處理器上,我們才真正迎來八核時代。
具體到此次測試當中的四款SoC所用到的調度方式,似乎只有聯發科在一直宣傳其自主開發的Core Pilot技術,白皮書當中提到它基于開源HMP技術,在核心調度上綜合考慮了如何獲得最大性能以及更小的功耗水平。
CPU性能單項測試部分
跟以往一樣,由于智能機集成度太高,處理器之外的其他部分都可能影響到處理器最終性能表現,而目前的普遍測試條件所限我們無法規避這些誤差,而且理想狀態下的零誤差就成了拿各平臺的開發機測試而忽略了成品機型的真實體驗;因此開始綜合性能測試之前有必要重申幾點關乎整個測試過程的測試條件限制。
特別值得注意的是:
1、關于優化,由于各廠商對于處理器平臺的優化功力不同,容易造成對該平臺本身的性能增強或減弱;雖然我們用相似屏幕分辨率(Exynos 7420僅有1440p),相似內存容量挑選了除處理器外其他參數盡量相同的機型來規避誤差,但仍然有可能由于上述原因造成實際測試成績與各處理器平臺理論成績的差距。
2、關于降頻,大部分機型出于續航和熱量控制兩方面的考慮,不能夠持續高負載的運行,長時間運行會出現降頻現象;由于不同廠商采取的溫控策略不同,我們無法統一,因此這也會對最終結果帶來誤差。
3、關于測試條件,所有機型測試過程統一在26攝氏度恒定室溫條件下進行,每項測試每次完成之后自然冷卻至室溫,再重新進行第二次或者其他項測試,以此來規避高溫降頻對于最終性能的影響。
4、關于電池策略,測試機型僅魅族MX5包含“均衡模式”“性能模式”等電池策略,為了探究各平臺的最大性能,有該策略的機型開啟“高性能模式”,其他保持默認模式。
5、關于型號區別,由于各個廠商的調校,不同平臺最終出貨可能并不處于它的最高主頻上;這部分誤差同樣需要考慮。
6、關于續航發熱,由于不同機型的續航發熱不僅與處理器有關,還與屏幕、射頻信號耗電、各機型散熱措施等有著非常大的關系,因此這里的測試不包含這兩方面內容。
性能單項測試部分
這里采用GeekBench以及幾種Javascript Benchmark測試CPU部分的性能,以及采用PCMark for Android測試系統整體性能。
GeekBench 3.0
GeekBench 3.0采用對單核心和多核心分別的方式對CPU性能進行測試,主要衡量CPU和內存的運算能力,得分分四個大項——整數運算、浮點運算、內存性能以及內存帶寬性能。
WebXPRT
WebXPRT主要針對網頁瀏覽,在JavaScript和HTML 5兩方面進行測試;WebXPRT基于瀏覽器,可以適配于IE、Chrome、Firefox和Safari等。在Web XPRT的測試中,會進行大量模擬瀏覽網頁時的圖片、數據、圖表讀取以及編輯操作七次,測試的時間也較長,從而得到更加全面的結果。
Google Octane v2
作為Google V8之后發布的新的測試套件Octane,包含以各種JavaScript密集型使用場景作為模型,從2D/3D圖形渲染,到瀏覽器內代碼編譯。該套件包含了V8基準測試套件中的所有測試,并且添加了一套新的基準測試程序,這些程序來自一些著名的web應用程序和庫。
PCMark for Android
PCMark可考察設備的性能、電池續航能力,能看出設備在上網、看視頻、處理文檔、編輯照片等日常使用中的表現。測試基于日常應用,而非抽象的理論算法;測試成績也可反應真實性能,而非可望而不可即的最高性能。
可以看出,理論數據部分、也就是偏重純跑分的幾項測試Exynos 7420和驍龍810兩者都毫無疑問的領先,而八核同為2.2GHz的MT6795也要比麒麟935更強。但偏重實際使用的場景、比如WebXPRT的2015版本以及PCMark四者的差距并不算大。
我們可以試著通過PCMark跑分過程當中的監控數據來找找原因,驍龍810整個測試中的CPU頻率幾乎只維持在300MHz左右就能完成這些日常任務,MT6795甚至只需要更低的CPU頻率;但也由于如此,驍龍810單核性能較高因此CPU占用率遠低于MT6795。
GPU性能單項測試部分
接下來我們首先采用來自Futuremark的3DMark安卓版本,對設備的圖形處理能力進行測試,每個場景通過兩段動畫檢驗GPU的圖形處理能力,另有一段動畫用以檢測CPU的物理渲染能力,總成績中GPU圖形測試所占比重更大。
3DMark
值得一提的是,3DMark如今為2K屏幕設備加入了要求更高的場景SlingShot,它用于考察手機、平板機的OpenGL ES 3.1/3.0圖形性能,負載相當之高。該測試基于PC版的Cloud Gate模塊改造而來,可以看做是它的輕量版,針對移動平臺而設計,能最大程度地壓榨移動GPU圖形性能,全面考察各種API功能,包括多渲染目標、即時渲染、統一緩沖、轉換反饋,還有大量的體積光照、后期處理效果。
現在看來它的作用類似GLBenchmark 3.0當中的“Manhattan”,就是讓你四五千買的手機跑游戲也跑不了幾幀;放張三星Galaxy S6的2560x1440分辨率截圖你們感受一下。
實際測試部分,“次世代”場景SlingShot當中還是Exynos 7420以及驍龍810兩家領先,但由于該場景實在負載過重,這兩個最好成績也只有幾個FPS;MT6795由于我們測試了多款該平臺手機都無法支持因此無成績,麒麟935相比前兩者明顯要弱不少。
而GLBenchmark 3.0部分,單看理論成績也就是Offscreen,兩者表現都很出色,驍龍810略有小勝;而Onscreen成績,Exynos 7420也因受三星Galaxy S6的屏幕分辨率影響而略有后退。與此同時MT6795的性能幾乎只是驍龍810的一半,麒麟935幾乎只是MT6795的一半。
綜合各方面來看,Adreno 4系列可以說依然是目前Android平臺最好的GPU(當然驍龍820的發布已經帶來了5系列)是重度游戲用戶的首選;而MT6795以及麒麟935所提供的GPU則不敢保證在大型游戲當中提供太好的性能。
而回到以往我們常用到的IceStorm場景的“Extreme”模式,“圖形”上依然是Exynos 7420以及驍龍810領先,特別是驍龍810的Adreno表現依然是最好的,麒麟935依然最弱。
GLBenchmark 3.0
而GLBenchmark 3.0部分,單看理論成績也就是Offscreen,兩者表現都很出色,驍龍810略有小勝;而Onscreen成績,Exynos 7420也因受三星Galaxy S6的屏幕分辨率影響而略有后退。與此同時MT6795的性能幾乎只是驍龍810的一半,麒麟935幾乎只是MT6795的一半。
綜合各方面來看,Adreno 4系列可以說依然是目前Android平臺最好的GPU(當然驍龍820的發布已經帶來了5系列)是重度游戲用戶的首選;而MT6795以及麒麟935所提供的GPU則不敢保證在大型游戲當中提供太好的性能。
各平臺長效性能工作方式
性能足夠、但是否能夠持久?接下來我們再同以往一樣看看四款SoC在長時間工作下的降頻狀況。
我們記錄了四個平臺在運行《真實賽車3》時的CPU頻率變化曲線,采用長效性能工作方式(類比日常使用狀態,長時間內的均衡性能表現,計時10分鐘)。
此外,在預測試當中觀察到前四核通常占用率較高而后四核占用率很低,因此我們也在整體分析之后加入了對前四核表現的重點解析。
圖表解釋:Exynos 7420與驍龍810的CPU1、2、3、4為Cortex-A53小核,CPU5、6、7、8為Cortex-A57大核;麒麟935的CPU1、2、3、4為1.5GHz Cortex-A53小核,CPU5、6、7、8為2.2GHz Cortex-A53小核;MT6795無此區別。
Exynos 7420這款為性能而生的SoC在這種重負載條件下還是表現的非常積極的,小核心全程都很積極的參與到其中,頻率切換也十分頻繁,大部分維持在900~1200MHz的頻率下,但1.5GHz的最高頻也很常見。至于大核則在游戲剛開始的載入過程中啟用了一段時間的2.1GHz最高頻,游戲大部分過程當中以不到1GHz的頻率運行。
而驍龍810的情況也與之類似,甚至小核在整個過程當中有超過一半的時間在以最高頻運行,在初始渲染工作中有兩顆大核加入工作,游戲過程中小核降頻的階段也有大核來頂替;另外兩個大核則在整個過程當中從未開啟。
而MT6795的“省電”主義也在這里得到了實際體現,整個過程前四個核心大多數條件下運行在1.2GHz左右,也有較頻繁的800MHz~2.1GHz左右之間的切換;剩下的四個核心幾乎從未開啟……這也導致了CPU整個使用率非常低,但這也是以犧牲游戲效果為代價的,它的游戲幀率并沒有前兩者高。
麒麟935方面,四顆低頻小核整個過程維持在800MHz~1GHz左右,四顆高頻小核在維持了十幾秒的2.2GHz之后降到了1.4GHz左右,繼而又降至1GHz左右維持到測試結束。
4K視頻播放 CPU使用情況
可以看出上面的游戲過程當中,各個平臺的CPU調度情況還是有不小差異的,這里我們再附加一個播放4K視頻的測試,來看看該過程當中各個平臺的CPU使用情況。(由于游戲過程的四大核使用率并不高或者幾乎沒有,這里只追蹤四小核)
情況與上面的游戲過程類似,Exynos 7420以及驍龍810依然是十分滿血的狀態,CPU調度和調整也十分頻繁,特別是驍龍810;而MT6795依然很懶,麒麟935依然出現隨時間降頻的狀況。這樣造成的實際體驗區別就是,前兩者在播放流暢度上比后兩者更好,而麒麟935無法實現流暢播放,畢竟它也并不支持4K解碼。
我們到底需要多少核?
在摩爾定律還適用的時候(包括現在), 提高芯片的性能有如下兩種方法:1.在有限面積內加入更多的場效應管, 或者 2.提高時鐘。乍看起來,似乎目前除了跑分軟件之外并沒有能夠需要八核全開并且持久提供性能的應用,那么目前的八核普及到底是一種資源浪費、還是確有需求呢?
如果說是確有必要,拿我們測試當中負載最高的3DMark SlingShot場景來說,偏重CPU的Physics測試當中CPU頻率也只達到了稍高于1.2GHz左右的水平,而在Graphics測試當中始終維持不到1.2GHz的水平;同樣在我們進行的所有測試幾乎所有平臺的四個大核從未開啟。
如果說是一種資源浪費,但某些條件下性能確有它的可用武之處;比如《狂野飆車8》《真實賽車3》這樣的游戲,性能最佳的兩個平臺都能持續維持30FPS的畫面幀率保證游戲流暢運行,驍龍810甚至能夠提供平均40FPS、最高60FPS的流暢度,而其余兩個平臺則沒有這樣的水準。
所以這看起來是個無解的問題,既然存在的便是合理的,我們暫且從實用角度來探討一下八核存在的意義。這里以驍龍810平臺為例。
可以發現,在以目前的標準來看中度以至重度負載的APP當中,驍龍810的策略幾乎是四顆小核心同步運行,在任務需求較高時可以保持長時間滿載,任務降低時調低頻率;而在進入APP、網頁新建與切換這樣的操作當中,可以看到大核開啟加入工作。
盡管我們不需要經常跑分來證明手里的手機SoC的性能、換句話說也并不一直需要它們的最佳性能來支持我們的日常使用,但通常狀況下八核存在還是有一定意義的,比如在載入APP、切換地圖網頁、載入游戲、處理和保存高分辨率照片等情況下,可以利用大核的開啟有效提高處理速度、縮短等待時間。
2015旗艦處理器橫評結論
Exynos 7420的成功很大程度歸功于工藝,以及三星一如既往追求的高規格;14nm的制程在手機上帶給我們的驚喜如同Core M在PC上帶給我們的驚喜,是目前性能與功耗的平衡最佳的旗艦平臺;無論是以往選擇驍龍系列還是今年的Exynos 7,三星從未在性能配置上有所妥協;不過三星今年面臨的可遠不止這么簡單的問題。
驍龍810雖然失去了去年800、801那樣璀璨的光環,但注定還是會被除三星外的眾多廠商選擇為旗艦機的處理器方案;高通以往對于公版CPU的自主設計能力并沒有在810上面體現,但Adreno GPU的表現依然沒有落后,好在驍龍820已經發布,按照高通以往的靠譜程度來看,起碼性能部分的提升是值得相信的。自主架構加16nm工藝,驍龍820還是有望拿回昔日的聲譽。此外高通也有著其他平臺沒有的集成度、多媒體性及基帶優勢,今年驍龍820的看點在這方面也是頗多。
MT6795剛讓聯發科夠著點兒旗艦機的榮譽感,就讓799的紅米Note 2給拉回去了…除了親民的價位,MT6795的低功耗也是給我們印象深刻的地方;但我們的測試發現這樣的表現一部分原因來自于它的CPU調度并不積極,很多實際應用當中CPU工作頻率并不高、占用率也很低,類比規格類似的麒麟935你會在實際使用當中體會到細微的流暢度差距。至于聯發科未來的Helio X20的十核心SoC會不會在這方面更加不保守一點,就需要時間來證明了。
國產芯麒麟935在參數黨看起來過于保守,不僅CPU部分僅采用了全為A53的小核心,GPU部分也只采用了Mali-T600系列的產品,再加上工藝也沒有什么優勢,擠進高端機行列也算十分勉強,不過傳說中的麒麟950就應該名副其實了;據稱海思麒麟950將采用4個A53和4個A72八核架構,GPU升級為ARM Mali-T880,最大支持4200萬像素攝像頭;這樣激進的國產芯還是很值得期待的。□