当前位置: 编码机 >> 编码机发展 >> 谷歌Tensor处理器详解三星成幕后大功
早在今年8月,谷歌母公司AlphabtCEOSundarPichai正式曝光了谷歌首款自研手机芯片“Tnsor”。随后在10月下旬,首发搭载Tnsor处器的Pixl6和Pixl6Pro两款智能手机正式上市。近日,国外分析机构TchInsights对谷歌Tnsor处理器芯片进行了拆解,随后科技媒体Anandtch也对于Tnsor处理器进行了详细的分析。
三星除了提供5nm代工服务,还参与了Tnsor的设计?
虽然谷歌自称Tnsor处理器是完全由自己公司设计的,但是Anandtch认为该芯片应该是由谷歌和三星LSI合作设计的,谷歌在此过程中模糊了传统定制设计和半定制设计之间的界限。
“谷歌Tnsor”的命名比较抽象,目前官方没有给这款芯片贴上具体的型号。因此,下一代是否会命名为“Tnsor2”或其他名称还有待观察。而在内部,谷歌称该芯片为“GS”,虽然不确定确定“GS”代表什么,但可能是GooglSoC或GooglSilicon。
通过TchInsights对于谷歌Tnsor处理器的分析发现,Tnsor处理器的封装尺寸为10.38mmx10.43mm=.26mm2,其内部的芯片标识为“S5P”,而这一标识符合传统三星Exynos处理器命名规则,比如Exynos的芯片标识为S5E,ExynosGSoC芯片标识为S5E,Exynos05GSoC芯片标识为S5E。
因此,TchInsights也怀疑谷歌Tnsor和三星Exynos处理器之间可能存在联系。虽然谷歌Tnsor芯片可能采用的是三星的5LPE工艺代工,但是其他的芯片厂商交由三星代工的芯片并不会拥有三星Exynos处理器类似的芯片标识。
△谷歌Tnsor处理器的标记
△Tnsor处理器的di照片
根据此前媒体的报道,我们可以发现,在几年前,三星就已经对外开放了半定制芯片设计产品的服务。从年8月ETNws发布的一篇报道当中,就描述了三星的业务计划,以及它如何涉及到谷歌的芯片(以及描述对于思科的dsignwin):
“三星电子将为全球顶级网络设备制造商思科系统公司制造半导体芯片,将负责谷歌公司的芯片从设计到生产的整个半导体制造过程。[…]三星电子目前正处于涉及芯片设计的开发阶段。[…]三星电子还从谷歌获得了一份关于制造多个芯片的订单。听说谷歌需要一种半导体芯片,该半导体芯片将用于可以测量身体运动的传感器,而不是用于当前IT设备和前所未有的应用处理器(AP)的处理器。[…]三星电子正在采取不同的方法,因为它希望在芯片设计中积极利用其技术。其战略是提供客户从设计阶段到生产所需要的“定制”技术和功能。
从以上的描述来看,三星与谷歌的合作,并不是简单地作为一个纯粹的芯片代工制造商,而是作为完全参与到芯片设计的一方。这在很大程度上可以与ASIC设计服务相提并论。同样,另一家芯片设计厂商联发科也对外提供ASIC设计服务。
8核CPU:2×Cortx-X1+2×Cotx-A76+4×Cortx-A55
在CPU方面,谷歌Tnsor处理器与很多旗舰处理器一样,采用了大中小核三丛八核心设计,不同的是,大多数旗舰芯片采用的是1+3+4的架构,而谷歌Tnsor处理器在采用了2+2+4的架构。
具体来看,谷歌Tnsor处理器采用了两颗ArmCortx-X1超大核,主频为2.8GHz,拥有2×KB二级缓存;2颗Cortx-A76大核,主频2.25GHz,拥有2×KB二级缓存;4颗Cortx-A55小核,主频1.8GHz,拥有4×KB二级缓存。
理论上,谷歌Tnsor处理器采用了两颗ArmCortx-X1超大核,使得其在在大核性能上要高于其他仅有一个超大核的处理器,只不过,其超大核的2.8GHz主频要略低于高通骁龙的2.86GHz和三星Exynos的2.91GHz。另外,在二级缓存方面,Tnsor处理器与骁龙相近都配备了1MB的二级缓存,这是三星Exynos的两倍。
在中间的大核心上,Tnsor处理器并没有采用性能更强的Cortx-A77或A78,而是选择了Cortx-A76,这似乎是从功耗方面来考虑,但是如果真的考虑整体功耗的话,那么就不应该用两个Cortx-X1大核,这似乎有些不合理。Anandtch认为,这可能是因为Tnsor处理器在设计时,三星并没有准备好集成更新的CPUIP。Anandtch也不认为谷歌是刻意选择Cortx-A76,而放弃了A77或A78,因为在性能基准测试中旧的设计表现并不佳。
在小核心上,Tnsor处理器采用的是4个1.8GHz主频的Cortx-A55核心。与三星自家的Exynos芯片相比,谷歌决定为小核配备了KB的二级缓存,而不仅仅是64KB,与骁龙的配置相近。不过,谷歌的一个奇怪选择是,集群的三级缓存与Cortx-A55内核在同一时钟平面上,这会影响延迟和功耗。这也与我们在Exynos上看到的专用的三级缓存时钟平面不一致。
GPU:20核心Mali-G78
谷歌Tnsor处理器采用了20核心的Mali-G78GPU,MHz(shadrs)、MHz(tilr/L2),使得其成为了全球第二大MaliGPU集群配置的处理器,仅次于华为麒麟的24核Mali-G78GPU。
Anandtch最初认为,Tnsor处理器的GPU可能会以低频率运行,以优化能效,但实际上,其是以惊人的MHz的峰值时钟速度运行GPU,用于着色器内核,和MHz为tilr和L2缓存。要知道三星的Exynos集成的14核心的Mali-G78GPU也只是运行在MHz,而Tnsor处理器的GPU的数量与其相比增加了42%。这也意味着Tnsor处理器的GPU性能将会非常强大。Anandtch表示,谷歌Tnsor似乎是第一个利用了Arm的Mali-G78时钟平面分离设计的芯片。
LPDDR5,8MBSLC缓存
谷歌Tnsor处理器上的内存控制器似乎与Exynos上的相同,在4x16bit通道配置中支持LPDDR5内存,理论峰值带宽为51.2GB/s。
此外,Tnsor处理器还集成了8MB的SLC系统缓存,不清楚这与三星在Exynos上使用的IP是否相同,但它们都是8MB,但Anandtch倾向于两者是不同的IP,或者至少是IP的不同版本,因为它们的架构方式和运行方式存在一些真正的差异。
谷歌在这里非常广泛地使用SLC来提高SoC的性能,包括他们自己的自定义模块。SLC允许对自身进行分区,并将SRAM区域专用于SoC上的特定IP块,使它们能够在不同的用例情况下独占访问全部或部分缓存。
自定义混合ISP
在目前用户对于手机拍照性能要求越来越高的背景之下,从关乎手机拍照成相质量的ISP(图像信号处理器)开始变得越来越关键,因此我们也能够看到,此前谷歌、小米、vivo等都有专门推出独立的ISP芯片来应对。
在谷歌Tnsor处理器中,其集成的ISP内核,将三星Exynos处理器上集成的ISP的部分功能模块和谷歌自研的自定义ISP集成到了一起。
Anandtch表示,Tnsor处理器的ISP使用与ExynosISP相对应的IP块,例如像素相位检测处理单元、对比度自动对焦处理单元、图像缩放器、失真校正处理块和视图相关的遮挡纹理功能处理块。这里缺少的是缺少其他一些处理块,Anandtch认为这与三星使用的更多后处理计算块有关。
谷歌自研的ISPIP块似乎是他们自己的3AAIP(Auto-Exposur,Auto-WhitBalanc,Auto-Focus),以及一对定制的时间降噪IP块,能够对齐和合并图像。这些可能是谷歌在说他们开发的块有助于加速他们用作Pixl系列计算摄影的一部分的图像处理类型时所谈论的自定义块。
谷歌TnsorTPU
早在年7月,谷歌正式推出了用于边缘计算的dgTPU,作为其CloudTPU的补充,当时EdgTPU仅用于推理,专为在边缘运行TnsorFlowLitML模型而设计。除了自用,谷歌dgTPU也将提供给其他厂商使用。根据官方的资料,dgTPU的算力为4TOPS,功耗为2W。
目前在中高端智能手机处理器中,基本都有集成专用的AI内核,用以除了各种人工智能计算。此次谷歌自研的Tnso处理器当中,也集成了谷歌自研的TPU内核,不过在驱动程序上,谷歌将其称之为“dgTPU”。
也就是说,Tnso处理器当中集成的TPU可能就是基于此前发布的dgTPU的IP的修改版。虽然谷歌没有介绍Tnsor内置TPU的性能指标,不过有数据显示该TPU功率为5W,这与之前谷歌dgTUP存在差异。因此,如果两者确实相关,那么鉴于显著的工艺节点优势和整体更新的IP,TnsorTPU的性能应该比之前的dgTPU更强大。
媒体编解码器
在媒体编码器方面,谷歌Tnsor处理器集成了三星的多功能编解码器IP(Multi-FunctionCodc),可支持8K
30fps4Kfpsncod8K60fpsdcod,H./HEVC、H.、VP9、AV1dcod。同时Tnsor处理器还集成了谷歌自研的似乎是专用于AV1解码的被称之为“BigOcan”的Dcod解码器,支持4K60fpsAV1解码。但奇怪的是三星宣传其Exynos的媒体编解码器具有AV1解码能力,而且该功能似乎确实存在于内核驱动程序中。然而,在GalaxyS21系列上,此功能从未在Android框架级别上实现。这或许也解释了,为什么Tnsor处理器还集成了被称之为“BigOcan”的谷歌AV1解码器,而其他的格式的所有编码和解码都交给了三星Multi-FunctionCodc。
另外,谷歌Tnsor处理器还采用了自己设计的低功耗音频解码子系统,允许低功耗音频播放而无需唤醒SoC中的CPU核心。同时,谷歌还采用了一个名为EmraldHill的块形式的固定功能硬件内存压缩器,它为内存页面提供LZ77压缩加速,并且可以反过来用于加速交换中的ZRAM卸载。
外挂三星5G基带芯片
由于谷歌Tnsor处理器是一款针对智能手机的SoC,因此Tnsor自然还需要有配套的带芯片来支持手机的移动通信功能。根据TchInsights对于PixlPro6的拆解发现,PixlPro6内部的Tnsor处理器(下图中蓝色方框内美光DRAM下方就是Tnsor处理器)只是一款AP,其通信功能则是依靠外挂的三星SHANNONAG基带芯片(下图中紫色方框内)来实现的,可支持LTECatgory24/18以及5GNRSub-6、5GNRmmWav。此外还有高通5G基带芯片的版本。
△谷歌PixlPro6主板
另外,TchInsights还发现拆解的美国版的谷歌Pixl6系列还配套了三星的毫米波射频收发器SHANNON、三星SHANNON射频收发器、SHANNONAPMIC、三星ExynosSM电源调制器、三星PMICS2MPG10和三星PMICS2MPG11。
△三星毫米波射频收发器SHANNON
小结:
将谷歌Tnsor处理器和三星Exynos对比来看,可以看到,这两颗芯片之间有着很多的类似之处,并且谷歌Tnsor处理器还采用了很多三星提供的IP。Anandtch表示,两款芯片采用了相同的时钟管理和电源管理架构、内存控制器、结构IP、用于各种面向外部的接口的PHYIP,甚至还有更大的IP功能模块,例如ISP或多媒体解码器/编码器。有趣的是,这些东西现在可以在Github上公开查询到。当然,从整体的芯片规格来看,谷歌Tnsor处理器要比三星Exynos更为强大。
综合以上的信息,Anandtch表示,谷歌声称Tnsor处理器是他们自己的设计,这在一定程度上是正确的。但根据外界通常对于“设计”的定义来看,还是有所不同的。尽管Tnsor/GS建立在Exynos基础模块和IP之上,同时也是由三星流片和制造,但SoC的定义在谷歌的控制之下,因为它是谷歌的最终产品。虽然在Tnsor的基础和最低层模块方面与Exynos非常相似,但在结构和内部互连方面,谷歌的设计却有所不同。这意味着各种IP块如何相互交互的网络与三星自己的SoC不同。
这方面的一个实际例子是,如何将CPU内核集成到SoC中。虽然在Exynos上,CPU集群似乎非常明显地位于更小、更明确的三星相干互连中,但TnsorSoC将CPU集群集成在更大的CCI中,这似乎是一种非常不同的互连设置配置,或者是一个完全不同的IP。与此同时,二者仍有一些相似之处,例如将一条主要的内存流量总线连接到内存控制器,并将另一条流量较低的“内部”总线连接到其他IP,这就是ExynosSoC倾向于分离事物的方式。具体如何需要对SoC进行更详细的逆向工程和映射,但这超出了本文讨论的范围,因为这是一件非常耗时的事情。
编辑:芯智讯-浪客剑