首页 » 智能 » 「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是

「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是

落叶飘零 2024-09-05 01:02:41 0

扫一扫用手机浏览

文章目录 [+]

重回旗舰市场的打算拍照大佬,终于肯用当代的 CMOS 了!
机圈立即奔忙相告,直到国外用户拿到真机,Anandtech 放出 Google Tensor 的测试成绩和剖析……

在不改变 Anandtech 原意的情形下,我们对这颗如此主要和有趣的 SoC 的内容进行整理和编译,原文https://www.anandtech.com/print/17032/tensor-soc-performance-efficiency

「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是 「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是 智能

全自研还是魔改(半定制)?

Google 表示 Google Tensor 是迈向新型事情负载探索之旅的出发点,现有芯片方案无法实现他们说的目标。
凭借多年来的机器学习研究履历,Google 把 Tensor 做成一款以机器学习作为差异化的 SoC,听说其让 Pixel 能实现很多独特的新功能。

「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是 「科普」自研SoC行弗成?Google Tensor测试与分析_机能_的是 智能
(图片来自网络侵删)

关于 Google Tensor 的第一个争议是,它是全自研?还是魔改(半定制)?这里紧张看你对 “自研” 的定义,Google 和三星看似密切的互助,模糊了传统的自研和半定制之间的界线。

在 Google 内部, Google Tensor 代号是 GS101,可能是 Google SoC 或 Google Silicon 的意思。
而之前爆料说的 Whitechapel(白教堂),还没有任何证据表明其是真实存在的芯片。

而 Google Tensor 基本遵照三星 Exynos 的命名规则,其 ID 是“0x09845000”,拆解后能看到丝印是 S5P9845(编者:原文发布之初,认为 ID 对应 S5E9845,但经 TechInsights 拆解,确认是 S5P9845)。
作为参考,三星 Exynos 2100 的 ID 是 S5E9840,Exynos 1080 是 S5E9815。

几年前就有宣布说三星开始供应半定制的芯片做事,当时就有三星与思科、Google 的互助。
ETNews 在 2020 年 8 月的文章中提到,三星会根据客户需求供应“定制”技能和功能,乃至从芯片设计阶段就开始供应。

三星不再是大略的芯片制造商,而是完备参与芯片设计,这都可以和 ASIC 设计做事相提并论了。
但这是个很分外的情形,毕竟三星不但有台积电那样的芯片代工业务,它也有自己的自研 SoC。

Google Tensor 和三星 Exynos 高度同源,除了大家常说的 CPU、GPU、NPU 等高等构造外,芯片中的基本构造很多都是同源的。
虽然纸面上,三星、联发科、海思,乃至高通(只有CPU方面),用的都是 arm 的 Cortex CPU 和 Mali GPU 公版架构,但它们的底层架构还是非常不同的。

Google Tensor 利用的是三星 Exynos 的框架,不但有相同的时钟和电源管理架构,它们的存储掌握器、外部接口的 PHY IP 等高等块,乃至连 ISP 和媒体编解码器等较大的 IP 功能块都很相似。
有趣的是, Github 上已经有 GS101 的公开信息,可以 1:1 地比较它和 Exynos 的构造组成。

不过,虽然用了 Exynos 的根本模块和框架,但 SoC 的定义确实由 Google 掌握,构造和 IP 块之间的连接设计上,Google Tensor 和三星 Exynos 都是不同的。

例如 Exynos 上,CPU 是用总线连起来的,而 Google Tensor 的 CPU 集群是被集成在一个更大的 CCI 里面。
从外部看,可能是用了不同的总线设计,也可能是完备不同的 IP。
其余,像内存掌握器的连接办法,它们也是不太一样的。

狂野的性能规格

单看 CPU 就知道 Google Tensor 和大路货不一样,2x X1 + 2x A76 + 4x A55,这个“2+2+4”构造在三星 Exynos 9820 和 Exynos 990 都涌现过。
但当今 Android 旗舰 SoC 中, 1+3+4 才是绝对的主流。
而且敢堆 2 颗 X1 的,仅 Google 一家。

理论上有两颗 X1 超大核,其 CPU 多核性能会比单颗 X1 的产品更强。
而频率上,Google Tensor 的 X1 都是 2.8GHz,略低于骁龙 888 的 2.84GHz 和 Exynos 2100 的 2.91Hhz。
此外,Google 还和骁龙888 一样给了 1MB L2 缓存,比 Exynos 2100 的 512KB 残血 X1 更猛。

大核(编者:你喜好叫中核也行)这边,Google 选择了古早的 A76 架构,这是件很有争议性的事(2.25GHz,256KB 的 L2 缓存)。
毕竟这并不合理,由于 A77 和 A78 的性能和能效比都更高。
连 Anandtech 都没从 Google 那里得到明确的阐明。

他们预测可能是几年前设计芯片的时候,三星手上也没有更新的 IP 供 Google 选择。
也可能是在超大核换成X1 的时候,没有韶光连大核也一起换了。
但 Google 该当不是特意选用 A76 的,由于从下面的测试可以创造,A76 真的是跟不上时期了。

小核这边,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 系列打算拍照的一部分,毋容置疑地地代表了图像处理流水线中非常主要的部分。

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 有很多共通之处,用了很多三星特有的根本模块,因此叫它“半定制”或许会更得当。

实际性能表现:不尽如人意

测试中,Google Tensor 的 DRAM 延迟较高,还不如 Exynos 2100,和骁龙888 比就更差了。
Google 改过了内存掌握器,它会根据负载和内核的内存失落速百分最近掌握 MC 和 DRAM 速率,这部分是和三星不同的,其实际利用率也不如三星的内存掌握器高。
现在不知道是 CPU 的问题,还是全体 SoC 内部的问题,但这确切地影响了下面的测试。

它的 L3 延迟也相称高,比 Exynos 2100 和骁龙 888 高得多。
Google 没有给 DSU 和 CPU L3 缓存设定特定的频率,而是把它和 A55 小核的频率关联。
奇怪的是,即便 X1 或 A76 满载,A55 和 L3 却在低频 “摸鱼”。
同样情形下 Exynos 2100 和骁龙 888 都是会提高 L3 频率的。

在系统缓存测试中,能看到 11-13MB 的延迟情形 (1 MB L2 + 4 MB L3 + 8 MB SLC) ,在正常的内存访问中,Tensor 也是比 Exynos 要慢的,可能和被改过的个别缓存管线有关。

由于 L3 和 A55 的频率捆绑,且频率高,以是 Google Tensor 的 A55 小核是几个 SoC 里 L3 延迟最低的,彷如没有异步时钟桥一样平常。

CPU 部分,Google Tensor 更像是骁龙 888,而不是 Exynos 2100。
虽然 Google Tensor 的 L2 缓存是 Exynos 2100 的 2 倍,但频率低了 3.7%(110MhHz)。

Tensor 的弱点是内存延迟,导致 SPEC 测试中很多子项目都比 骁龙888 和 Exynos 2100 慢,但能耗却更高(CPU 在干等内存)。
SPEC 总分上,Tensor 的表现比 Exynos 2100 略差,比拟骁龙888 的掉队幅度达到 12.2% ,由于跑完测试的韶光更长,终极耗电还多了 13.8% 。
折算回来,相对骁龙888 的差距该当是 1.4% 旁边。

它也有和 Exynos 2100 一样的降频问题,只是相对没有那么严重。
如果冷却得当,性能会高 5%-9% 旁边(上图的测试结果是在 11 度的环境下得到的)。

可怜的 A76 大核,骁龙 888 的 A78 比它强 46%,还更省电,实际 IPC 差距在 34%,这倒符合两个构架之间的差距。
如果真是为了省电,完备可以做个低频的 A78,但结果 Google 放了两颗频率又高、又耗电、性能还弗成的 A76,只能推断 Google 是没得选,而不是故意而为之。

越靠近右下角,能效比越低;越靠近左上角,能效比越高 ↑

A55 小核这边也弗成,性能只是比同频的骁龙 888 的 A55 高 11%(感谢 L3 和 SLC),但却险些是 2 倍的功耗,俨然便是继续了 Exynos 高功耗 A55 的血统,能效比乃至比自己的 A76 大核还拉胯。
看看联发科天玑 1200 的 A55,再看看 A14 的能效核心,这真是个残酷的天下。

Google Tensor 由于拉胯的 A76 性能表现,就算有 2 颗 X2 都无力回天,拖低了整体分数。
X1 本身也比对手稍慢一些,大部分韶光的能效比都和 Exynos 2100 的 X1 同等。
但 A76 实在掉队时期太多了(无论是性能还是能效比),而 A55 又继续三星低能效的传统,一言难尽便是了。

GPU 这边规模大,频率高,但 3DMark Wild Life 测试的峰值性能只比 Exynos 2100 高 21%。
在 GFX Bench 的 Aztec 场景测试中,领先 Exynos 2100 14%,小幅领先骁龙888。
虽然采取了分频设计,但貌似瓶颈在 GPU 的其他地方。

Tensor 的 GPU 峰值功率高达 9-10W,手机一跑就降频(一轮测试都没跑完啊……),拖低了整体功耗,以是才会有 7.28 W 的均匀功耗。
Pixel 6 系列没有热管,散热配置和机身构造更像是 iPhone,而不是猛堆散热的安卓旗舰。
它跑起来时,左侧的 SoC 45 度,但右侧只有 30-33 度,散热确实是弱。

让人不解的是,今年这批 SoC 都设定了高得不切实际的 GPU 频率,一跑就降频。
可能是为了应对突发的 GPU 负载?或者是其他什么缘故原由?但无论怎么样,实际能效比是受累了。

而 Tensor 的功耗问题,外加 Pixel 6 Pro 虽然也是LTPO屏幕,但表现和三星旗舰明显不同,全屏引发亮度750nit,远低于 S21U 的 942 nit,实际正常根本功耗可能会更高。
多种不利成分,终极让 Pixel 6 Pro 的续航并不好看,反倒是 90Hz 的 Pixel 6 续航表现还不错:

TPU:极强的推理性能

这是 Google Tensor 挽回颜面的地方。
MLPerf 测试中,Pixel 是在 NNAPI 跑的,其他厂商是各自的库,高通是 SNPE(最近优化了 MLPerf 1.1,提升了成绩)、三星是 EDEN,联发科是 Neuron,而苹果没有 coreML 加速,以是亏损。

在图像分类、目标检测和图像分割事情负载中, Tensor 成绩低于高通,但强于三星。
而在措辞处理(MobileBERT 模型),Google Tensor 供应了骁龙 888 3 倍的性能,推理部分强得很。
Google 在宣扬里,确实也提到过实时转录、翻译等利用场景是其差异化所在。

还没发布的 GeekBench ML 测试,用是 TensorFlow 模型,代表的是 GPU 的机器学习性能。
这时候 Google Tensor 就弱于 Exynos 2100。
如果用 NNAPI 模型,此时是 CPU+GPU+NPU 的稠浊事情,Google Tensor 就可以大幅领先骁龙 888。

除了绝对性能,跑 AI 测试时,Pixel 6 Pro 的整机功耗和 Exynos 2100 的 Galaxy S21 Ultra 靠近。
单独进行推理任务时, Exynos 2100 的爆发功率达到 14W,骁龙 888 也有 12W。
但由于 Google Tensor 的 AI 性能更高,以是终极能效比要更高一些。

不过 Google 还没有操持推出干系的 SDK 让开发者去更好地利用这颗强大的 TPU 。
但再看看三星,它的 NPU 发布都 2 年了,现在都没有 SDK…… 现在 TPU 的强大性能,紧张集中表示在官方 app 里,像是给摄像头加入更多的机器学习功能,以及各种翻译功能。

总结

Google 表示,他们搞自研 SoC 的紧张缘故原由是现有的 SoC 在机器学习上的性能和能效比太低。
而 Tensor 的机器学习性能和能效,被用来支撑新的用例和体验,例如我们在 Pixel 6 系列上看到的很多机器学习特性。
像是实时转录、实时翻译和图像处理等算法,所有这些都是运行在 Tensor 的 TPU 上的。

虽然 Google 可能不想承认或者评论辩论,但 Google Tensor 确实便是和三星互助的产物,大部分都源自 Exynos,并继续了三星在能效比方面的弱点。
CPU 被古老的 A76 拖后腿,规模弘大的 GPU 被散热拖后腿,但 TPU 确实表现很好,特殊是自然措辞处理方面,远远抛离所有竞品。

但总的来说,我们认为 Google 已经通过 Tensor 实现了最初的目标。
我们不知道 Google 下一代的 SoC 会走什么样的路线,但我们很有兴趣等等看。

标签:

相关文章

单片机实例分享触摸式电钢琴_所示_洞洞

制作所需的元器件如表9.1所示。本着精简制作的原则,笔者用到的都是很普通的元器件,数量也很少,以是硬件制作的难度不是很大。连接部分...

智能 2025-01-17 阅读0 评论0