【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【科普】自研SoC行不行?Google Tensor測試與分析

因為上一代用驍龍765G 的騷操作,在大家心目當中,Google Pixel 系列算是斷更一代。而Pixel 6 系列就不同了,有Google 自研SoC——Google Tensor(Tensor 是張量的意思,名字就很AI,很ML)、追上時代的相機硬件,也有相對厚道的價格。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

重回旗艦市場的計算攝影大佬,終於肯用現代的CMOS 了!機圈立即奔走相告,直到國外用戶拿到真機,Anandtech 放出Google Tensor 的測試成績和分析……

在不改變Anandtech 原意的情況下,我們對這顆如此重要和有趣的SoC 的內容進行整理和編譯,原文Google's Tensor inside of Pixel 6, Pixel 6 Pro_ A Look into Performance & Efficiency

全自研還是魔改(半定制)?
Google 表示Google Tensor 是邁向新型工作負載探索之旅的起點,現有芯片方案無法實現他們說的目標。憑藉多年來的機器學習研究經驗,Google 把Tensor 做成一款以機器學習作為差異化的SoC,據說其讓Pixel 能實現很多獨特的新功能。

關於Google Tensor 的第一個爭議是,它是全自研?還是魔改(半定制)?這裡主要看你對“自研” 的定義,Google 和三星看似密切的合作,模糊了傳統的自研和半定制之間的界限。

在Google 內部, Google Tensor 代號是GS101,可能是Google SoC 或Google Silicon 的意思。而之前爆料說的Whitechapel(白教堂),還沒有任何證據表明其是真實存在的芯片。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

而Google Tensor 基本遵循三星Exynos 的命名規則,其ID 是“0x09845000”,拆解後能看到絲印是S5P9845(編者:原文發布之初,認為ID 對應S5E9845,但經TechInsights 拆解,確認是S5P9845)。作為參考,三星Exynos 2100 的ID 是S5E9840,Exynos 1080 是S5E9815。

幾年前就有報導說三星開始提供半定制的芯片服務,當時就有三星與思科、Google 的合作消息。ETNews 在2020 年8 月的文章中提到,三星會根據客戶需求提供“定制”技術和功能,甚至從芯片設計階段就開始提供。

三星不再是簡單的芯片製造商,而是完全參與芯片設計,這都可以和ASIC 設計服務相提並論了。但這是個很特殊的情況,畢竟三星不但有台積電那樣的芯片代工業務,它也有自己的自研SoC。

Google Tensor 和三星Exynos 高度同源,除了大家常說的CPU、GPU、NPU 等高級結構外,芯片中的基本結構很多都是同源的。雖然紙面上,三星、聯發科、海思,甚至高通(只有CPU方面),用的都是arm 的Cortex CPU 和Mali GPU 公版架構,但它們的底層架構還是非常不同的。

Google Tensor 使用的是三星Exynos 的框架,不但有相同的時鐘和電源管理架構,它們的存儲控制器、外部接口的PHY IP 等高級塊,甚至連ISP 和媒體編解碼器等較大的IP 功能塊都很相似。有趣的是, Github 上已經有GS101 的公開信息,可以1:1 地比較它和Exynos 的結構組成。

不過,雖然用了Exynos 的基礎模塊和框架,但SoC 的定義確實由Google 控制,結構和 IP 塊之間的連接設計上,Google Tensor 和三星Exynos 都是不同的。

例如Exynos 上,CPU 是用總線連起來的,而Google Tensor 的CPU 集群是被放成在一個更大的CCI 裡面。從外部看,可能是用了不同的總線設計,也可能是完全不同的IP。另外,像內存控制器的連接方式,它們也是不太一樣的。

狂野的性能規格
單看CPU 就知道Google Tensor 和大路貨不一樣,2x X1 + 2x A76 + 4x A55,這個“2+2+4”結構在三星Exynos 9820 和Exynos 990 都出現過。但當今Android 旗艦SoC 中, 1+3+4 才是絕對的主流。而且敢堆2 顆X1 的,僅Google 一家。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

理論上有兩顆X1 超大核,其CPU 多核性能會比單顆X1 的產品更強。而頻率上,Google Tensor 的X1 都是2.8GHz,略低於驍龍888 的2.84GHz 和Exynos 2100 的2.91Hhz。此外,Google 還和驍龍888 一樣給了1MB L2 緩存,比Exynos 2100 的512KB 殘血X1 更猛。

大核(編者:你喜歡叫中核也行)這邊,Google 選擇了古早的A76 架構,這是件很有爭議性的事(2.25GHz,256KB 的L2 緩存)。畢竟這並不合理,因為A77 和A78 的性能和能效比都更高。連Anandtech 都沒從Google 那裡得到明確的解釋。

他們猜測可能是幾年前設計芯片的時候,三星手上也沒有更新的IP 供Google 選擇。也可能是在超大核換成X1 的時候,沒有時間連大核也一起換了。但Google 應該不是特意選用A76 的,因為從下面的測試可以發現,A76 真的是跟不上時代了。

小核這邊,4 個1.8GHz 的A55。Google 選擇了128KB 的L2 緩存,而不是三星Exynos 自己用的64KB,這讓這個CPU 更像驍龍888 了。但比較奇怪的是,Google 把集群的L3 緩存頻率和A55 綁定,這會導致延遲和功耗問題。另外,這也和Exynos 2100 的L3 頻率是不同的。

Google Tensor 的GPU 是Mali- G78 MP20,規模僅次於麒麟9000 的G78 MP24(編者:G78 的極限)。大家最開始以為Google 會用低點的頻率來提升能效比。但結果Google 竟然把著色器頻率推到845MHz,把tiler 和L2 頻率推到996MHz,簡直癲狂。另外,它也是第一個用上G78 分離頻率特性的產品。

作為參考,Exynos 2100 的G78 MP14 也“只是” 854MHz,後者的峰值功耗已經很高了。結果Google 增加42% 的核心,卻依然維持高頻。因此它的峰值性能很讓人期待,但峰值功耗也會很猛。而內存控制器似乎和Exynos 2100 相同,支持4x16bit 的LPDDR5,理論帶寬51.2 GB/s。

它也用了8MB 的系統緩存,但還不清楚是否用了和三星Exynos 2100 一樣的 IP,因為它們的架構和行為方式都不太一樣。Google 大量使用SLC 來提升SoC 性能(包括他們自己的定制模塊)。這個SLC 允許自分區,將SRAM 專門分給SoC 上特定的IP 塊,使它們在不同用例下,能對全部或部分緩存進行獨占訪問。

ISP 與TPU:谷歌的光輝
大家說SoC 集成的ISP 時,經常把它們描述為單個IP。但實際上,ISP 是不同的專業IP 塊的組合,每個IP 塊處理成像管線中的不同任務。而Google Tensor 非常有趣,因為它將三星用在Exynos 芯片上的一些片段整合到了一起,同時還將自己開發的定制模塊整合到了流水線中—— 正如Google 在展示SoC 時所說的那樣。

成像系統部分和Exynos 是一樣的,如相位檢測處理單元、反差對焦處理單元、圖像縮放器、畸變校正處理塊和紋理遮擋函數處理塊等。比Exynos 少的部分,可能是三星的一些圖像後處理模塊。

谷歌在ISP 中加入自己的3AA 模塊(自動曝光,自動白平衡,自動對焦) ,以及一對自己的時域降噪IP 模塊(用於對齊和合併圖像)。這些很可能就是谷歌所說的那些有助於加速圖像處理的模塊,這些是Pixel 系列計算攝影的一部分,毋容置疑地地代表了圖像處理流水線中非常重要的部分。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

TPU 是讓Google Tensor 被稱為Tensor 的地方。Google 已經用自研 TPU 好幾年了,在驅動層面,Google 把Tensor 的TPU 稱作Edge TPU( 端側邊緣TPU)。這是相當有趣的信號,因為它應該和Google 2018年發布的Edge TPU 有關,後者是Google 為邊緣推理而設計的ASIC 芯片(官網cloud.google.com/edge-tpu)。

當年的Edge TPU 宣稱在2W 功耗下可以提供4TOPS 的算力,但Google 並未公佈Tensor 的TPU 性能指標,但是在一些測試中可以看到它的最大功率是5W 左右。因此如果它們確實是有關聯的,考慮到這幾年的製程和IP 上的進步, Google Tensor 的TPU 性能應該有明顯提升了。

這個TPU 是谷歌芯片團隊的驕傲,它正在使用最新的機器學習處理架構,這個架構針對Google 內部運行機器學習的方式進行過優化,並且表示它可以允許開發新的、獨特的用例,這是Google 做定制SoC 的主要目標和出發點之一。在後面的測試中,這個TPU 的性能指標確實也是令人印象深刻的。因為TPU 的信息不多,我們只能基於它的驅動程序做簡單猜測,它可能包含四核心的Cortex-A32 CPU。

其他模塊:基帶與音視頻解碼器
在媒體編碼器方面,Google Tensor 使用了三星的多功能編解碼器(與Exynos 系列同款),還有一個看起來像是用於AV1 解碼的自研IP 塊。這有點奇怪,因為三星的宣傳中, Exynos 2100 是有AV1 解碼功能的,而且這個功能貌似也在內核驅動程序裡面。但在Galaxy S21 系列中,這個AV1 解碼功能從未在Android 的層面實現過。

谷歌加入的這個專用的AV1 解碼器被他們稱做“ BigOcean”,它能讓Android 系統具備AV1 硬解能力。但非常奇怪的是,它真的就只負責AV1, 其他格式編解碼還是由三星的MFC 負責。

Google Tensor 的音頻子系統也不同,Google 用自己設計的IP 塊代替了三星的低功耗音頻解碼子系統,它們可以在無需全部喚醒SoC 的情況下進行低功耗的音頻播放。我們認為這部分也是當協處理器用的,這也是Google Tensor 和Exynos 不同的地方。

Google 還用了一種稱為Emerald Hill 的硬件內存壓縮器,對內存頁面進行LZ77 壓縮加速,反過來也可以用來加速交換中的ZRAM 的卸載過程。現在還不確定Pixel 系列是否已經啟用這個模塊,但能確認在“ /sys/block/zram0/comp_algorithm”目錄中有“lz77eh”。作為課外資料,三星早在5 年前,就在SoC 裡集成了類似的硬件壓縮IP 模塊。但出於某些原因,這些模塊從未被啟用過,也許是能效比並沒有他們預想中的高。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

另外,Google 還用三星的Exynos 基帶,做出了第一台非高通的毫米波手機。Pixel 6 系列用的是三星的Exynos 5123 基帶(譯者:為遵循國內的習慣,這裡把調製解調器稱為基帶)。三星在2019 年就提到自己的毫米波射頻和天線模塊,說2020 年會出現在量產機上(不知道當時是否計劃讓Pixel 6 在2020 年上市)。Pixel 6 系列的峰值速度可以達到3200Mbps,但很多測試中,它的網速只有高通產品的一半左右。

雖然是同一個基帶,但它不是像Exynos 2100 那樣集成在SoC 裡,而是外掛的。可能是因為Google Tensor 的GPU 和CPU 規模太大了,而且TPU 的規模也是未知數。畢竟就算是把基帶外掛出去,Google Tensor 的規模也是相當大了,即便是和對比Exynos 2100 的情況下。

總的來看,Google 確實設計和定義了Tensor ,同時有很多Google 特有的設計,是整體的芯片上的差異化。但從更底層的角度看,Tensor 和Exynos 有很多共通之處,用了很多三星特有的基礎模塊,因此叫它“半定制”或許會更合適。

實際性能表現:不盡如人意

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

測試中,Google Tensor 的DRAM 延遲較高,還不如Exynos 2100,和驍龍888 比就更差了。Google 改過了內存控制器,它會根據負載和內核的內存失速百分比來控制MC 和DRAM 速度,這部分是和三星不同的,其實際利用率也不如三星的內存控制器高。現在不知道是CPU 的問題,還是整個SoC 內部的問題,但這確切地影響了下面的測試。

它的L3 延遲也相當高,比Exynos 2100 和驍龍888 高得多。Google 沒有給DSU 和CPU L3 緩存設定特定的頻率,而是把它和A55 小核的頻率關聯。奇怪的是,即便X1 或A76 滿載,A55 和L3 卻在低頻“摸魚”。同樣情況下Exynos 2100 和驍龍888 都是會提高L3 頻率的。

在系統緩存測試中,能看到11-13MB 的延遲情況(1 MB L2 + 4 MB L3 + 8 MB SLC) ,在正常的內存訪問中,Tensor 也是比Exynos 要慢的,可能和被改過的個別緩存管線有關。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

因為L3 和A55 的頻率捆綁,且頻率高,所以Google Tensor 的A55 小核是幾個SoC 裡L3 延遲最低的,彷如沒有異步時鐘橋一般。

CPU 部分,Google Tensor 更像是驍龍888,而不是 Exynos 2100。雖然Google Tensor 的L2 緩存是Exynos 2100 的2 倍,但頻率低了3.7%(110MhHz)。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

Tensor 的弱點是內存延遲,導致SPEC 測試中很多子項目都比驍龍888 和 Exynos 2100 慢,但能耗卻更高(CPU 在乾等內存)。SPEC 總分上,Tensor 的表現比Exynos 2100 略差,對比驍龍888 的落後幅度達到12.2% ,由於跑完測試的時間更長,最終耗電還多了13.8% 。折算回來,相對驍龍888 的差距應該是1.4% 左右。

它也有和 Exynos 2100 一樣的降頻問題,只是相對沒有那麼嚴重。如果冷卻得當,性能會高5%-9% 左右(上圖的測試結果是在11 度的環境下得到的)。

可憐的 A76 大核,驍龍888 的A78 比它強46%,還更省電,實際IPC 差距在34%,這倒符合兩個構架之間的差距。如果真是為了省電,完全可以做個低頻的A78,但結果Google 放了兩顆頻率又高、又耗電、性能還不行的A76,只能推斷Google 是沒得選,而不是有意而為之。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

越接近右下角,能效比越低;越接近左上角,能效比越高↑

A55 小核這邊也不行,性能只是比同頻的驍龍888 的A55 高11%(感謝L3 和SLC),但卻幾乎是2 倍的功耗,儼然就是繼承了Exynos 高功耗A55 的血統,能效比甚至比自己的A76 大核還拉胯。看看聯發科天璣1200 的A55,再看看A14 的能效核心,這真是個殘酷的世界。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

Google Tensor 因為拉胯的A76 性能表現,就算有2 顆X2 都無力回天,拖低了整體分數。X1 本身也比對手稍慢一些,大部分時間的能效比都和Exynos 2100 的X1 一致。但A76 實在落後時代太多了(無論是性能還是能效比),而A55 又繼承三星低能效的傳統,一言難盡就是了。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

GPU 這邊規模大,頻率高,但3DMark Wild Life 測試的峰值性能只比 Exynos 2100 高21%。在GFX Bench 的Aztec 場景測試中,領先 Exynos 2100 14%,小幅領先驍龍888。雖然採用了分頻設計,但貌似瓶頸在GPU 的其他地方。

Tensor 的GPU 峰值功率高達9-10W,手機一跑就降頻(一輪測試都沒跑完啊……),拖低了整體功耗,所以才會有7.28 W 的平均功耗。Pixel 6 系列沒有熱管,散熱配置和機身結構更像是iPhone,而不是猛堆散熱的安卓旗艦。它跑起來時,左側的SoC 45 度,但右側只有30-33 度,散熱確實是弱。

讓人不解的是,今年這批SoC 都設定了高得不切實際的GPU 頻率,一跑就降頻。可能是為了應對突發的GPU 負載?或者是其他什麼原因?但無論怎麼樣,實際能效比是受累了。

而 Tensor 的功耗問題,外加Pixel 6 Pro 雖然也是LTPO屏幕,但表現和三星旗艦明顯不同,全屏激發亮度750nit,遠低於S21U 的942 nit,實際正常基礎功耗可能會更高。多種不利因素,最終讓Pixel 6 Pro 的續航並不好看,反倒是90Hz 的Pixel 6 續航表現還不錯:

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

TPU:極強的推理性能
這是Google Tensor 挽回顏面的地方。MLPerf 測試中,Pixel 是在NNAPI 跑的,其他廠商是各自的庫,高通是SNPE(最近優化了MLPerf 1.1,提升了成績)、三星是EDEN,聯發科是Neuron,而蘋果沒有coreML 加速,所以吃虧。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

在圖像分類、目標檢測和圖像分割工作負載中, Tensor 成績低於高通,但強於三星。而在語言處理(MobileBERT 模型),Google Tensor 提供了驍龍888 3 倍的性能,推理部分強得很。Google 在宣傳裡,確實也提到過實時轉錄、翻譯等使用場景是其差異化所在。

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

還沒發布的GeekBench ML 測試,用是TensorFlow 模型,代表的是GPU 的機器學習性能。這時候Google Tensor 就弱於 Exynos 2100。如果用NNAPI 模型,此時是CPU+GPU+NPU 的混合工作,Google Tensor 就可以大幅領先驍龍888。

除了絕對性能,跑AI 測試時,Pixel 6 Pro 的整機功耗和Exynos 2100 的Galaxy S21 Ultra 接近。單獨進行推理任務時, Exynos 2100 的爆發功率達到14W,驍龍888 也有12W。但因為Google Tensor 的AI 性能更高,所以最終能效比要更高一些。

不過Google 還沒有計劃推出相關的SDK 讓開發者去更好地利用這顆強大的TPU 。但再看看三星,它的NPU 發布都2 年了,現在都沒有SDK…… 現在TPU 的強大性能,主要集中體現在官方app 裡,像是給攝像頭加入更多的機器學習功能,以及各種翻譯功能。

總結

【愛搞機】自研SoC行不行?Google Tensor 測試與分析

Google 表示,他們搞自研SoC 的主要原因是現有的SoC 在機器學習上的性能和能效比太低。而Tensor 的機器學習性能和能效,被用來支撐新的用例和體驗,例如我們在Pixel 6 系列上看到的很多機器學習特性。像是實時轉錄、實時翻譯和圖像處理等算法,所有這些都是運行在Tensor 的TPU 上的。

雖然Google 可能不想承認或者談論,但Google Tensor 確實就是和三星合作的產物,大部分都源自Exynos,並繼承了三星在能效比方面的弱點。CPU 被古老的A76 拖後腿,規模龐大的GPU 被散熱拖後腿,但TPU 確實表現很好,特別是自然語言處理方面,遠遠拋離所有競品。

但總的來說,我們認為Google 已經通過Tensor 實現了最初的目標。我們不知道Google 下一代的SoC 會走什麼樣的路線,但我們很有興趣等等看。
實際上 Google 願意踏出第一步
出Tensor 就有很大的勇氣 誰也不知道這棵會賣得如何
是一堆庫存 還是日後斷貨

給他一點時間 說不定iPhone 上的NVM Express 硬碟 PCI-E網路卡都能到Android
也可以了解自己 做出不會變成噴火龍的手機

至於 基頻處裡器 繞不去的坑 總有一天會走上Apple老路
說真的 intel 基頻處裡器也是冤枉
當初iPhone 3G 3Gs 4 都是英飛凌的基頻處裡器
那個時候 整天在搜尋訊號
後來4S 5 5S 6 6S 用高通(另一條時間線 英飛凌的基頻部門也被賣給intel)
直到iPhone 7 換成intel 基頻 才回到跟iPhone 3G 3Gs 4 一樣整天在搜尋訊號
現在好了 intel 基頻部門 被賣給Apple 何時能看到成品 不知道


至於我為何沒買Pixel 6 因為 我前陣子剛換S21....
手機一直換 我會被念 不然我也想買
這顆在製程上***的5nm就已經有點劣勢了

倒是多數想要買這支的應該是看在有超廣角又有望遠的正版GCAM才入手的

新SOC連google自己都會翻車也表明了難度真的不小

至少拍照性能體驗需要完整到位

會玩高階遊戲的應該還是會選其他型號反而看不上這支

非常期待下一款Google會有什麼樣的進化
ゴミ丼わがんにんにゃれ 我沒有義務回覆你的問題
不知道P6網路斷線問題到底甚麼時候才有解
joelai
我用p6p搭配中華也是斷線,等下次更新吧
asoma wrote:
不知道P6網路斷線問...(恕刪)


個人 Pixel 6 Pro 沒遇到這個問題....
kleiberwu wrote:
個人 Pixel 6(恕刪)


基本上斷線的問題有

沒遇到真的是幸運

那既然有些人有有些人不會斷線

而且到現在都還沒解決

我同門號p5沒問題p6就是一直斷線

真的很神奇
asoma wrote:
基本上斷線的問題有

沒遇到真的是幸運

那既然有些人有有些人不會斷線

而且到現在都還沒解決

我同門號p5沒問題p6就是一直斷線

真的很神奇


斷線的問題,真的很神奇
asoma wrote:
基本上斷線的問題有沒...(恕刪)


斷線我沒遇過的!

日前國外 YouTuber 測試各家手機 4K60 錄影就發現 Pixel 6 Pro 錄影20分鐘多中止,溫度約45度,奇怪的是 三星S21U 溫度50度,還是繼續錄影。

好奇做一樣的測試,發現我有一樣的問題,4K60 錄影,之前約20多分鐘會過熱中止,但現在可能是天氣比較冷,大概錄40分多分鐘會停止,雖然40多分鐘錄影是一直持續,但是自動停止後,查看影片卻自動分成三段...

之前也有網友測試正常...
lightphoto
Pixel 6 Pro沒斷線+1
kleiberwu wrote:
【科普】自研SoC行(恕刪)


機翻中文,很多句子詞不達意.
venlen wrote:
機翻中文,很多句子詞...(恕刪)

我覺得愛搞機已把原文翻譯的很好,若有好心人士能幫忙重新翻譯,當然是再好不過!
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!