谷歌|Google自研手机SoC深度揭秘:翻车了?( 二 )


小核这边,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 系列计算摄影的一部分,毋容置疑地地代表了图像处理流水线中非常重要的部分 。
谷歌|Google自研手机SoC深度揭秘:翻车了?
文章图片
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 模块 。但出于某些原因,这些模块从未被启用过,也许是能效比并没有他们预想中的高 。


推荐阅读