hexj9 |
2021-11-07 16:00 |
ISP 与 TPU 大家说 SoC 集成的 ISP 时,经常把它们描述为单个 IP。但实际上,ISP 是不同的专业 IP 块的组合,每个 IP 块处理成像管线中的不同任务。而 Google Tensor 非常有趣,因为它将三星用在 Exynos 芯片上的一些片段整合到了一起,同时还将自己开发的定制模块整合到了流水线中 —— 正如 Google 在展示 SoC 时所说的那样。 成像系统部分和 Exynos 是一样的,如相位检测处理单元、反差对焦处理单元、图像缩放器、畸变校正处理块和纹理遮挡函数处理块等。比 Exynos 少的部分,可能是三星的一些图像后处理模块。 谷歌在 ISP 中加入自己的 3AA 模块(自动曝光,自动白平衡,自动对焦) ,以及一对自己的时域降噪 IP 模块(用于对齐和合并图像)。这些很可能就是谷歌所说的那些有助于加速图像处理的模块,这些是 Pixel 系列计算摄影的一部分,毋容置疑地地代表了图像处理流水线中非常重要的部分。
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 模块。但出于某些原因,这些模块从未被启用过,也许是能效比并没有他们预想中的高。
图源 PBKreviews 另外,Google 还用三星的 Exynos 基带,做出了第一台非高通的毫米波手机。Pixel 6 系列用的是三星的 Exynos 5123 基带(译者:为遵循国内的习惯,这里把调制解调器称为基带)。三星在 2019 年就提到自己的毫米波射频和天线模块,说 2020 年会出现在量产机上(不知道当时是否计划让 Pixel 6 在 2020 年上市)。Pixel 6 系列的峰值速度可以达到 3200Mbps,但很多测试中,它的网速只有高通产品的一半左右。 虽然是同一个基带,但它不是像 Exynos 2100 那样集成在 SoC 里,而是外挂的。可能是因为 Google Tensor 的 GPU 和 CPU 规模太大了,而且 TPU 的规模也是未知数。毕竟就算是把基带外挂出去,Google Tensor 的规模也是相当大了,即便是和对比 Exynos 2100 的情况下。 总的来看,Google 确实设计和定义了 Tensor ,同时有很多 Google 特有的设计,是整体的芯片上的差异化。但从更底层的角度看,Tensor 和 Exynos 有很多共通之处,用了很多三星特有的基础模块,因此叫它“半定制”或许会更合适。 |
|