愛伊米

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

新智元報道

編輯:LRS

【新智元導讀】

Google釋出Pixel 6以後風聲不斷,各種配件均達到旗艦級別,還搭載了自研的CPU,但它的內容始終是個迷。有外媒推測了其中的內容,發現這款號稱自研的CPU和三星Exynos 2100竟然幾乎一樣!

10月19號,Google正式釋出了他們的旗艦手機Pixel 6和Pixel 6 Pro,這也是Pixel 系列手機發布以來變化最大的一款手機,除了名字沒變,其他一切都變了。

最大的變化還是當屬Pixel 6和Pixel 6 Pro首次搭載了Google自己研發的Tensor SoC,但Tensor究竟是什麼和能做什麼一直是個迷。

據官方的說法,Tensor是Google在平衡手機計算負載的一種嘗試,並且這個構思無法利用現成的商業化解決方案來實現。

Tensor結合了Google Research多年的機器學習經驗,將機器學習效能作為主要的差異化競爭,並能夠為Pixel 6手機提供許多獨特的,其他手機不具備的功能。

雖然Google提供的材料說明認為Tensor是一塊完全由Google設計的SoC,但如果「設計」這個詞大家理解不一樣,得到的結論也不一樣。實

際上這塊晶片由Google和三星LSI共同合作研發,在傳統定製設計和半定製設計(如AMD的APU晶片)之間處於一個模糊界定範圍。

並且Tensor也是一個相當抽象的一個詞, 官方也並沒有任何模型編號資訊透露出來,也沒有說下一代晶片是否叫Tensor 2。在Google內部這款晶片的名稱為GS101,據相關人士推測代表的是Google Silicon。

晶片對於每個矽都有一個型號,Tensor SoC的晶片ID為0x09845000,對應三星的Exynos命名方案為S5E9845,而三星LSI 最新的SoC型號為S5E9840,側面印證了是和三星合作的晶片。

至於為什麼Google SoC會遵循Exynos內部命名計劃也許是三星為半定製晶片的設計提供了一些優惠價格。

這裡,三星不僅僅是作為一個純粹的合同約定上的製造商,而且完全參與晶片的設計。

當進一步對比三星Exynos 2100和Google Tensor時,也能發現一些相似點,但是也有許多不同。

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

可以說Google Tensor緊跟著三星的Exynos SoC系列進行設計的。

除了人們在SoC中通常談論的高級別塊,如CPU、GPU、NPU等主要特徵外,還有晶片的基礎塊:結構塊(fabric blocs),IP、時鐘管理架構、電源管理架構,以及將這些部分實現到實際矽中的設計方法。

在紙面上,三星Exynos、Mediatek Dimension或Hisilicon Kirin,甚至高通Snapdragon(位於CPU端)在規格方面,晶片可能有類似的設計——具有相同的高級別IP,如Cortex CPU或來自ARM的MALI GPU——晶片仍將以不同的方式結束行為和執行,因為基本的SoC架構非常不同。

就Tesnor而言,這種底層架構是在三星用於其Exynos SoC的IP上構建的,他們使用相同的時鐘管理和電源管理架構。

在IP層次結構中,可以發現高階IP塊(如記憶體控制器、結構IP、所有外部介面的PHY IP)之間,甚至更大的IP功能塊(如ISP或媒體解碼器/編碼器)之間也有其他相似之處。

所以谷歌聲稱Tensor 完全是他們自己設計的答案就很顯然了,這在某種程度上是真實的,但根據你對「設計」的定義,以及你想如何深入地進行設計。

雖然Tensor/GS101是基於Exynos基礎塊和IPS構建的,而且可能是由三星整合和推出的,但SoC 的定義是由谷歌控制的,因為Google 的Pixel 是他們的最終產品應用點。

雖然在Exynos 2100上,CPU叢集(cluster)似乎非常明顯地位於一個更小、定義更明確的三星一致性互連中,但Tensor SoC 將CPU叢集整合到一個更大的CCI中。這個CCI看起來要麼是互連設定的非常不同的配置,要麼是不同的IP。

Tensor 的CPU設定為2x X1 + 2x A76 + 4x A55也有門道。

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

谷歌的CPU設定與其他SoC不同,它具有2+2+4配置的特點。雖然這並不是真正的獨一無二,三星對Exynos 9820和Exynos 990有著非常相同的設定,但Tensor上的X1+A76+A55配置目前在市場上是獨一無二的。

大多數其他供應商和機具都已升級到1+3+4,大+中+小CPU配置。

在Cortex-X1方面,Google使用一對Cores意味著,從理論上講,具有兩個重執行緒的晶片的效能應該高於任何其他只有一個大效能核心的Android SoC。

X1的頻率為2。8GHz,略低於Snapdragon 888的2。86GHz和Exynos 2100 X1 Cores的2。91GHz。Google為Cores配備了1MB的二級快取,類似於S888,是E2100配置的兩倍。

至於中核,Google使用了Cortex-A76 cores,這也一直是討論的熱點。

乍一看,考慮到A77和A78 Cortex都能提供更高的效能和能源效率,核心以2。25GHz的頻率分組,並具有256KB的L2,這似乎有點不合理。一個可能的原因是在晶片設計時,三星可能還沒有準備好整合新的IP。

晶片的設計需要一段時間,雖然它具有X1的特性,但在生產過程中可能已經來不及了。

至於小芯上,有4個A55芯,頻率為1。8GHz。與三星自己的Exynos晶片不同,谷歌決定為Cores提供128KB的二級快取,而不是64KB的快取,因此它們更符合Snapdragon 888配置。

另一個早期謠言是關於它的Mali-G78代GPU的,此後,Google 正式確認了Mali 第二大GPU, MP20,僅次於麒麟9000的24核單元。

最初的想法是,谷歌可能會以低頻率執行GPU,以最佳化能源效率,但他們最終仍然在以848MHz的峰值時鐘速度執行GPU,而Tiler和L2的峰值時鐘速度為996MHz。

Google 的Tensor 也是第一個得到證實的G78 GPU,它實際上利用了G78的ARM分時鐘平面設計,允許共享的GPU結構以比實際著色器核心更高的頻率執行,因此有兩個頻率,實際頻率非常高。

Google Tensor上的儲存器控制器看起來與Exynos 2100上的相同,支援LPDDR5在4倍16位通道配置中,總峰值理論頻寬為51。2GB/s。

谷歌還集成了8MB的系統快取,但並不完全清楚,如果這是同一IP三星在Exynos 2100上使用,似乎是8MB,或者在IP的最小版本中,因為它的架構方式以及它的行為方式存在一些真正的差異。

Google在這裡使SLC的非常廣泛使用用於提高SoC塊的效能,包括自己的自定義塊。SLC允許自身被分割槽並將SRAM區域專用於SoC上的特定IP塊,使其在不同用例情況下獨佔地訪問快取的全部或部分。

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

最後,谷歌Tensor的主要焦點顯然是它的TPU,即張量處理單元。到目前為止,谷歌只是把它稱為Tensor SoC內的TPU,但在驅動級,谷歌稱之為「EdgetPu」。

有跡象表明,該區塊與谷歌在2018年宣佈的ASIC「Edge TPU」有關。雖然谷歌沒有在Tensor內的TPU上釋出任何效能指標,但有資料顯示,該塊的功率高達5瓦。

因此,如果兩者確實相關,那麼考慮到過程節點的顯著優勢和總體上更新的IP,張量TPU(SiC)的效能數字應該非常重要。

這也是谷歌團隊引以為傲的點,它使用了最新的ML處理體系結構,針對谷歌研發團隊在公司內部執行機器學習的方式進行了最佳化,並承諾允許開啟一種新的和獨特的使用案例,這也是定製SoC的主要目標。

TPU塊似乎也帶來了一些谷歌稱之為「GSA」的塊,它負責操作TPU韌體,包含一個四核Cortex-A32 CPU設定。

Google首款自研CPU竟是偷師三星:一個模子,僅次於麒麟9000

總的來說,從谷歌和三星合作的最早報道來看,谷歌的Tensor最終幾乎達到了大眾對他們的晶片預期。

它是谷歌晶片嗎?

顯然是的,他們設計它是因為他們定義了它,同時也建立了一些谷歌獨有的塊,這些塊是晶片差異化的一部分。

這是三星Exynos晶片嗎?

也是的,從更基本的SoC架構層來看,Tensor在三星的Exynos設計中有著很多的共同點。

所以,稱Google Tensor為半定製設計似乎非常適合。也就是說,讓我們看看張量的行為是如何發生的,以及它在效能和效率方面的地位。

參考資料:

https://www。anandtech。com/show/17032/tensor-SoC-performance-efficiency