Google首款自研CPU竟是偷師三星:一個模子,僅次于麒麟9000
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 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也有門道。
谷歌的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塊,使其在不同用例情況下獨占地訪問緩存的全部或部分。
最后,谷歌Tensor的主要焦點顯然是它的TPU,即張量處理單元。到目前為止,谷歌只是把它稱為Tensor SoC內的TPU,但在驅動級,谷歌稱之為「EdgetPu」。
有跡象表明,該區塊與谷歌在2018年宣布的ASIC「Edge TPU」有關。雖然谷歌沒有在Tensor內的TPU上發布任何性能指標,但有數據顯示,該塊的功率高達5瓦。
因此,如果兩者確實相關,那么考慮到過程節點的顯著優勢和總體上更新的IP,張量TPU(SiC)的性能數字應該非常重要。
這也是谷歌團隊引以為傲的點,它使用了最新的ML處理體系結構,針對谷歌研發團隊在公司內部運行機器學習的方式進行了優化,并承諾允許打開一種新的和獨特的使用案例,這也是定制SoC的主要目標。
TPU塊似乎也帶來了一些谷歌稱之為「GSA」的塊,它負責操作TPU固件,包含一個四核Cortex-A32 CPU設置。
總的來說,從谷歌和三星合作的最早報道來看,谷歌的Tensor最終幾乎達到了大眾對他們的芯片預期。
它是谷歌芯片嗎?
顯然是的,他們設計它是因為他們定義了它,同時也創建了一些谷歌獨有的塊,這些塊是芯片差異化的一部分。
這是三星Exynos芯片嗎?
也是的,從更基本的SoC架構層來看,Tensor在三星的Exynos設計中有著很多的共同點。
所以,稱Google Tensor為半定制設計似乎非常適合。也就是說,讓我們看看張量的行為是如何發生的,以及它在性能和效率方面的地位。
參考資料:
https://www.anandtech.com/show/17032/tensor-SoC-performance-efficiency
本文來自微信公眾號“新智元”(ID:AI_era),編輯:LRS,36氪經授權發布。