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氪经授权发布。