驍龍820是高通SoC版圖上的一個里程碑,其無論絕對性能還是能效比,對比驍龍808/810都有大幅度提升,而且商業(yè)上也非常成功。而更重要的是,這背后是高通對移動計算平臺的看法和布局——異構(gòu)計算:
1.經(jīng)過大幅增強(qiáng)的Hexagon 680 DSP(digital signal processor數(shù)字信號處理器)有了自己的獨(dú)立介紹,后者支持Hexagon矢量擴(kuò)展(Hexagon Vector Extensions/HVX),負(fù)責(zé)圖像處理應(yīng)用中的計算負(fù)載(以往在CPU/GPU上相對更費(fèi)電的虛擬現(xiàn)實、增強(qiáng)現(xiàn)實、圖像處理、視頻處理、計算視覺等任務(wù)可交給DSP去更高效率地處理);
2.上面有高通第一個自主構(gòu)架的64位CPU核心——Kryo,其重點(diǎn)提升了浮點(diǎn)運(yùn)算性能;
3.加入了升級后的 Adreno GPU ,更強(qiáng)的ALU(邏輯運(yùn)算單單元)除了提升體驗外,還讓人工智能、機(jī)器學(xué)習(xí)(物體識別)、照片和視頻中的成像優(yōu)化和AR/VR體驗提升等成為可能。
驍龍835構(gòu)架組成
在這個理念的基礎(chǔ)上,驍龍835現(xiàn)在是高通移動平臺的一部分,這個擁有超過30億個晶體管的SoC(然而蘋果16年9月推出的A10處理器已經(jīng)有33億個晶體管了)是首個使用三星10nm工藝的產(chǎn)品,最終讓封裝面積對比驍龍820減少了35%。新的CPU構(gòu)架和X16 LTE基帶是當(dāng)中最重要的改變,其基帶已經(jīng)可以提供最高1Gbps的下載速度(Cat.16),SoC里的其他部分也得到了一些相應(yīng)的小升級。
三代驍龍參數(shù)對比
高通從驍龍800那一代開始就有請媒體到高通加州圣地亞哥總部,以進(jìn)行功能演示和有限測試的習(xí)慣,當(dāng)然,是通過高通自己的原型機(jī)(MDP移動開發(fā)平臺),后者是用于進(jìn)行軟硬件測試,具備完整功能的手機(jī)或平板,只是它們的體型會比手機(jī)要大一圈。當(dāng)年的驍龍810被放在了平板測試機(jī)上,而820的測試機(jī)是一部有6.2英寸巨屏的手機(jī),到了835這一代,測試原型機(jī)繼續(xù)變小,變成了5.5英寸2K分辨率屏幕,搭載6G內(nèi)存和2850mAh電池的手機(jī)。
原型機(jī)變小是個好趨勢,因為機(jī)器越小,可以用來吸收和分散熱量的面積就越小,這側(cè)面說明了驍龍835的功耗會進(jìn)一步縮小。當(dāng)然,這需要精確的功率測試才能確認(rèn)。因為測試時間有限,所以我們專注于CPU/GPU和內(nèi)存性能測試。注意,我們這里測試的是原型機(jī)和非正式版的系統(tǒng),所以結(jié)果僅供參考。量產(chǎn)版很有可能會有比一定的出入。
CPU部分
820上的Kryo是高通第一個全自主設(shè)計的64位CPU,這個獨(dú)特的構(gòu)架在浮點(diǎn)的IPC性能很強(qiáng)(IPC全稱Instruction Per Clock cycle,指每周期可處理的指令數(shù),可以籠統(tǒng)理解性能=IPC*頻率),但整數(shù)IPC性能還不如ARM之前的A57構(gòu)架,而且能效比也要低一點(diǎn)。比起使用修改820的4核Kryo構(gòu)架,高通在835走了一條完全不同的道路。
新的Kryo280構(gòu)架,除了名字,和原來的Kryo構(gòu)架沒有任何的傳承關(guān)系。驍龍835上采用了8核心大小核構(gòu)架,由4個負(fù)責(zé)極限性能輸出的大核,和4個追求“能效比”的小核組成。而這個構(gòu)架最特殊的地方,其實是它是首個對ARM新構(gòu)架進(jìn)行改進(jìn)的產(chǎn)品。BoC許可讓廠商可以根據(jù)需求對構(gòu)架進(jìn)行調(diào)整,特別是對指令預(yù)取區(qū)和發(fā)射隊列上的修改,但構(gòu)架里某些部分不在許可范圍內(nèi)。包括解碼器和執(zhí)行管線都是動不了的,畢竟改動他們的工程太大了。高通沒有公開它是基于ARM那個構(gòu)架修改的,但高通表示大小核CPU都是半自主設(shè)計的構(gòu)架,而內(nèi)存控制器也是高通自己設(shè)計的。
驍龍835的 Kryo 280 CPU在整數(shù)運(yùn)算IPC性能(每周期可處理的指令數(shù))對比820/821有明顯的提升,這是我們沒預(yù)料到的,畢竟Kryo核心的長處不是整數(shù)運(yùn)算。雖然大部分測試中都有大增長,但JPEG,Canny和Camera等部分測試出現(xiàn)了倒退,這個特征和我們在Kirin 960上的A73表現(xiàn)很像。這些整數(shù)測試的成績和L1/L2緩存的行為,都和A73獨(dú)特的表現(xiàn)很類似,Kryo 280可能就是基于ARM最新的A73構(gòu)架改的。
Geekbench 4單線程整數(shù)運(yùn)算小項目成績
我們簡單對比一下驍龍835和Kirin 960在Geekbench 4的整數(shù)測試成績,它們的子項目成績的類似程度,可不是頻率和正常的測試變量可以造成的。它們的測試成績里,只有極少數(shù)特殊的項目有差異,范圍在-5%-9%之間。這再次說明了,在BoC許可內(nèi)做小修改后的半自主構(gòu)架,其成績其實也是可以預(yù)測的。
把頻率考慮進(jìn)去之后(上表)得出每Mhz獲得的分?jǐn)?shù)(意義接近同頻性能),這會更加容易比較不同構(gòu)架之間的IPC性能。Kryo 280這種半自主設(shè)計的構(gòu)架,成績和Kirin960上的A73并沒有很大分別,只是比A72高了6%,比A57高了14%,比起前代的驍龍820/821高了整整22%(因為Kryo核心本身在LLVM和HTML5 DOM上的表現(xiàn)不佳,拖低了820/821的分?jǐn)?shù))。驍龍835的成績無法橫掃其他旗艦產(chǎn)品,和Kirin 960上的A73一樣,小項目測試的結(jié)果和前代對比也是互有高低的。
Geekbench 4單線程浮點(diǎn)運(yùn)算小項目成績
驍龍835的Kryo 280在820本來強(qiáng)項的浮點(diǎn)測試中的分?jǐn)?shù)出現(xiàn)了明顯的倒退,甚至還輸給了A72。結(jié)果依舊和 Kirin 960的A73很像,連小項目的測試分?jǐn)?shù)也很接近。
A73相對A72小幅倒退的部分,也是Kyro 280倒退的部分,這有點(diǎn)出乎我們的預(yù)料。因為他們的NEON執(zhí)行單元和A72幾乎沒有變化。如果硬要說區(qū)別的話,A72在前端延遲、指令預(yù)取區(qū)和內(nèi)存系統(tǒng)上會占優(yōu)一些,但幅度不大。A73在指令解碼上的劣勢會影響成績,但不會對全局造成大的影響。對比A72,Kirin 960的A73和驍龍835D Kryo 280 都出現(xiàn)了 L2緩存讀/寫帶寬下降,L1緩存寫入帶寬下降的問題,這同樣對成績造成了影響。
驍龍835的浮點(diǎn)IPC性能比820/821低了23%,這不知道是設(shè)計思路上的妥協(xié)還是設(shè)計思路上的轉(zhuǎn)變。高通在兩年前開始設(shè)計Kryo核心的時候,應(yīng)該就已經(jīng)對未來那些還沒到來的需求有所預(yù)測了。從現(xiàn)在高通的布局來說,高通應(yīng)該是覺得以后更多的計算需求會轉(zhuǎn)到GPU和DSP上,這樣可以提升整體的能效比,而“放棄”的浮點(diǎn)性能可以省下寶貴的芯片面積和電力。
Geekbench 4單線程內(nèi)存測試成績
Kryo 280、A73、A72和A57都有2個AGU地址生成單元。但A72/A57將載入和存儲操作分開由不同AGU處理,而Kryo 280和A73 里的AGU都可以執(zhí)行存取操作。在Kirin 960上,這個改變帶來了比950更加低的內(nèi)存延遲和并提升了內(nèi)存帶寬。
835在內(nèi)存延遲控制和帶寬上,甚至比960還要強(qiáng),拋除頻率差的因素后,提升依舊達(dá)到11%,對比820/821提升巨大。但在兩代Kryo的帶寬提升幅度,不如Kirin從A72升級A73構(gòu)架時那么大,因為上一代Kryo的2個AGU就已經(jīng)能執(zhí)行載入和存儲兩種操作了,只是前代在某些場景的延遲會更高。
系統(tǒng)性能表現(xiàn)
到現(xiàn)在為止,我們對驍龍835上的Kryo280的印象是,其是對A53和A73構(gòu)架進(jìn)行修改后的產(chǎn)物,無論整數(shù)還是浮點(diǎn)運(yùn)算的IPC每周期性能,都和Kirin960很相似。像PCMark這些系統(tǒng)層面的測試,可以根據(jù)真實生產(chǎn)環(huán)境,使用安卓API對CPU/GPU/內(nèi)存/NAND存儲進(jìn)行測試,但除了CPU的IPC性能和內(nèi)存延遲等影響外,還會受廠商對系統(tǒng)軟件優(yōu)化的影響,后者可以控制程序優(yōu)先級和DVFS動態(tài)電壓頻率調(diào)整策略,以求得性能和續(xù)航之間的平衡。
可以確認(rèn)的是,和其他SoC一樣,在不同機(jī)器上的驍龍835會有較大的跑分差距。而在原型機(jī)上的驍龍835刷新了PCMark的記錄,其總分比用Kirin960的Mate 9要稍微高一些,比最快的821的機(jī)器還快了23%。
在網(wǎng)頁瀏覽測試中,驍龍835原型機(jī)表現(xiàn)優(yōu)異,但只是比Mate 9高10%。在這個主要考核整數(shù)運(yùn)算的測試中,其比820/821高了34%。值得注意的是,整數(shù)運(yùn)算本來就吃力的820/821,排在了所有A72和A73構(gòu)架的機(jī)器之后,甚至連驍龍650都打不贏。
PCMark的寫入測試對頻率敏感,需要大核的瞬間爆發(fā)性能,測試包括模擬打開PDF文件、文件加密(前兩個都是整數(shù)運(yùn)算負(fù)載)、內(nèi)存測試、甚至還有閃存讀寫測試。所以這個測試的結(jié)果會有很多變量,甚至820/821的機(jī)器之間都會有較大的出入,像樂視樂Pro3就比 Galaxy S7 edge還要高40%。但驍龍835原型機(jī)和Mate 9的差別微乎其微。但驍龍835比起前代進(jìn)步明顯,比最快的樂Pro 3(821)還要快24%,比 Nexus 6P(810)快80%,比聯(lián)想ZUK Z1(驍龍801/8974AC)快162%。
PCMark數(shù)據(jù)處理測試同樣主要考核整數(shù)運(yùn)算性能,測試包括處理一大堆不同類型的文件的速度對比,并會記錄他們和動態(tài)圖表交互時的實時幀率。驍龍835原型機(jī)和Mate9的成績依舊很接近,但它們這次和其他機(jī)器的距離拉得更開,驍龍835原型機(jī)比Pixel XL提升28%,比LG G5提升111%。和寫入測試類似,820機(jī)型間的表現(xiàn)差距很大,再次證明了OEM廠商的調(diào)教會對用戶體驗造成很大影響。
視頻剪輯測試中,使用的是OpenGL ES 2.0的片段著色器提供視頻特效。這是非常輕度的工作負(fù)載,大部分手機(jī)在這里,GPU和大核幾乎都是閑置狀態(tài)的,僅僅使用如A53這樣的小核,這就是為什么成績差距會這么小的原因了。
圖片剪輯測試中,提供了一堆不同的圖片特效和濾鏡,需要CPU和GPU同時工作。得益于 Adreno GPU強(qiáng)大的ALU(算數(shù)邏輯單元)表現(xiàn),驍龍835原型機(jī)和820/821機(jī)型的表現(xiàn)都很好。835的 Adreno 540 GPU比Mate9上的Mali G71(ARM現(xiàn)在最強(qiáng)GPU構(gòu)架)還要強(qiáng)了33%。
JavaScript測試中iPhone的表現(xiàn)都很好,但這個無法用來對比蘋果A系列芯片和安卓平臺的芯片,因為它們用的瀏覽器也是不同的,這很大部分得益于Safari瀏覽器的JavaScript引擎。安卓平臺在同樣使用最新版的Chrome瀏覽器時,驍龍835原型機(jī)不錯。雖然在Kraken測試中和820/821并沒有拉開差距外,在JetStream中又和Mate9沒有什么分別,但在后者中比820/821機(jī)器有15%到37%不等的提升。其在WebXPRT 2015 中的測試出乎預(yù)料地好,比Mate 9高了24%,比使用820的S7 edge高67%。
為了看看軟件層面造成的影響會有多大,我們使用高通內(nèi)部測試的瀏覽器(專門為了驍龍SoC優(yōu)化過)進(jìn)行測試,結(jié)果Kraken測試值提升到了2305ms, 但JetStream提升24%到了87分(但這兩個項目還是落后iPhone很多),WebXPRT 2015 測試更是暴漲82%達(dá)到280分(終于打贏并拋離了iPhone)。
GPU部分
驍龍835上的 Adreno 540 和820上的 Adreno 530用的是同樣的構(gòu)架,但做了小優(yōu)化避免以前的瓶頸,并對對ALU和寄存器進(jìn)行了優(yōu)化。通過改進(jìn)depth rejection(深度過濾器)減輕了每個像素點(diǎn)的計算負(fù)載,以提升性能表現(xiàn)并降低能耗。
高通宣稱在3D渲染上對比820的Adreno 530有25%的提升。雖然官方?jīng)]有說明,但很明顯,這里面一大半的提升來源于10nm制程的優(yōu)勢,后者讓GPU頻率可以提高到710MHz,單單這里已經(jīng)比820提升14%了。
GFXBench里的霸王龍測試是比較老的測試項目了,其基于OpenGL ES 2.0 API。和新測試不同,其結(jié)果和著色器性能沒有嚴(yán)格對應(yīng)關(guān)系,這也是為什么旗艦都可以在亮屏測試?yán)铮數(shù)絍-Sync限制的60幀。但以前達(dá)到60幀的iPhone 7 Plus 和 Mate 9都是1080P分辨率的,但這次的驍龍835原型機(jī),是第一部達(dá)到60幀的2K屏設(shè)備。
在離屏測試中,驍龍835測試機(jī)超越了 iPhone 7 Plus和 Mate 9,比Pixel XL(820)快了25%,和高通宣稱的提升幅度接近。幾乎是Nexus 6P的Adreno 430的2倍,聯(lián)想ZUK Z1上的801上的Adreno 330的4.5倍
GFXBench 的Car Chase場景,使用了OpenGL ES 3.1和Android Extension Pack (AEP)上的最新渲染管線,和很多最新的游戲一樣,這主要壓榨的是ALU單元的性能。這個測試?yán)?,驍?35同樣是對比前代提升25%,但更加出乎預(yù)料的是,Adreno 540的成績比Mate 9上的Mali-G71MP8高了55%,后者好歹是ARM最新的Bifrost構(gòu)架的GPU啊,而且測試?yán)镞€維持了960-1037MHz的超高頻。
3DMark的Sling Shot Extreme場景,安卓平臺會使用的是OpenGL ES 3.1,iOS設(shè)備用的是Metal 圖形API,該測試會同時壓榨GPU和內(nèi)存系統(tǒng),而且離屏測試分辨率是1440P,而不是其他測試使用的1080P。驍龍835在總分上有30%的提升,這已經(jīng)是相當(dāng)好的成績了,畢竟在蘋果A10、Exynos 8890、Kirin 960,和驍龍820/821 這堆SoC之間僅有8%的差距。圖形分里,驍龍835原型機(jī)比iPhone 7 Plus高10%,比820和8890版的S7高了24%。
在3DMark Sling Shot的第一個圖形測試中,畢竟構(gòu)架變化不大,Adreno 540并沒有像以前Adreno 530那樣,在幾何運(yùn)算里表現(xiàn)出現(xiàn)大躍進(jìn)式的提升。 而面對一向在幾何運(yùn)算任務(wù)重表現(xiàn)出色的ARM Mali系列GPU,Adreno 540仍然要強(qiáng)11%左右。
在注重著色器性能的第二個圖形測試,Adreno 540就發(fā)飆了,對比S7上的Adreno 530提升34% ,比Mate 9的Mali-G71高50%,高通在ALU和寄存器上的修改,在這個測試?yán)锏男Ч浅C黠@。物理測試是在CPU上跑的,而且受SoC的內(nèi)存控制器的隨機(jī)存取表現(xiàn)直接影響。雖然CPU表現(xiàn)相似,但驍龍835原型機(jī)比Mate9提升14%,主因或許是835的內(nèi)存控制器,在延遲控制和帶寬都比Kirin960強(qiáng)。
Basemark ES 3.1 測試在安卓平臺會使用的是OpenGL ES 3.1,iOS設(shè)備用的是Metal 圖形API,但沒有GFXBench 4.0 Car Chase場景里的tessellation密鋪計算。在今年年尾加入Vulkan支持前,安卓平臺都會受到OpenGL的拖累,在蘋果的 Metal 圖形API面前根本抬不起頭。API上的差距,讓 iPhone 7 Plus 拋離驍龍835原型機(jī)73%。
在 Basemark ES 3.1的工作場景下,ARM的Mali系列GPU會更占優(yōu),離屏測試, Exynos 8890的 Mali-T880MP12比820上的Adreno 530快15%,Kirin 960上的 Mali-G71MP8 要比驍龍835的Adreno 530快25%。這個測試中,驍龍835原型機(jī)比起Pixel XL的漲幅達(dá)到了40%,比其他測試?yán)锏?5%要高一截。
在這些游戲模擬測試?yán)铮?Adreno 540有更好的ALU表現(xiàn),所以我們很好奇它在GFXBench的綜合ALU測試?yán)锏某煽儭1容^驚奇的是,這個構(gòu)架提升在并沒有帶來什么提升。結(jié)果里,835對比820的14%漲幅、對比821的8%漲幅,都是和GPU頻率嚴(yán)格對應(yīng)的,說明這個場景的瓶頸在其他地方。當(dāng)然,這結(jié)果還是比Mate 9高了32%。
能耗、相機(jī)、虹膜識別功能展示
為了在大眾心中塑造驍龍是個平臺,而不單單是CPU或基帶的印象,高通在總部的實驗室做了很多演示。但在CES和GDC展會中,高通貌似沒有什么好展示的,基本就是把手機(jī)塞到VR/AR設(shè)備,或者直接就是搭載835的VR/AR原型機(jī)。
在同樣的VR測試中,對比820,驍龍835功耗率下降23%。當(dāng)然,這是高通自己的試驗環(huán)境,真實場景使用的優(yōu)勢未必會這么大。
高通的相機(jī)測試實驗室有一大堆牛逼而且很貴的設(shè)備,公開展示是為了告訴世人,高通的ISP和軟件改進(jìn)都是基于大量的試驗結(jié)果的。里面除了可以控制光線強(qiáng)度和色溫外,連測試ISP電子防抖用的“抖動機(jī)”都是專門設(shè)計的,其可以設(shè)定不同抖動模式和頻率,方便工程師去測試EIS電子防抖系統(tǒng)。
有個比較有趣的展示是835工程機(jī)的虹膜識別,這個功能可以部分代替指紋識別的工作,在不方便用手的場合使用。但測試機(jī)該功能還不完善,高通的產(chǎn)品經(jīng)理用是正常的,但作者無法使用[攤手]。
實驗室還有計算機(jī)視覺識別的展示,這個已經(jīng)不是新技術(shù)了,但和同領(lǐng)域?qū)κ忠粯?,高通也受益于最近機(jī)器學(xué)習(xí)的突破性進(jìn)展。
總結(jié)
移動SoC包括了:CPU、GPU、高性能的DSP(運(yùn)算用途)、低功耗DSP(協(xié)處理器)、基帶SDP(信號處理)、ISP(照片處理)、固定的功能模塊(視頻與音頻)等。所有這些部分都會影響用戶體驗,但當(dāng)中很多都無法量化。
而CPU和GPU是最核心的性能部分,而且對續(xù)航影響最大,所以它們還會是我們測試的重中之重。初步的測試結(jié)果表明驍龍835的CPU部分是4+4的大小核結(jié)構(gòu),由4個修改版的A73和4個修改版的A53組成,整數(shù)和浮點(diǎn)IPC周期性能都和Kiirin 960上的A73非常接近。對比820/821的Kryo構(gòu)架,整數(shù)性能提升,浮點(diǎn)性能下降,但這個取舍利大于弊,其整體表現(xiàn)比820/821要好。
高通在VR/AR上繼續(xù)用力,不單是手機(jī)平臺,還包括了頭戴設(shè)備。VR對高分辨率、低延遲的要求,都需要非常強(qiáng)大的GPU性能。835的Adreno 540 GPU在構(gòu)架小優(yōu)化和高頻率下,有25%的性能提升,對VR設(shè)備來說肯定是好事。
另外,這些結(jié)果都是基于工程機(jī)的,無法代表最終量產(chǎn)的結(jié)果。但即便如此,已經(jīng)幾乎可以肯定835對比820會有大幅度的提升了。但對用戶體驗的影響最大的,或許不是小幅提升的性能或什么新功能,而是10nm制程帶來的功耗/續(xù)航提升。