游戏娱乐的动力之源
2019-10-30
先从三星和AMD的携手谈起
在2019年6月初,手机圈传出了一个重磅的消息——AMD与三星联合宣布达成多年战略合作伙伴关系,三星将获得AMD Radeon图形API授权并专注于加强移动设备(只限智能手机和平板电脑等AMD没有参与竞争的细分市场)创新至关重要的高级图形技术和解决方案(图2)。官方透露的细节不多,暂时只能确认AMD会将“高度可扩展的RDNA图形架构”对三星授权。
那么,RDNA是什么?
简单来说,RDNA(Radeon DNA)是AMD在显卡领域推出的最新GPU架构,它是史上最长寿GPU架构“GCN”(2011年?2019年)的接班人,其在CU计算单元、缓存、流水线等方面都进行了革新,拥有更好的性能(满足现代游戏的负载需求)、能效(充分优化功耗和带宽利用率)、功能(壮大相关生态)和扩展能力(通吃移动、桌面和云端)。可以说,RDNA是一个全方位重新设计的架构,也开启了AMD显卡历史上第五个重大架构的新时代。
那么,三星未来的Exynos(猎户座)移动平台会直接集成RDNA架构的GPU吗?
答案自然是否定的。AMD长期以来都缺乏ARM生态的经验(AMD曾涉足过ARM服务器,但很快就放弃了),而手机SoC集成GPU最核心的要求就是低功耗和高能效,AMD现有的GPU技术显然不符合移动设备的基本诉求。
实际上,三星近些年一直在进行CPU和GPU的自研(自主研发)工作,在CPU架构领域已经有了基于ARM指令集自研成功的“猫鼬”(Mongoose,如Exynos M3/M4)核心,并通过Exynos 9810和Exynos 9820等移动平台打出了不小的声望(图3)。
在GPU领域,有消息称三星早在2012年就开展了自研“S-GPU”的项目(图4),此次三星与AMD方面合作,需要的只是在GPU中融入AMD Radeon的部分图形IP,不可能照搬整个RDNA架构。同时,双方合作还涉及到相关的专利授权,规避将来可能的法律纠纷,毕竟联发科就是一个很好的前车之鉴。
扩展阅读
2015年的MWC大展上,有消息称联发科在移动SoC图形计算领域与AMD达成合作,而这则消息最终也没有被官方证实。2019年初,AMD将联发科告上了法庭,称联发科的智能设备侵犯了其APU和GPU相关的多项专利。要知道,联发科旗下的SoC集成的都是ARM或Imagination旗下的GPU。
有了AMD图形IP的注入,可以让三星将更多的精力投入到对自研CPU核心“猫鼬”的打磨之中,而AMD在PC领域的知名度,也可帮助三星与高通、华为和联发科展开差异化竞争——看到没?我集成的可是AMD GPU!与此同时,当三星Exynos CPU和集成AMD RDNA基因的GPU搭配后,也许还会对一个产业造成冲击,它就是以任天堂Switch为代表的游戏掌机(图5)。三星+AMD能否取代英伟达Tegra X1和其后续芯片在掌机领域的独占?让我们拭目以待吧。
高通和AMD不得不说的故事
高通驍龙移动平台集成的Adreno GPU,应该是Android手机领域的最强音,也是唯一可以和同期苹果A系列芯片集成GPU抗衡的存在。但你可曾知道,作为高通独有的“自研”GPU,Adreno原本也是AMD的“血脉”吗?
Adreno的前身其实是诞生于2002年的ATllmageon系列低功耗GPU,原本是被用于预装PalmOS系统的Zodiac掌机。ATI被AMD收购后(图6),AMD又将相关的移动设备资产在2008年打包甩给了高通,于是后者就取得了AMD(ATI)的矢量绘图与3D绘图技术和相关知识产权,并在此基础上研发出了我们熟悉的Adreno GPU(图7)。
如果AMD当年没有卖掉原ATI Imageon,英特尔当年没有出售XScale(拥有StrongARM与ARM架构的完整授权)及手持设备芯片业务,这两大X86芯片巨头也许都会在移动互联网时代取得更大的成就。
Adreno GPU如何判断强弱
在Android手机领域,高通骁龙移动平台占据了大半江山,Adreno也是我们熟悉和最不熟悉的GPU。说它熟悉,是因为高通每次发布新款骁龙移动平台时,媒体总会强调它集成了Adreno xxx型号的GPU(图8),较上代提升了多少多少,耳朵都磨出茧了;说它不熟悉,是因为Adreno GPU型号太多太乱,以至于我们很难从名称上去判断同一代的Adreno GPU之间相对的性能等级。
这一点在Adreno 5系GPU时期表现得尤为明显(表1)。比如,Adreno 506(骁龙625)从型号数字上只比Adreno 505(骁龙430)+1,但前者的性能却较后者提升了几乎2倍。Adreno 508(骁龙630)比Adreno 506+2,但其性能却只提升了30%,完全没有规律可言。
为了搞明白上面的问题,我们需要了解影响Adreno GPU性能的关键参数。抛开核心架构、渲染方式和各种图形接口不谈,Adreno GPU的性能发挥主要受制于制程工艺、ALU(计算单元,又称算数逻辑单元)的数量以及GPU频率的高低。
我们可以将Adreno GPU集成的ALUs计算单元理解为PC显卡中的“流处理器”,在架构相同时数量越多性能越强。可惜,高通官方从来没有公开过Adreno GPU的ALUs数量,本文和网上相关的数据都是用户自己检测所得,因此仅供大家参考。
对GPU而言,制程工艺越先进,在相同的发热和功耗水平上就能以更高频率运行,对性能同样有着较大的增益效果。Adreno 506相较Adreno 505有着巨大的性能提升,就是得益于更多的ALUs数量和工艺升级带来的频率提升。同理,Adreno 512相较Adreno 508、Adreno 530相较Adreno 512也都是受上述因素的影响。
如今,Adreno GPU已经全面进化到了Adreno 6系时代,其最大的特色是支持完整的OpenCL 2.0FP、OpenGL ES3.2、DX12和Vulkan1.1等图形接口(图9)。可惜,关于它们具体的ALUs数量和频率,笔者并没能找到准确的资料,所以本文我们只通过3DMark和GFXBench这两个专业测试软件,对Adreno 6系GPU的理论性能进行一番对比(表2)。
我们以骁龙6 6 0集成的Adreno 512作为基准(100%),可以更加直观地了解Adreno 6系GPU的差异。其中,Adreno 610和Adreno 612虽然数字序列更高,但综合性能其实和Adreno 512相差无几。从Adreno 615到Adreno 618之间的性能依次略增,在其背后就是不同的ALUs单元和GPU频率组合带来的差异。
作为高通2018年度的旗舰,骁龙845(Adreno 630)之所以具备秒杀高通最新推出的骁龙730(Adreno 618)的3D性能,是因为Adreno 630集成了高达512个ALUs单元,而骁龙730的ALUs应该是不足256个(很抱歉没找到具体的参数)。
需要注意的是,从2018年下半年开始,高通最新推出的骁龙SoC移动平台都强化了AI运算能力,它们会借助一部分GPU内的ALUs单元,再结合Hexagon内集成的HVX单元,与CPU一起组成高通特有的骁龙AI Engine人工智能平台(图10)。
換句话说,在最新的骁龙移动平台中,更多的ALUs单元并不能换来等同的性能提升。以骁龙855为例,高通曾透露这颗芯片(较骁龙845)增加了50%的算数逻辑单元,也就是ALUs单元从512个提升到768个,但从Adreno 640和Adreno 630之间的实际性能差异来看,增加的50%的ALUs仅换来了20%左右的性能增益,显然其中有不少被高通拿来用于AI运算了。据一些专业人士测试分析,Adreno 630的512个ALUs中有一半(256个)都用做了异构AI运算,用于弥补骁龙移动平台没有独立NPU单元的缺陷。
总之,骁龙移动平台中“最能打”的无非就是骁龙845和骁龙855,骁龙7系和骁龙6系的GPU之间也存在不小的差距。因此,如果你希望购买一款能以满帧运行绝大多数游戏的手机,认准骁龙8系还是很有必要的。至于骁龙6系,在骁龙710都降到千元价位之际,除非你不怎么玩游戏,否则还是敬而远之吧。
苹果和Imagination的情仇
在智能手机领域,目前能凭自己打造GPU的芯片设计厂商只有高通和苹果,高通的Adreno GPU源于AMD,而苹果设备的GPU则离不开Imagination Technologies公司的扶持。
Imagination也是很早就进军GPU市场的公司之一,只是为了避开英伟达和ATI的锋芒,该公司更加专注于对超低功耗移动GPU的打磨,2001年推出的PowerVR MBX GPU曾被集成在英特尔、飞思卡尔、德州仪器和三星的SoC上,并成就了第一代iPhone、诺基亚N95和戴尔Axim X50v(PDA掌上电脑)这些经典设备(图11)。
Imagination的第五代PowerVR SGX系列应该是知名度最高的GPU(如SGX530、SGX535),苹果A4、三星Exynos和德仪0MAP3系列SoC都是它的客户,索尼PSV掌机上集成的也是四核心的PowerVR SGX544MP4。随后,PowerVR逐渐变成了苹果“独占”的GPU,其他品牌(如联发科、全志、瑞芯微和晶晨等)即便偶有合作,集成的PowerVR GPU也多是低端型号,待遇与“金主”苹果相差甚远。然而,也正是因为太过依赖苹果,为Imagination的没落埋下了伏笔。
Apple A10处理器应该算是苹果和Imagination的最后一次合作,其集成的PowerVR GT7600 GPU甚至可以领先同期的Adreno 540(骁龙835),让iPhone 7系列成为了当年性能最强的智能手机(实际上每一代iPhone基本都是同期最强)。
可惜,从A11芯片开始(图12),苹果正式抛弃Imagination而改用自研GPU,该芯片的GPU配置了6个着色器核心,每2个核心共享一个Texture单元,类似的设计和PowerVR GPU很像,所以有不少玩家都称苹果GPU是脚踏Imagination上位的 苹果自研GPU的消息传出后,Imagination很快就陷入了运营危机,时至今日只有联发科Helio P60(PowerVR GM9446)、P35和P22(PowerVR GE8320)等极少数SoC选择与Imagination合作集成PowerVR GPU,从iOS生态圈的唯一霸主沦落到GPU领域的“其他”,Imagination的境遇令人唏嘘不已。
目前Imagination最新的GPU解决方案包括PowerVR 9XEP/9XMP/9XTP(定位依次升高),9XEP和9XMP采用了较旧的Rogue架構,主要竞争对手是ARM旗下的Mali-G72。而9XTP则由最新的Furian架构打造(图13),每个ALU增加到40条流水线,支持4K 120FPS、HDR、Vulkan API、Android神经计算API等先进技术,理论上可以用来和ARM Mali-G76/G77抗衡。
ARM的“亲儿子”Mali GPU
接下来就轮到ARM自己的“亲儿子”——Mali系列GPU了。作为和Cortex A系列CPU架构搭档的它,也是Android手机圈市占率仅次于高通Adreno GPU的存在,海思麒麟、三星Exynos、联发科Helio,我们熟悉的绝大多数非高通系SoC都直接选择了与Mali GPU联姻。
在2019年第14期《新旗舰手机的动力之源浅析ARM最新的CPU和GPU核心》一文中,我们解读了ARM最新Cortex-A77 CPU和Mali-G77 GPU的特色,所以本文就不再赘述,只是简单介绍一下Mali GPU的特别之处。
和Adreno GPU相比,Mal便加注重GPU的核心数量,将较多的GPU核心封装成一个更大规模的GPU矩阵,就是Mali GPU拉升性能的不二法门(图14)。比如在Mali-G72时代,麒麟970就集成了12个核心的Mali-G72MP12,三星Exynos 9810更厉害,一股脑儿塞进了18个核心(Mali-G72MP18)。但是,GPU核心越多,发热量和功耗也将随之变大,此时SoC厂商的选择通常是降低GPU频率以及关掉部分核心来达到控制功耗的目的。
换句话说,Mali-GPU的核心数量是存在一个临界值的,超过这个核心数量就必须降低GPU频率,最终导致增加GPU核心的数量和对应的性能提升不成比例(1+1<2)。因此,如何将有限的芯片面积分配给Cortex-A CPU和Mali GPU,并合理控制Mali GPU的规模和频率,发挥最佳的能效比,这就是ARM交给SoC厂商们的期末考试了。
总之,高通Adreno和ARM Mali是当前Android手机领域的主力,Adreno GPU的规格和性能取决于骁龙移动平台的型号,比较起来相对容易。ARM Mali GPU涉及Mali型号(如Mali-G52、Mali-G72、Mali-G76)、核心数量(后缀是MPx),以及与它们搭配的CPU架构和主频,无论是综合、CPU还是GPU性能都需要我们耗费更多精力对比。当三星带来AMD授权IP的自研GPU,Imagination得到更多SoC芯片厂商的支持,想想就头大了吧?因此,如果你想了解最新移动GPU的动态和选购建议,敬请期待CFan同期的最新报道吧。