谷歌正式发布Pixel6和6Pro形式的最新旗舰设备

来源:内容来自《anandtech》编译的半导体行业观察,谢谢。

自谷歌以 Pixel 6 和 Pixel 6 Pro 的形式正式发布其最新的旗舰设备以来,已经过去了大约两周。这两款新的 Pixel 手机可以说是谷歌自 Pixel 系列推出以来的最大转变,它们基本上展示了该设备各个方面的重大变化。准确地说,除了 Pixel 的名称之外,谷歌的新旗舰与它们的前辈几乎没有共同之处。

这些手机以看似具有竞争力的价格配备了全新的显示屏、摄像头系统、机身设计和内部硬件,为该系列带来了一个非常好的新起点。

最大的变化之一,也是我们读者最感兴趣的变化之一,是 Pixel 6 和 Pixel 6 Pro 由 Google 自己的“Tensor”SoC 提供支持。关于张量是什么也有很多困惑。谷歌解释说,Tensor 是谷歌支持新型工作负载之旅的开始,用公司的话说,这些工作负载是“标准”商业芯片解决方案根本不可能或不可能实现的。在公司多年对机器学习的研究基础上,谷歌打造了一款专注于机器学习的芯片,将其作为其主要差异化功能,据称这使 Pixel 6 手机拥有许多独特的新功能。

今天,我们将深入了解 TensorSoC。这包括尝试记录其确切组成,显示市场上其他 SoC 之间的差异或相似之处,以及更好地了解 Google 已将哪些类型的 IP 集成到芯片中以使其独一无二并保证将其称为 Google SoC。

芯片产地

根据谷歌自己的资料,Tensor 是谷歌自己设计的 SoC。虽然这一切的真相会因你如何定义“设计”而有所不同,但我们可以看到该芯片遵循了谷歌和三星 LSI 之间的密切合作,在这个过程中也模糊了传统的定制设计和半构建. 定制设计之间的界限。

从最高级别开始,我们有 SoC 的实际名称。“Google Tensor”比较抽象,目前还没有官方模型附在这个芯片上。所以下一代是否会推出“Tensor 2”或其他东西还有待观察。在内部,谷歌将芯片称为“GS101”,虽然我不完全确定 GS 在这里代表什么,但它很可能是谷歌 SoC 或谷歌硅。我们也早就听说过“白教堂”的报道,但我们无法证实。

在硅片方面,该芯片还有另一个型号,SoC 的融合芯片标识沿用了三星的 Exynos 命名方案。这里我们发现该芯片的ID为“0x09845000”,对应S5E9845(编辑:其实是S5P9845)。三星最新的LSI SoC是Exynos 2100,标识为S5E9840。

为什么 Google SoC 遵循 Exynos 内部命名方案?这是我们可以开始看到设计的一些出处的地方。一段时间以来,一直有广泛报道称三星几年前就向半定制硅设计产品敞开了大门。2020 年 8 月,ETNews 还详细介绍了三星的商业计划以及它如何涉及谷歌的芯片(以及思科的设计胜利):

具体来说,三星不仅仅是单纯的代工制造商,而是全面参与芯片设计的一方。这在很大程度上可以与 ASIC 设计服务相媲美,只是三星也是商业 SoC 供应商和芯片制造商,这在行业中相当独特,因此属于特例。

现在我们已经有了芯片,并且对它的特性进行了开源洞察,我们可以开始分解 Google Tensor 的真正含义:

类似的设计?

在 SoC 的基本构建中,Google Tensor 沿用了三星的 Exynos SoC 系列。除了人们在 SoC 中经常谈论的常见的高级模块(如 CPU、GPU、NPU 和其他主要特性)之外,还有芯片的基本模块:这些是结构模块和 IP,时钟管理架构、电源管理架构以及将这些部分实现到实际芯片中的设计方法。在纸面上,三星 Exynos、联发科天玑或海思麒麟,甚至高通骁龙(在 CPU 方面)可能在规格方面有相似的设计——使用相同的高级 IP,例如 Arm 的 Cortex CPU 或 Mali GPU—— ——因为底层的SoC架构非常不同,这些芯片最终还是会有不同的表现。

Tensor 的设计基于三星在其 Exynos SoC 上使用的 IP,利用相同的时钟管理和电源管理架构。在 IP 层次结构中,我们发现高级 IP 块之间的其他相似之处,例如内存控制器、结构 IP、各种面向外部接口的 PHYIP,甚至更大的 IP 功能块,例如 ISP 或媒体解码器/编码器。有趣的是,这些东西现在可供公众审查,并且可以在构造方面与其他 Exynos SoC 进行 1:1 比较。

这让我们质疑 Google 声称 Tensor 是他们自己的设计的说法——这在一定程度上是正确的,但对于您对“设计”的定义以及您想要走多远可能会有所不同。尽管 Tensor/GS101 是基于 Exynos 基础模块和 IP 构建的——甚至可能由三星集成和流片——但 SoC 的定义是在 Google 的控制下完成的,因为它是他们的产品。虽然在 Tensor 的基础块和最低层块方面与 Exynos2100 非常相似,但 Google 的设计在结构和内部互连方面有所不同。这意味着各种 IP 块如何相互交互的蜘蛛网与三星自己的 SoC 不同。

这方面的一个实际示例是如何将 CPU 内核集成到 SoC 中。虽然在 Exynos 2100 上,CPU 集群似乎非常清楚地位于更小、更明确的三星一致互连中,但 Tensor SoC 将 CPU 集群集成到更大的 CCI 中,这似乎是一个非常不同的互连设置配置,或者完全不同的IP。同时,还有一些相似之处,比如将一条主内存流量总线连接到内存控制器,将另一条流量较低的“内部”总线连接到其他 IP,这就是 Exynos SoC 倾向于分离事物的方式。应该可以对 SoC 进行更详细的逆向工程和映射,但这是一件耗时的事情,超出了本文的范围。

CPU 设置:2x X1 + 2x A76 + 4x A55

虽然我们可以继续讨论 SoC 架构,但让我们先停下来。我们从 CPU 集群开始,深入探讨 Tenor SoC 更明显和实际的差异。

Google 的 CPU 设置不同于其他 SoC,因为它具有 2+2+4 配置。虽然这并不是真正的例外——因为三星对 Exynos 9820 和 Exynos 990 使用相同的设置——但 Tensor 上的 X1+A76+A55 配置目前在市场上是独一无二的。大多数其他供应商和实现已转向 1+3+4 大 + 中 + 小 CPU 配置。

在 Cortex-X1 方面,谷歌使用一对内核意味着,理论上,具有两个重线程的芯片应该比任何其他只有一个大性能内核的 Android SoC 性能更好。X1 对的主频为 2.8GHz,略低于 Snapdragon 888 的 2.86GHz 和 Exynos 2100 X1 内核的 2.91GHz。谷歌为核心配备了完整的 1MB 二级缓存,类似于 S888,是 E2100 配置的两倍。

中核方面,谷歌采用了 Cortex-A76 内核,一直是热门话题。乍一看,考虑到 Cortex-A77 和 A78 都提供更高的性能和更高的能效,这似乎有点不合理。内核主频为 2.25GHz,具有 256KB 的 L2。我们还没有从谷歌那里得到关于他们为什么使用 A76 的明确解释,但我认为很有可能在设计芯片时,三星还没有准备好集成更新的 IP。该芯片已经投入使用一段时间了,虽然它确实具有 X1 内核,但在此过程中迁移到更新的中间内核可能为时已晚。我不认为使用 A76 内核而不是 A78 是一个有目的的选择,因为正如我们将在性能基准测试中看到的那样,旧的设计表现不佳。

在小核心上手机内核源代码有什么用,有 4 个 1.8GHz A55 核心。与三星自家的 Exynos 芯片相比,谷歌决定为内核配备 128KB 的二级缓存,而不是仅仅 64KB,因此它们更符合骁龙 888 的配置。Google 的一个奇怪选择是集群的 L3 缓存与 A55 内核位于同一时钟平面上,这会影响延迟和功耗。这也与我们在 Exynos 2100 上看到的专用 L3 时钟平面不一致。

另一个胖 MaliGPU:高主频 G78MP20

早前有关 SoC 的传言暗示它将配备 Mali-G78 GPU,但我们不知道该设计的确切核心数或时钟。此后,谷歌确认了其 MP20 配置,这是继麒麟 9000 及其庞大的 24 核单元之后的第二大 Mali GPU 配置。我最初的理论是 Google 可能会以低频率运行 GPU 以优化能效,但最终我震惊地发现他们仍在以 848MHz 的着色器核心的峰值时钟速度和 996MHz 的速度运行 GPU用于平铺机和 L2。如果我没记错的话,GoogleTensor 似乎是第一个确认的 G78 实现,实际上利用了 Arm 为 G78 设计的分离时钟平面,

图片[1]-谷歌正式发布Pixel6和6Pro形式的最新旗舰设备-老王博客

实际频率非常高。Exynos 2100 的 G78MP14 已经以 854MHz 运行,我们认为这是一款峰值功率非常高的芯片;但在这里,谷歌增加了 42% 的核心并且不会降低频率。因此,就 GPU 峰值功率而言,这是非常令人担忧的,我们将在稍后的 GPU 评估部分看到这些。

LPDDR5、8MB SLC 缓存

GoogleTensor 上的内存控制器似乎与 Exynos2100 上的相同,支持 4x 16 位通道配置的 LPDDR5,总峰值理论带宽为 51.2GB/s。

谷歌还集成了 8MB 的系统缓存,我不清楚这是否与三星在 Exynos 2100 上使用的 IP 相同。看起来它们都是 8MB,但我倾向于说这是不同的 IP,或者至少是 IP 的不同版本,因为它的架构方式和行为方式存在一些真正的差异。

Google 在这里非常广泛地使用 SLC 来提高 SoC 模块的性能,包括他们自己的自定义模块。SLC 允许对自身进行分区并将 SRAM 区域专用于 SoC 上的特定 IP 块,从而使它们能够在不同的用例场景下独占访问全部或部分缓存。

自定义混合 ISP 管道

通常当人们或公司谈论 SoC ISP 时,它们总是被描述为单个单片 IP 块。实际上,我们所说的“ISP”是不同专用 IP 块的组合,每个 IP 块在我们所谓的成像管道中处理不同的任务。这里的 Google Tensor 很有趣,因为它采用了三星在其 Exynos 芯片上使用的点点滴滴,并将定制的 Google 开发的模块集成到管道中——这实际上是 Google 在他们的 SoC 演示中谈到的。

成像系统使用与 Exynos 成像管道对应的 IP 块,例如像素相位检测处理单元、对比度自动对焦处理单元、图像缩放器、失真校正处理块和视图相关的遮挡纹理功能处理块。这里缺少的是缺少其他一些处理块,我认为这与三星使用的更多后处理计算块有关。

Google 在 ISP 链上开发的 IP 块似乎是他们自己的 3AA IP(自动曝光、自动白平衡、自动对焦),以及一对能够对齐和合并图像的自定义时间降噪 IP 块。这些可能是谷歌谈论的自定义块,他们说他们开发的块有助于加快他们用作像素线计算摄影一部分的图像处理类型,并且无可争议地代表了图像处理管道的一个非常重要的部分。

谷歌的edgeTPU:制作张量Tensors

到目前为止,很明显,谷歌张量的核心话题一直是它的 TPU——或者说它的张量处理单元。顾名思义,TPU 是谷歌开发的一个自定义 IP 块,该公司已经研究了几年。到目前为止,谷歌只是将其称为 Tensor SoC 内部的 TPU,但在驱动程序级别,该公司将块称为“edgeTPU”。这很有趣,因为该块与谷歌在 2018 年宣布的 ASIC“Edge TPU”信号有关。分立芯片的广告宣传为 4 TOPs 的处理能力和 2 瓦的功率,而谷歌没有宣传任何性能指标Tensor 内部的 TPU,有条目显示此块的功率高达 5W。所以,如果两者确实相关,

该模块是谷歌芯片团队的骄傲,它告诉我们它使用了针对谷歌研发团队在公司内部运行机器学习的方式优化的最新 ML 处理架构,并承诺允许打开新的和独特的用例手机内核源代码有什么用,这些首先,用例是制作定制 SoC 的主要目标。稍后我们将在更关注像素的评论中讨论产品端用例,但 TPU 的性能数据确实令人印象深刻。

TPU 块似乎还带有某种被 Google 称为“GSA”的块。这只是我基于驱动程序的推测,但这似乎是一种负责操纵 TPU 固件的控制块,我认为它包含一个四核 Cortex-A32 CPU 设置。

媒体编码器,其他东西

在媒体编码器方面,Tensor SoC 使用三星自己的多功能编解码器 IP 块(与 Exynos 系列上使用的相同)以及似乎专用于 AV1 解码的 Google IP 块。现在这有点奇怪,因为三星确实宣传 Exynos 2100 具有 AV1 解码功能,而且该功能似乎在内核驱动程序中。然而,在 Galaxy S21 系列上,该功能从未在 Android 框架级别实现。我对这里的原因没有很好的解释——也许 IP 不能与 AV1 一起正常工作。

该公司称为“BigOcean”的谷歌 IP 块是一个专用的 AV1 解码器,它本质上将 AV1 解码能力暴露给 Android 框架。这里非常奇怪的是,它所做的一切都是 AV1——其他格式的所有其他编码和解码都留给了三星 MFC。这是一个有趣的情况,我想知道下一代 SoC 的发展方向。

Tensor SoC 的其他差异是,例如,音频子系统。三星的 SoC 低功耗音频解码子系统被谷歌自己的 block 设计取代,我没有过多讨论,但一般两个 block 有相同的任务,就是允许低功耗音频播放而不唤醒 SoC 的大部分. 我认为这个块(或 GSA)还负责成为传感器数据聚合的始终在线上下文中心,其中 Tensor 使用 Google 的 IP 和做事方式,而不是同一块的 Exynos 变体。

Google 还采用了名为 Emerald Hill 的块状固定功能硬件内存压缩器,它为内存页面提供 LZ77 压缩加速,进而可用于加速交换中的 ZRAM 卸载。我不确定 Pixels 目前是否可以开箱即用,但应该可以

请参阅 /sys/block/zram0/comp_algorithm 中的“lz77eh”以确认是否有人可以阅读它。

有一个轶事,早在 5 年前,三星将类似的硬件压缩 IP 块集成到他们的 SoC 中以完成相同的任务,但由于某种原因,这些块从未用于出货设备。也许能源效率并没有他们想象的那么成功。

外置 Exynos 调制解调器:首款非高通毫米波手机?

由于它是手机 SoC,因此 Tensor 自然需要某种蜂窝连接。这是谷歌依赖三星的另一个领域,使用该公司的 Exynos 调制解调器 5123。然而,与 Exynos 2100 及其集成调制解调器不同,Tensor 使用单独的外部变体。至于为什么它是独立的,这很可能是由于拥有巨大的 GPU、更大的 CPU 设置(两个 X1 具有完整的 1MB L2) 和未知的 TPU 大小,Tensor 芯片甚至与 Exynos 2100 相比)相当大。

我这边的另一个理论是,谷歌在美国网络上仍将以某种方式与高通联系在一起——无论是 CDMA 还是毫米波 5G 连接。令人惊讶的是,情况似乎并非如此,因为 Pixel 6 系列在全球范围内都配备了 Exynos 调制解调器。这使得 Pixel 6 系列特别有趣,因为这似乎是第一个非高通毫米波实施。作为参考,三星早在 2019 年就谈到了他们的 mmWave RFIC 和天线模块,称他们计划在 2020 年推出设备。这是否意味着 2020 年的设计(Pixel 6 系列将是)或商业可用性当时尚不清楚,但它这些似乎是第一款采用该解决方案的商用手机。我不希望再在这里给自己毫米波覆盖几年,但第三方报告将手机的速度提高到 3200Mbps,和其他现场测试显示,高通设备的实际速度大约只有一半。我希望在接下来的几周和几个月内,更多的人将有机会深入了解调制解调器的性能特征。

总体而言,谷歌张量最终几乎完全符合我们的预期,这是谷歌与三星合作的最早报道。是谷歌芯片吗?是的,他们在定义它的意义上设计了它,同时还创建了许多谷歌独特的块,这些块是芯片差异化不可或缺的一部分。

是三星 Exynos 芯片吗?同样是的,在更基本的 SoC 架构级别上,Tensor 与三星的 Exynos 设计有很多共同之处。

在 Tensor 的几个领域中,三星的设计具有独特的架构和行为元素,在其他任何地方都找不到。为此,将 Google Tensor 称为半定制设计似乎符合其本质。也就是说,让我们看看 Tensor 的表现如何——以及它在性能和效率方面的表现。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论