soc是什么意思(科普)
admin
2023-10-31 17:20:32

因为上一次替补骁龙765G骚操作,在大家心目中,GooglePixel系列就是一代掉。Pixel6系列则不同。有谷歌自研的SoC——GoogleTensor(Tensor就是张量的意思,名字很AI,很ML),赶上时代的相机硬件,价格也比较厚道。

回归旗舰市场的计算摄影巨头们终于愿意用现代CMOS了!飞机圈立马跑来跑去互相告知,直到国外用户拿到真机,Anandtech才发布GoogleTensor的测试结果和分析.

在不改变Anandtech初衷的情况下,我们对这个重要而有趣的SoC的内容进行了整理和汇编,原文为https://www . Anand tech.com/print/17032/Tensor-SoC-performance-efficiency。

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

Google表示,GoogleTensor是新工作负载探索的起点,现有的芯片解决方案无法实现其既定目标。谷歌凭借多年的机器学习研究经验,将Tensor打造成机器学习差异化的SoC,据说可以让Pixel实现很多独特的新功能。

关于GoogleTensor的第一个争议是它是自研的?还是魔变(半定制)?这里主要看你对& quot自我研究& quot。谷歌和三星看似紧密的合作,模糊了传统自研和半定制的界限。

在谷歌内部,GoogleTensor代码是GS101,可能是GoogleSoC或者GoogleSilicon的意思。之前透露的白教堂,没有证据证明是真的芯片。

GoogleTensor基本遵循三星Exynos的命名规则,ID为& quot0x09845000 & quot。拆解后可以看到屏幕打印的是S5P9845(编辑:原刊之初认为ID对应的是S5E9845,经TechInsights拆解后确认是S5P9845)。作为参考,三星Exynos2100的ID是S5E9840,Exynos1080是S5E9815。

几年前,有报道称三星开始提供半定制芯片服务。当时有三星与思科、谷歌合作的消息。ETNews在2020年8月的一篇文章中提到,三星将提供& quot定制& quot技术和功能,甚至从芯片设计阶段。

三星不再是单纯的芯片厂商,而是全面参与芯片设计,可以和ASIC设计服务相提并论。但这是非常特殊的情况。毕竟三星不仅有TSMC那样的芯片代工业务,还有自己自主研发的SoC。

GoogleTensor和三星Exynos高度同源。除了CPU、GPU、NPU等高级结构外,芯片内很多基本结构都是同源的。虽然理论上,三星、联发科、海思,甚至高通(仅限CPU)都使用了arm的CortexCPU和MaliGPU公共架构,但是它们的底层架构还是有很大差别的。

GoogleTensor使用的是三星Exynos的框架,不仅有相同的时钟和电源管理架构,还有存储控制器、外部接口PHYIP等高层模块,甚至还有ISP、媒体编解码等更大的IP功能模块。有意思的是,Github上已经有GS101的公开资料,可以和1:1的Exynos进行对比。

不过,虽然使用了Exynos的基本模块和框架,但SoC的定义确实是由Google掌控的。在IP块的结构和连接设计上,GoogleTensor和三星Exynos是不一样的。

例如,在Exynos上,CPU是通过总线连接的,而GoogleTensor的CPU集群被集成到一个更大的CCI中。从外面看,可能是不同的总线设计,也可能是完全不同的IP。另外,和内存控制器的连接方式一样,也不尽相同。

狂野的性能规格

单看CPU,我们知道GoogleTensor不同于主食商品,2x1x764xa55,而这个& quot224 & quot;结构已经出现在三星Exynos9820和Exynos990中。但在如今的安卓旗舰SoC中,1 3 4是绝对的主流。而敢堆两个X1的,只有Google。

理论上有两个X1超级核,其CPU多核性能会比单个X1产品更强。频率方面,GoogleTensor的X1为2.8GHz,略低于骁龙888的2.84GHz和Exynos2100的2.91Hhz。另外,和骁龙888一样,谷歌也给了1MBL2缓存,比Exynos2100的512KB残血X1更强大。

在大核上(编者:你喜欢可以叫它CNNC),谷歌选择了古老的A76架构,这是很有争议的(2.25GHz,256KB L2缓存)。毕竟这是不合理的,因为A77和A78都有更高的性能和能效比。就连Anandtech也没有得到谷歌的明确解释。

他们推测可能是几年前设计芯片时,三星没有更新的ip供谷歌选择。也有可能是当非常大的核心换成X1的时候,没有时间换大的核心。但是谷歌应该不会刻意选择A76,因为从下面的测试中可以发现,A76确实是落伍了。

在小内核方面,有四个1.8GHz的a55。谷歌选择了128KB L2缓存,而不是三星Exynos。

自己用的64KB,这让这个CPU更像骁龙888了。但比较奇怪的是,Google把集群的L3缓存频率和A55绑定,这会导致延迟和功耗问题。另外,这也和Exynos2100的L3频率是不同的。

GoogleTensor的GPU是Mali-G78MP20,规模仅次于麒麟9000的G78MP24(编者:G78的极限)。大家最开始以为Google会用低点的频率来提升能效比。但结果Google竟然把着色器频率推到845MHz,把tiler和L2频率推到996MHz,简直癫狂。另外,它也是第一个用上G78分离频率特性的产品。

作为参考,Exynos2100的G78MP14也“只是”854MHz,后者的峰值功耗已经很高了。结果Google增加42%的核心,却依然维持高频。因此它的峰值性能很让人期待,但峰值功耗也会很猛。而内存控制器似乎和Exynos2100相同,支持4x16bit的LPDDR5,理论带宽51.2GB/s。

它也用了8MB的系统缓存,但还不清楚是否用了和三星Exynos2100一样的IP,因为它们的架构和行为方式都不太一样。Google大量使用SLC来提升SoC性能(包括他们自己的定制模块)。这个SLC允许自分区,将SRAM专门分给SoC上特定的IP块,使它们在不同用例下,能对全部或部分缓存进行独占访问。


ISP与TPU:谷歌的光辉

大家说SoC集成的ISP时,经常把它们描述为单个IP。但实际上,ISP是不同的专业IP块的组合,每个IP块处理成像管线中的不同任务。而GoogleTensor非常有趣,因为它将三星用在Exynos芯片上的一些片段整合到了一起,同时还将自己开发的定制模块整合到了流水线中——正如Google在展示SoC时所说的那样。

成像系统部分和Exynos是一样的,如相位检测处理单元、反差对焦处理单元、图像缩放器、畸变校正处理块和纹理遮挡函数处理块等。比Exynos少的部分,可能是三星的一些图像后处理模块。

谷歌在ISP中加入自己的3AA模块(自动曝光,自动白平衡,自动对焦),以及一对自己的时域降噪IP模块(用于对齐和合并图像)。这些很可能就是谷歌所说的那些有助于加速图像处理的模块,这些是Pixel系列计算摄影的一部分,毋容置疑地地代表了图像处理流水线中非常重要的部分。

TPU是让GoogleTensor被称为Tensor的地方。Google已经用自研TPU好几年了,在驱动层面,Google把Tensor的TPU称作EdgeTPU(端侧边缘TPU)。这是相当有趣的信号,因为它应该和Google2018年发布的EdgeTPU有关,后者是Google为边缘推理而设计的ASIC芯片(官网cloud.google.com/edge-tpu)。

当年的EdgeTPU宣称在2W功耗下可以提供4TOPS的算力,但Google并未公布Tensor的TPU性能指标,但是在一些测试中可以看到它的最大功率是5W左右。因此如果它们确实是有关联的,考虑到这几年的制程和IP上的进步,GoogleTensor的TPU性能应该有明显提升了。

这个TPU是谷歌芯片团队的骄傲,它正在使用最新的机器学习处理架构,这个架构针对Google内部运行机器学习的方式进行过优化,并且表示它可以允许开发新的、独特的用例,这是Google做定制SoC的主要目标和出发点之一。在后面的测试中,这个TPU的性能指标确实也是令人印象深刻的。因为TPU的信息不多,我们只能基于它的驱动程序做简单猜测,它可能包含四核心的Cortex-A32CPU。


其他模块:基带与音视频解码器

在媒体编码器方面,GoogleTensor使用了三星的多功能编解码器(与Exynos系列同款),还有一个看起来像是用于AV1解码的自研IP块。这有点奇怪,因为三星的宣传中,Exynos2100是有AV1解码功能的,而且这个功能貌似也在内核驱动程序里面。但在GalaxyS21系列中,这个AV1解码功能从未在Android的层面实现过。

谷歌加入的这个专用的AV1解码器被他们称做“BigOcean”,它能让Android系统具备AV1硬解能力。但非常奇怪的是,它真的就只负责AV1,其他格式编解码还是由三星的MFC负责。

GoogleTensor的音频子系统也不同,Google用自己设计的IP块代替了三星的低功耗音频解码子系统,它们可以在无需全部唤醒SoC的情况下进行低功耗的音频播放。我们认为这部分也是当协处理器用的,这也是GoogleTensor和Exynos不同的地方。

Google还用了一种称为EmeraldHill的硬件内存压缩器,对内存页面进行LZ77压缩加速,反过来也可以用来加速交换中的ZRAM的卸载过程。现在还不确定Pixel系列是否已经启用这个模块,但能确认在“/sys/block/zram0/comp_algorithm”目录中有“lz77eh”。作为课外资料,三星早在5年前,就在SoC里集成了类似的硬件压缩IP模块。但出于某些原因,这些模块从未被启用过,也许是能效比并没有他们预想中的高。

图源PBKreviews

另外,Google还用三星的Exynos基带,做出了第一台非高通的毫米波手机。Pixel6系列用的是三星的Exynos5123基带(译者:为遵循国内的习惯,这里把调制解调器称为基带)。三星在2019年就提到自己的毫米波射频和天线模块,说2020年会出现在量产机上(不知道当时是否计划让Pixel6在2020年上市)。Pixel6系列的峰值速度可以达到3200Mbps,但很多测试中,它的网速只有高通产品的一半左右。

虽然是同一个基带,但它不是像Exynos2100那样集成在SoC里,而是外挂的。可能是因为GoogleTensor的GPU和CPU规模太大了,而且TPU的规模也是未知数。毕竟就算是把基带外挂出去,GoogleTensor的规模也是相当大了,即便是和对比Exynos2100的情况下。

总的来看,Google确实设计和定义了Tensor,同时有很多Google特有的设计,是整体的芯片上的差异化。但从更底层的角度看,Tensor和Exynos有很多共通之处,用了很多三星特有的基础模块,因此叫它“半定制”或许会更合适。

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

测试中,GoogleTensor的DRAM延迟较高,还不如Exynos2100,和骁龙888比就更差了。Google改过了内存控制器,它会根据负载和内核的内存失速百分比来控制MC和DRAM速度,这部分是和三星不同的,其实际利用率也不如三星的内存控制器高。现在不知道是CPU的问题,还是整个SoC内部的问题,但这确切地影响了下面的测试。

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

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

因为L3和A55的频率捆绑,且频率高,所以GoogleTensor的A55小核是几个SoC里L3延迟最低的,彷如没有异步时钟桥一般。

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


Tensor的弱点是内存延迟,导致SPEC测试中很多子项目都比骁龙888和Exynos2100慢,但能耗却更高(CPU在干等内存)。SPEC总分上,Tensor的表现比Exynos2100略差,对比骁龙888的落后幅度达到12.2%,由于跑完测试的时间更长,最终耗电还多了13.8%。折算回来,相对骁龙888的差距应该是1.4%左右。

它也有和Exynos2100一样的降频问题,只是相对没有那么严重。如果冷却得当,性能会高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的能效核心,这真是个残酷的世界。


GoogleTensor因为拉胯的A76性能表现,就算有2颗X2都无力回天,拖低了整体分数。X1本身也比对手稍慢一些,大部分时间的能效比都和Exynos2100的X1一致。但A76实在落后时代太多了(无论是性能还是能效比),而A55又继承三星低能效的传统,一言难尽就是了。



GPU这边规模大,频率高,但3DMarkWildLife测试的峰值性能只比Exynos2100高21%。在GFXBench的Aztec场景测试中,领先Exynos210014%,小幅领先骁龙888。虽然采用了分频设计,但貌似瓶颈在GPU的其他地方。

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

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

而Tensor的功耗问题,外加Pixel6Pro虽然也是LTPO屏幕,但表现和三星旗舰明显不同,全屏激发亮度750nit,远低于S21U的942nit,实际正常基础功耗可能会更高。多种不利因素,最终让Pixel6Pro的续航并不好看,反倒是90Hz的Pixel6续航表现还不错:



TPU:极强的推理性能

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

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


还没发布的GeekBenchML测试,用是TensorFlow模型,代表的是GPU的机器学习性能。这时候GoogleTensor就弱于Exynos2100。如果用NNAPI模型,此时是CPU+GPU+NPU的混合工作,GoogleTensor就可以大幅领先骁龙888。

除了绝对性能,跑AI测试时,Pixel6Pro的整机功耗和Exynos2100的GalaxyS21Ultra接近。单独进行推理任务时,Exynos2100的爆发功率达到14W,骁龙888也有12W。但因为GoogleTensor的AI性能更高,所以最终能效比要更高一些。

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


总结

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

虽然Google可能不想承认或者谈论,但GoogleTensor确实就是和三星合作的产物,大部分都源自Exynos,并继承了三星在能效比方面的弱点。CPU被古老的A76拖后腿,规模庞大的GPU被散热拖后腿,但TPU确实表现很好,特别是自然语言处理方面,远远抛离所有竞品。

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


相关内容

热门资讯

金花创建房间/微信金花房卡怎么... 1.微信渠道:(荣耀联盟)大厅介绍:咨询房/卡添加微信:88355042 2.微信游戏中心:打开微...
金花房间卡/金花房卡如何购买/... 金花房间卡/金花房卡如何购买/新超圣金花房卡正版如何购买新超圣是一款非常受欢迎的游戏,咨询房/卡添加...
牛牛创建房间/金花房卡批发/神... 微信游戏中心:神牛大厅房卡在哪里买打开微信,添加客服【88355042】,进入游戏中心或相关小程序,...
链接牛牛/牛牛房卡游戏代理/鸿... 鸿运大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
科技实测!牛牛房卡怎么获得/乐... 微信游戏中心:乐酷大厅房卡在哪里买打开微信,添加客服【88355042】,进入游戏中心或相关小程序,...