楠木軒

驍龍865為啥最厲害?CPU和GPU架構瞭解下!

由 希學英 發佈於 科技

  手機的“心臟”只有指甲蓋大小,但憑藉着高集成度的SoC身份,這種芯片卻完美詮釋了“麻雀雖小五臟俱全”的定義。

  如果説指令集架構和製程工藝決定了SoC的天賦(詳見《硬核科普!為啥説SoC的性能取決於架構和工藝?》),那SoC的直觀戰鬥力則全看CPU GPU模塊的規格了。驍龍865之所以是Android手機圈綜合性能最強的SoC,就是源於其集成的GPU更加強悍。

  接下來,我們就將SoC分解,並先來看看影響其絕對性能的這兩個關鍵模塊。

  CPU:性能基石

  在SoC的組成部分中,CPU是最關鍵的核心單元之一,我們可以將它理解為PC上的酷睿處理器,而它的強弱主要受到以下幾個參數的影響。

  手機專用的SoC都屬於“ARM處理器”,而ARM公司與芯片廠商的合作則存在3種形式:

  原生Cortex-A系列架構

  ARM公司平均每年都會推出全新的“原生”(公版)架構,包括性能級的Cortex-A7x,以及效能級的Cortex-A5x,前者可以作為CPU中的“大核”,目前SoC正好處於Cortex-A76向Cortex-A77之間的過渡階段,2020年中旬ARM還將祭出Cortex-A78架構。

  Cortex-A架構版本越高,性能越強

  後者則屬於CPU中的“小核”,Cortex-A73或更早期的大核都會與Cortex-A53搭配,從Cortex-A75開始則與Cortex-A55“聯姻”,短期內ARM還沒有更新效能級核心架構的計劃。

  基於Cortex的半定製化架構

  芯片商在拿到ARM原生Cortex-A的架構後,可以對其進行一定程度的改造,從而實現更高性能、更多功能或更低功耗。

  高通旗下的驍龍SoC總會採用名為“Kryo”的核心架構,而它們就都是基於原生Cortex-A架構半定製化而來,業內人士還習慣將這種形式稱為“魔改”。

  華為從麒麟980開始,包括最新推出的麒麟820,也是主打Cortex-A Based,理論上也是一種半定製化的魔改。

  基於指令集的自研架構

  如果芯片商只憑借ARM的指令集授權,並在此基礎上研發芯片,則可被歸類到“自研”架構。

  比如驍龍820採用的Kryo核心、三星貓鼬(Mongoose)核心、蘋果從A5往後的SoC就都採用了在ARM指令集基礎上的自研CPU架構。

  從ARM授權的成本角度來看,採用原生架構的授權費用最低,魔改次之,基於指令集的授權最高,而且芯片商想在ARM指令集基礎上加以定製優化以形成自己獨特的設計,還需要強大的研發實力,所以目前只有蘋果、高通和三星有所涉獵。

  從性能的角度來看,不同時期的架構之間則存在明顯的性能壓制,比如Cortex-A77天生就比Cortex-A76更強,但同一時期的原生、魔改和自研架構之間的差異其實並不大,主要還是受制於核心數量、多叢集和最高主頻方面的影響。

  多叢集設計

  我們都知道Cortex-A7x性能比Cortex-A5x更強,為什麼沒有SoC採用全部由Cortex-A7x打造的多核處理器?

  答案很簡單,高性能的背後就是高功耗,為了讓智能手機可以具備至少一天一充的續航底線,手機SoC必然要採取“大小核”(Cortex-A73之前稱Big.Little,Cortex-A75之後為DynamIQ Big.Little)的搭配策略。

  從Cortex-A75開始,DynamIQ技術可以實現更靈活的核心搭配

  為了更好地權衡性能和功耗,手機SoC在“大小核”的基礎上還引入了“多叢集”的概念,比如聯發科天璣1000就是了“4 4”雙叢集的代表,由4×Cortex-A77和4×Cortex-A55共計8個CPU核心構成。

  麒麟990和驍龍865都是三叢集代表,差異是前者採用了“2 2 4”(2×A76 2×A76 4×A55),後者則是“1 3 4”(1×Kryo 585 3×Kryo 585 4×Kryo 585),即大核 中核 小核三種核心搭配的策略。

  在不考慮功耗的前提下,自然是大核架構越先進,數量越多性能越強。

  驍龍865的三叢集設計

  但是,現實中SoC在全速運行(玩遊戲)時CPU非常容易因過熱而觸發降頻機制,從而導致性能驟降引起卡頓問題。

  因此,“2 6”的雙叢集和“1 3 4”或“2 2 4”的三叢集設計正逐漸成為主流。

  運行頻率

  CPU的性能強弱,除了受制於核心架構和多叢集設計,運行頻率的影響總是更加立竿見影。

  我們都知道Cortex-A77架構比Cortex-A76架構強,但2019底才剛剛量產的聯發科1000L(大核為Cortex-A77)的CPU性能卻還不如2018年底上市的麒麟980(大核為Cortex-A76)。

  原因很簡單,聯發科1000L的大核主頻只有2.2GHz,而麒麟980的主頻則高達2.6GHz,更高的主頻足以彌補核心架構和大核數量上的劣勢。

  相同SoC的手機之間,散熱設計越好的手機性能往往也是最強的

  因此,對於同期同級別的SoC而言,誰的CPU主頻更高,往往更容易取得性能上優勢。當然,前提是手機自身的散熱設計必須過硬,可以讓CPU長時間運行在預設的最高主頻上。

  GPU:遊戲引擎

  GPU是SoC中重要性僅次於CPU的單元,我們可以將它理解為PC上的獨立顯卡,一款手機能支持多高的分辨率、刷新率、玩遊戲能跑出多少幀數,幾乎都需要看GPU的臉色。

  GPU品牌

  和SoC中的CPU單元由ARM一家獨大不同,其集成的GPU單元還未江湖一統,在Android手機領域正處於“三國爭霸”的格局——高通旗下的驍龍SoC全部集成自家Adreno品牌的GPU,華為/三星旗下的SoC則青睞ARM公司推出的Mali品牌GPU,聯發科則經常“腳踏兩隻船”,ARM Mali GPU和Imagination公司的PowerVR GPU都有所涉獵。

  據悉,三星已經攜手AMD,在未來Exynos SoC很可能會集成由AMD授權的RDNA架構GPU,而華為也正在開展自研GPU的項目。

  核心架構

  和ARM CPU架構總在不斷升級一樣,各個品牌的GPU每隔1年~2年也會完成一次迭代。

  其中,高通Adreno GPU剛剛完成了Adreno 500向Adreno 600的全面升級,從定位中低端的驍龍665(Adreno 610)到最新的頂級旗艦驍龍865(Adreno 650),Adreno 6x0中的“x”數字越大代表性能越強。

  ARM Mali品牌的高端GPU正經歷由Mali-G76(與Cortex-A76 CPU搭配)向Mali-G77(與Cortex-A77 CPU搭配)過渡,而中端GPU很快也要從Mali-G52升級到Mali-G53。

  ARM Mali GPU的發展路線

  在大的方向上,Mali-G7x肯定強過Mali-G5x,並同樣是“x”數字越大代表性能越強。Imagination GPU很快也要從第九代(PowerVR 9)過渡到第十代(PowerVR IMG A),考慮到該系列GPU比較小眾,我們就不在本文贅述了。

  如果你想了解更多手機GPU的歷史和相關技術,請參考《手機處理器的GPU誰最強?看完這篇文章你就懂了!》這篇文章。

  計算單元

  在現實中,很多GPU都採用相同架構的核心,但它們的GPU性能卻存在很大的差異。

  比如,驍龍675(Adreno 612)和驍龍730(Adreno 618)集成的都是Adreno 61x系列GPU,麒麟990和Exynos 980集成的也都是Mali-G76 GPU,但它們兩兩之間的3D性能卻不可同日而語。

  DIY用户都知道,PC領域的獨立顯卡會根據不同數量的“流處理器”來劃分檔次。

  手機SoC內的GPU也是如此,只是這裏的“流處理器”叫法不同,高通Adreno GPU稱做“ALUs”,ARM Mali GPU則叫“Shader Core”,我們習慣將它們統稱為“計算單元”。

  還是以麒麟990和Exynos 980為例,前者為Mali-G76 GPU搭配了16個計算單元,即Mali-G76MP16,而後者的計算單元數量只有5個,即Mali-G76MP5,所以麒麟990的3D性能至少2倍~3倍於Exynos 980。

  圖形接口

  在3D遊戲的開發中,API圖形接口越先進,GPU的執行效率越高。

  如果手機GPU恰好支持這種API,就能最大限度避免“負優化”,還有機會實現“越級挑戰”。

  手機SoC GPU所支持的API主要以OpenCL、OpenGL、Vulkan和DirectX為主,目前它們最新的版本分別為OpenCL 2.0FP、OpenGL ES3.2、Vulkan 1.1和DX12,很多最新的GPU加入了多神經網絡加速器的優化,可配合NPU單元進一步加速AI運算。

  從2018年底開始很多中端手機玩《王者榮耀》也能啓動60FPS模式並比同時期的旗艦級還要流暢,就是因為該遊戲推出了Vulkan API的優化版,可以進一步釋放新款GPU的全部潛力。

  和CPU一樣,GPU的強弱除了架構之外,也受到運行頻率的牽制。聯發科Helio G90、驍龍730和驍龍765是最具代表性的SoC,它們都存在一個後綴帶“G”的型號,通過提升CPU和GPU的頻率獲得了更強的性能(表2)。

  如果你只關注絕對性能,看到這裏就能告一段落了。

  當我們看到一款陌生的SoC時,可以先看製程工藝,如果它能採用7nm或7nm EUV就代表它具備更加節能省電的特性。

  然後看CPU架構和主頻,Cortex-A77和Kryo 500核心代表着當前架構的最強音,當CPU主頻高於2.6GHz那它就具備旗艦級的CPU性能,如果低於2.4GHz就是中等偏上。

  如果你喜歡玩遊戲,就需要看它的GPU是Mali-G7x還是Mali-G5x,並數一下計算單元的數量,多多益善。

  然而,手機並不僅限於跑分和玩遊戲,在追求更強性能之餘,它在日常應用環境下的表現,往往要比絕對的性能更加重要。比如,基帶、DSP、ISP等單元,如果你對它們的作用感興趣,請關注CFan的後續報道。