谁能笑傲江湖?移动处理器门派那些事儿》一文中我们把2012年的移动处理器的厂商做了一番介绍,并依照各自的属性给划分了门派。既然把他们称为江湖门派。那么每一个门派总要有自己的绝活。移动处理器厂商中CPU基本都是源自ARM。同架构下各家厂商的表现都几乎相同。能成为镇派之宝的绝学都是在GPU上。超能网近日奉上续作。对五大移动GPU厂商进行了逐一点评——

做能移动处理器的厂商能够洋洋洒洒列出几十家。我们精挑细选了近年出过风头的依旧有13家,可是说到设计GPU核心,这个名单就短多了,基本的厂商甚至不到5家。


2012年的移动GPU份额调查

以2012年JPR公布的移动GPU市场份额来看,全部移动GPU中Imagination的PowerVR占领了50.1%的份额。高通的Adreno占领了33%,剩下的就被Vivante、ARM、DMP、NVIDIA瓜分了,只是总体份额比之前两位就差远了。

作为移动处理器的兴许篇章,今天我们就来介绍一下移动处理器中GPU厂商的情况,我们仅仅选了5家我们平时接触到相关产品的厂商——Imagination、高通、ARM、NVIDIA、Vivante

DMP和Takumi尽管份额不比ARM低。可是我们身边还真没多少处理器使用他们的GPU方案。

机是一样的机,GPU上见高低。

移动GPU的影响实例:不同机型画质大不同

在水果与机器人的战争中,iOS阵营的应用软件及游戏表现的非常统一。特别是在游戏方面,iPad mini这样的规格精简版表现普遍都会好于Android版,Android阵营中高帅富机型与DS机型齐飞,同一个游戏在不同机型上的表现环肥燕瘦,各不相同。


《史诗城堡》benchmark中不同机型画质不一

以之前測过的一款名为《史诗城堡》的benchmark为例,它在高通、NVIDIA、PowerVR、Mali等GPU上的画质表现差异非常大,有的地面纹理非常清晰,有的就直接非常模糊,锯齿严重。

这个问题既不是第一次被发现,也不是第一次有解释。非常多玩家都已经知道了,造成这样的画质区别的主要原因是游戏的纹理数据不一样,再深入一点就是游戏开发商针对每一个处理器平台的特点使用了不一样的纹理压缩格式,那些重点照应的GPU的游戏画面会非常美丽,之外的GPU有可能会存在各种问题。

由于移动GPU的性能弱、带宽低(下文还有解释)。游戏模型的纹理不可能非常精细。至少不能跟桌面GPU相比(手机的小屏幕、高PPI已经帮着遮羞不少了),在带宽有限的情况下哪种纹理压缩格式压缩比更高、画质损失最小就成了关键,游戏开发商选择支持哪种纹理压缩格式就带来了画质上的不同。

眼下五大GPU厂商中每家的移动GPU产品至少都会支持一种通用的纹理压缩格式,有的还支持自己的独家纹理压缩技术。简单来看一下。

主流纹理压缩标准:ETC、PVRTC、S3TC

首先说OpenGL ES标准中的,2.0版规范中将ETC(Ericsson Texture Compression)作为基本的纹理压缩标准,这是大部分移动GPU都会支持的纹理标准。

OpenGL ES 3.0中还引入了ETC2、EAC纹理压缩格式,二者基本一致,仅仅只是EAC主要用于1-2通道数据的情况。

眼下ECT2还在改进中,除了高通的Adreno 320之外还没有移动GPU支持,Tgera 4也不行。

此外,OpenGL ES 3.0中另一种可选纹理压缩格式——ASTC(Adaptive Scalable Texture Compression,自适应扩展纹理压缩),这是ARM提出的,去年被Khronos组织认可。纳入到标准中来,只是并非强制性的,眼下也仅仅有Mali-T600系列支持。

Imagination旗下的PowerVR GPU支持的是PVRTC(PowerVR texture compression)和ETC。高通的Adreno 2xx系列支持ETC之外还有3Dc和ATITC。后两者都是原来的ATI开发的。Adreno 320除了前面三种标准之外还支持ETC2纹理压缩。

ARM的Mali-300/400系列支持ETC,Mali-T600还多了ASTC纹理支持。

NVIDIA的Tegra系列更有趣。之前的说法称Tegra支持自己的纹理格式,实际上除了通用的ETC之外,Tegra支持的纹理叫做S3TC(S3 Texture Compression),也被称为DXTn或者DXTC。S3TC是S3公司在1999年引入的,后来被DX 6.0和OpenGL 1.3吸收为官方标准,DXTC相当于Windows版的名字。S3TC是OpenGL中的名字。

说到S3TC,之前苹果和HTC大打专利战的时候就涉及到了这个标准。S3已经归为VIA威盛旗下,HTC和威盛又有同一个老板——王雪红。为了支援HTC打专利战,威盛去年就把S3部门出售给了HTC。算是左手倒右手吧。

S3TC是DX显卡都支持的标准,NVIDIA也在Tegra中支持了这个标准,S3TC依据不同算法又分为DXT1-DXT5这五个级别,Terga支持的实际上是DXT1、DXT3和DXT5。

Vivante的GC系列也支持ETC和S3TC。跟NVIDIA的Tegra路线相同。曾经都说Vivante支持的是NVIDIA Tegra的纹理数据。实际上二者是选择了共同的路线而已,DXT也不是NVIDIA的专利。

眼下来说我们能经常使用到的纹理压缩主要是ETC、PVRTC、S3TC、ATITC这四种种。

主流紋理压缩格式优缺点


常见的TC格式压缩比

先来看压缩比。假设无失真的PNG容量是5.4MB。那么S3TC和ETC都能压缩到1.1MB,PVRTC压缩最高。可压缩到528KB,只是PVRTC的问题在于它仅仅支持PowerVR系列GPU。有排他性,高通的Adreno支持的ATITC相同有排他性,其它厂商并不支持。

ETC是最通用的纹理压缩格式,只是ETC并不招厂商待见。由于ETC纹理压缩不支持Alpha通道,仅仅能用于压缩不透明的材质。只是ETC也有自己的长处。差点儿全部的安卓设备都能够支持ETC压缩的GPU加速。

S3TC不管压缩速度还是压缩比都不错。也支持GPU加速,并且是桌面显卡通用的压缩格式。看起来是最完美的选择,可惜的是移动市场跟PC不一样,大家各自为王。NVIDIA如今还没强大到让其它GPU厂商低头採用S3TC标准的程度,由于S3TC说究竟还是一种私有的标准。有专利上的麻烦。

ETC2压缩标准补全了ETC1不支持Alpha通道的缺陷,支持更高质量的RGBA(RGB+Alpha)压缩。而ARM提出的ASTC标准在压缩速度和质量上比S3TC要好,可是这两种压缩格式都是新出的,支持的厂商实在太少了。

移动GPU渲染原理的流派:IMR、TBR、TBDR

移动GPU相对桌面级的GPU仅仅能算是未长大的小孩子。

尽管小孩子在某些场合也能比成人更有优势(比方杂技、柔术之类的表演),但在力量上还是有先天的区别。主要表如今理论性能和带宽上。

与桌面GPU动辄256-bit甚至384-bit的位宽、1.2-1.5GHz的高频显存相比,移动GPU不仅要和CPU共享内存带宽,并且普遍使用的是双32-bit位宽、LPDDR2-800或1066左右的内存系统,总带宽普遍在10GB/s以内。悲催的Tegra 3使用的还是单通道内存模式,搭配DDR3L的带宽只是6.4GB/s。


眼下GPU性能最强大的iPad 4带宽也只是17GB/s(图片源于Anandtech)

移动处理器中内存带宽最高的是iPad 3/4,由于他们使用Retina屏幕,2048x1536的高分辨率对GPU带宽要求更高,只是就算是这两款产品,17GB/s的带宽与PC显卡上动辄200GB/s以上的带宽相比还是小儿科了。

没有高带宽就没有大容量纹理数据。也就不会有高画质。尽管带宽不是制约移动GPU发展的唯一因素。可是在眼下的限制下。移动GPU厂商关心的头等大事就是怎样在尽可能小的带宽需求下提升GPU性能及画质。

前面介绍的纹理压缩是一个方法,另一种就是使用不同的渲染方式,主要有IMR、TBR及TBDR等。

伤不起的“马上渲染模式”——IMR

IMR(Immediate Mode Rendering)就如字面意思一样——提交的每一个渲染要求都会马上開始。这是一种简单而又粗暴的思路,长处缺点都非常明显。假设不用为性能担忧,这样的方式会非常省事,可是IMR的渲染实行的是无区别对待,那些遮蔽处理的部分依旧会被渲染处理器,这也导致无意义的读写操作很多其它,浪费了大量性能和带宽。

总之,IMR这样的渲染方式在移动GPU上的评价仅仅能是“负分,滚粗!

变聪明了的“贴图渲染”——TBR

IMR傻大粗的做法不可取,那就来一个聪明点的方式——TBR(Tile Based Rendering。贴图渲染)。它将须要渲染的画面分成一个个的区块(tile)。每一个区块的坐标通过中间缓冲器以列表形式保存在系统内存中。

这样的渲染方式的长处就是相对IMR降低了不必要的渲染任务,缺点就是遮蔽碎片依旧会少量存在,并且须要中间缓冲器。


TBR渲染将游戏画面分为不同的区块

再次进化的渲染方式登场——TBDR

TBR尽管比IMR聪明多了,只是还是存在不少缺陷,TBDR(Tile Based Deferred Rendering,贴图延迟渲染)闪亮登场。

它跟TBR原理类似,可是使用的是延迟渲染(Deferred Rendering)。合并了完美像素,通过HSR(Hidden Surface Removal,隐藏面消除)等进一步降低了不须要渲染的过程,降低了带宽需求。

实际上这些改变和PC上的渲染有些类似。


TBDR渲染的一个关键是延迟渲染

TBDR主要是Imagination在使用。这是他们最大的筹码之中的一个。其它几家厂商用的都是TBR技术。

在微软的DX11.1升级中也有提到支持TBDR,由于Windows 8系统还专门为平板和触控优化,对TBDR这样的移动平台经常使用的技术加以优化也是必定的。

无冕之王——Imagination公司的PowerVR

Imagination技术公司并不介入ARM处理器生产。他们专注于是移动GPU技术授权。

由于专业所以强大,Imagination绝对是移动平台GPU授权的老大。即便是Intel的Atom处理器及桌面的GMA 500也使用了PwerVR系列GPU核心。他们的触角伸得非常广,并不局限于ARM阵营。

Imagination也是一家英国公司。早前还有个部门VideoLogic。在3D加速卡方兴未艾的那个年代,VideoLogic也曾參与了Voodoo、NVIDIA、ATI等公司激战3D加速卡的战役,可惜终于存活的仅仅有NVIDIA和ATI(AMD),只是失之东隅收之桑榆,Imagination的移动GPU技术部门PwerVR反倒有所收获,在移动市场上他们又能够鸟瞰NVIDIA了。

Imagination公司的授权伙伴主要有Intel、苹果、联发科、LG、高通、瑞萨、三星、海思、Marvell、索尼等等。差点儿都是大腕,当中Intel和苹果还是Imagination公司的大股东之中的一个。

近年来Imagination公司也不再满足于移动GPU技术授权了。

去年底以1亿美元的代价收购了MIPS公司的专利和资产,已经把MIPS架构融入到自家Mtera处理器中了。CES展会上,Caustic公司展出了Caustic 2500/2100光线追踪加速卡,而这家公司也被Imagination收购了,看来他们的业务范围还在扩大。

至于详细的产品,Imagination的PowerVR历史悠久,型号众多。我们主要介绍PowerVR SGX 5、PowerVR SGX 5XT及未来的PowerVR 6系列吧。


PowerVR系列GPU

主力产品:PowerVR 5、PowerVR 5XT

PowerVR SGX 5系列主要有SGX 520、SGX 530、SGX 531、SGX 535、SGX 540以及SGX 545,常见的是SGX 531、SGX 540和SGX 545,联发科的双核产品中整合的就是SGX 531,只是叫做SGX 531 Ultra。由于其频率大幅提高到了522MHz。

SGX 540在TI的OMAP 44x0系列非经常见,Intel的Atom Z2460使用的也是SGX 540,Clover Tail平台的Atom Z276使用的就是SGX 545了。

PowerVR SGX 5系列使用的是USSE架构(Universal Scalable Shader Engine,通用可扩展渲染引擎),支持OpenGL ES 2.0/1.1,SGX 535/545还支持DX9。SGX 545支持DX10.1。

PowerVR SGX 5XT是SGX 5的升级版。主要有Power SGX 543、SGX 544、SGX 554三款。使用了USSE2引擎。峰值浮点性能是USSE引擎的2倍。强化了多核集成,这三者最多能够同一时候集成16个。苹果最新的A5、A5X、A6、A6X分别集成了SGX 543MP2、SGX 543MP4、SGX 543MP3及SGX 554MP4。


PowerVR 544MP架构

图形规范方面,PowerVR SGX 5XT依旧支持OpenGL ES 2.0/1.1、DX9。只是该系列依旧添加了新元素。自SGX 544開始支持PVRTC2纹理压缩格式。全系列引入了部分OpenGL ES 3.0中才有的技术,比方MRT多目标渲染、遮蔽查询、无缝立方体映射、浮点纹理等新功能。


今年的GDC大会期间Imagination称5XT系列将会支持部分OpenGL ES 3.0技术

未来王者——PowerVR 6向1TFLOPS水平迈进

尽管PowerVR SGX 5/5XT性能并不落后,可是Imagination还是早早地在2012年的CES展会上公布了新一代PowerVR 6系列移动GPU。架构代号Rogue。

Imagination称眼下的移动GPU性能水平是100GFLOPS级别的,而PowerVR 6则是朝着1000GFLOPS设计的。

1TFLOPS是个等级。我们以桌面显卡为例。HD 7850是1.76TFLOPS。HD 7770是1.28TFLOPS,HD 7750则是0.819TFLOPS,这意味着PowerVR 6系列的最高性能甚至能够超过HD 7750级别的桌面显卡,牛的一X。

当然,这么高的性能仅仅有PowerVR 6系列的的旗舰型号能够达到,从高到低总计有G6630、G6400、G6430、G6200、G6230、G6100等型号,当中G6100、G6200/6400系列专为核心面积优化,适合组成单核、双核或者四核设计。

Imagination能成为移动GPU的老大显然会有非常多独特优势和技术。他们的GPU不是性能最强的,也不是核心面积最小的,只是单位功耗性能、单位面积性能表现都非常强,多核集成、配套的开发工具、纹理压缩格式、TBDR渲染技术都是他们冲锋陷阵的利器。综合起来PowerVR就是表现最棒的移动GPU授权之中的一个。

堆砌大篇PowerVR详细架构的文字也没什么意思,当中一个让人感兴趣的问题是PowerVR 5及5XT是否使用了统一渲染架构。

从找到的资料来看。PowerVR的USSE引擎中第一个U代表的意思在眼下的官网上是指Universal通用,可是早期的公布新闻上这个U代表的是Unified,也就是统一渲染的意思。

架构图中PowerVR 5之后的GPU中不再有VS和PS这样的单元,都叫做“Unified Scalable Shader Engine”(统一超标量渲染引擎),再加上它们都支持DX10规范。因此PowerVR 5之后的GPU实际上已经是统一渲染架构了。

再考虑到PowerVR 5是在2005年宣布的。桌面级的统一渲染架构是2006年公布的,这就能够说明Imagination的技术实力是多么强大。

点评与展望:PowerVR 6啥时候上市

对一个占领了绝大多数市场份额的公司也没有继续赞扬的必要了,苹果、联发科等大客户的销量就能说明一切。尽管公布了好几年了,PowerVR 5/5XT依旧是眼下追求极致游戏性能的最佳选择之中的一个。

问题是PowerVR 6,架构公布及PPT宣传都快一年半了,如今连影子都没。

PowerVR 6的性能提升非常夸张。制程工艺及实际应用都要跟得上才行,前几天正好有新闻说Imagination联合台积电宣布将使用后者的16nm FinFET工艺制造,这一下子就给支到至少2014年了。

公布时PowerVR 6已经有6家厂商买了的授权,当中三家是德州仪器、联发科和ST-Ecricsson(意法-爱立信),还有三家没宣布。只是结合之后的消息来看三家没公布名称的厂商至少有海思,而LG也在今年的CES展会上首次公布了PowerVR 6平台,说明他们也在授权内。瑞萨也展示过PowerVR 6平台,算起来几乎相同就是这三家了,苹果是否愿意获得PowerVR的授权就不得而知了。

仅仅是时过境迁,TI眼下退出了消费级嵌入式处理器市场,意法-爱立信也关闭了。即便是公开展出的PowerVR 6也全都是大块头,集成到智能手机和平板所用的超低功耗处理器中还非常远。

江湖富二代——ARM公司的Mali

ARM公司不仅提供ARM处理器授权。他们也有一整套GPU授权方案——Mali。由于亲生的血缘关系,Mali在好爸爸ARM的帮助下也攻城掠地,非常多不具备独立开发GPU技术的芯片供应商都直接使用了ARM处理器+Mali GPU的设计,比方三星、瑞芯微、展讯、意法半导体、全志等,当中三星和全志还是出货量大户,所以Mali GPU的份额和出货量可不低。

ARM官网显示Mali GPU在智能电视和Android平板中占有率第一,智能手机市场占有率超过20%,2012年出货量高达1亿(一说是1.5亿),使用Mali GPU的终端超过200多种。

说到Mali的历史。ARM原本也是没有GPU授权的,此前他们也是使用Imagination的GPU核心。Mali事实上是源于2006年收购的一家挪威特隆赫姆地区的移动GPU芯片厂商Falanx。

ARM公司的Mali GPU开发中心也就落户在哪里,如今Mali已经变成了ARM的亲儿子了。

主力产品:Mali-300/400/450、Mali-T600

ARM公司眼下的主力产品主要分为两个层次,Mali系列支持OpenGL ES 2.0,有Mali-300、Mali-400及Mali-450三款,架构代号Utgard(乌特加德,WOWer泪奔),Mali Plus系列支持OpenGL ES 3.0。有Mali-T604、Mali-T624、Mali-T628及Mali-T678四款(事实上还有Mali-T658,官网为啥不列出),使用的架构代号Midgard(米德加德),全都是北欧神话中的仙境。

Mali-300是ARM第一款支持OpenGL ES 2.0规范的GPU核心,拥有8KB L2缓存,使用AMBA AXI总线,支持1080p分辨率下的4x MSAA抗锯齿,主要使用65nm工艺。LP工艺频率240MHz,GP工艺下频率可达400MHz。

Mali-400 MP在Mali-30初级上做了改进。制程和频率不变,只是L2缓存可配置8-256KB,而MP后缀的添加意味着Mali-400可配置多个GPU核心。每一个核心包含内存系统在内核心面积为4.7mm2,最多可配置4个核心。三星Galaxy S3中使用的Exynos 4412就是Mali-400 MP4的配置,由于32nm HKMG工艺的原因。频率也提高到了440MHz,Note 2中则是533MHz。

Mali-450 MP则是Mali-400 MP的升级版,制程工艺升级到40nm。40nm LP工艺的频率是240MHz,GP工艺是480MHz,可配置L2缓存是8-512KB,四核的Mali-450 MP4、256KB L2缓存再加上内存系统的核心面积是8.6mm2,最多可集成8个核心。ARM宣称其性能是Mali-400的2倍。只是使用Mali-450 MP的处理器不多见。

Mali-T600系列是去年才開始露面的新一代产品,支持OpenGL 3.0和DX11规范,使用了统一渲染架构,支持OpenCL和DirectCompute加速,T600系列实际上也发展了两代了,露面最早的Mali-T604是第一代,Mali-T624/628/678等兴许产品则是第二代架构了。

Mali-T604最早在三星的Exynos 5250中应用,其CPU部分是双核Cotrex-A15。GPU就是T604了,使用的总线升级到AMBA 4 ACE-LITE,L2缓存提高到32KB,最高可配256KB,内建的MMU内存管理单元支持虚拟内存,最多可集成4核。

ARM没有公布Mali-T604的详细频率及核心面积、性能,仅仅说是前代产品的5倍性能。

Mali-T624的规格參数基本与T604一致,只是核心升级到了第二代Midgard。T628最多能支持8核配置。

昙花一现的Mali-658还是第一代Midgard架构,如今已经被二代Midgard架构的T678代替,之前的资料显示T658的性能是Mali-400 MP的10倍。计算性能是后者的4倍,Mali-678仅仅会比这个指标更强。

Mali-T600还支持ARM开发的ASTC纹理压缩格式,如今已经成为OpenGL ES规范中的一个可选纹理标准。其压缩率更高,内存带宽要求更低。

点评与总结:

ARM的Mali GPU给人的感觉更像是PC中的公版显卡一样,积极支持各种最新标准,注重性能功耗比。以Mali-400 MP4为例,整合256KB L2缓存及内存之后核心面积也仅仅有6.8mm2。40nm LP工艺及250MHz频率下像素填充率就有1000MPix/s。28nm工艺的Tegra 4的GPU核心面积10.5mm2。像素填充率为2688MPix/s,可是它的频率高达672MHz。Mali-400 MP4假设使用相同的工艺和频率的话性能不会比它差,Mali-T600系列号称相同核心面积下IPC性能提高了50%。

可是Mali GPU的问题在于眼下授权使用的大部分还是Mali-400 MP下面的,Mali-450 MP都没有多少厂商集成。Mali-T604除了在三星的Exynos 5250中有过应用。公布过一年多以来未见其它处理器集成。

即便是三星这个老朋友,新一代的Exynos 5 Octa也改用PowerVR的GPU核心了。Mali又少了一个可靠的合作伙伴。

尽管三星的换门会给Mali带来一些短暂的麻烦,只是ARM的CPU+GPU一条龙方案对非常多实力不足的厂商还是有非常强的吸引力,在中低端市场Mali GPU依旧有自己的一席之地。份额不可小视。

未来的和尚会念经——高通的Adreno

作为屈指可数(不是唯一一个)能够自己改进ARM指令的移动处理器厂商。说高通是安卓阵营移动处理器一哥估计没人会反对。再加上高通的3G技术及基带上的优势。高通处理器绝对是近年来最热门的选择之中的一个。顺带着也把高通的Adreno图形核心带火了。

跟ARM亲生的儿子Mali几乎相同,高通的Adreno事实上也是领养的。

Adreno原本是ATI旗下的移动GPU部门,当时叫做Imageon,主要为当时的掌上平台提供图形核心。

2006年AMD收购了ATI。Imageon部分也进入了AMD公司。收购ATI之后AMD就进行了改组,Imageon部分非常不幸地成为多余资产。终于在2008年末被高通以区区6500万美元的代价买走,如今就是高通的Adreno图形部门了。(不知道AMD看到如今的情况是否会懊悔?)

高通与AMD的纠葛还没有完,去年2月份AMD当时的CTO Eric Demers也低调离职,他没有添加NVIDIA或者Intel,终于去了高通公司去负责移动GPU的发展,AMD后来则挖到前苹果副总Mark Papermaster做新任CTO,这也算是AMD对2009年时任CTO加盟苹果的报复吧。

八卦完了再回到Adreno正题上来。眼下在高通官网上列出的Adreno型号从高到低主要有Adreon 320、Adreon 220、Adreon 205、Adreon 200、Adreon 130。事实上还有Adreon 225以及更奇葩的Adreon 203没有列出,我们来看当中最熟悉的Adreno 220、Adreno 225和Adreno 320吧。

主力产品:Adreno 220、Adreon 225及Adreon 320

Adreno 220主要集成在MSM8660和MSM8260这两个骁龙S3处理器中,Adreno 225则出如今骁龙S4的MSM8960中,后者使用了新的Krait架构和28nm工艺,大红大紫的小米一代使用的就是MSM8260,MSM8960在双核时代也非常火。


Adreno 220/225与前代的Adreno 205架构对照

Adreno 220/225支持OpenGL ES 2.0/1.1、EGL 1.3、OpenVG 1.1、DX9等规范。网上及高通公司有关Adreno 220系列的资料也非常少。眼下仅仅知道二者的架构基本是一致的,使用了统一渲染架构(高通原话),都是8组渲染管线,每组渲染管线中有4个矢量ALU单元和1个标量ALU单元组成,矢量单元可执行4个MAD指令操作。只是标量单元不能执行MAD指令,因此每组渲染管线依旧是每周期执行4个MAD指令的能力。

区别在于,Adreno 220的执行频率为266MHz。Adreno由于28nm工艺的优势提高到了400MHz。这也是高通宣称Adreno 225性能比Adreno 220提高了50%的原因。

随着四核APQ8064处理器的上市。高通处理器的GPU眼下已经转向了Adreno 320了。骁龙S4的升级版骁龙600集成的也是Adreno 320,不论架构还是性能都比之前的Adreno 22x系列都有明显优势。

尽管前面的220/225中高通也说是统一渲染架构,可是Adreno 320才是高通第一款真正意义上的统一渲染架构的移动GPU。支持最新的OpenGL ES 3.0规范。加强了GPGPU通用计算的比重。性能比前代Adreno高了3-4倍。

即便是眼下来说,已上市的四核处理器中APQ8064的图形性能也是拔尖的,除了华为的Ascend D2之外,其它5寸1080P手机基本都使用了APQ8064处理器。


Adreno 320架构简单介绍


支持OpenGL ES 3.0


CPU和GPU都能够加速游戏性能提升


FlexRender弹性渲染设计


实測性能大约是Adreno 225的2倍左右

展望与点评

今年初高通又公布骁龙800处理器,与骁龙600继续使用Adreno 320(尽管也会有所改进)不同,骁龙800将使用更新的Adreno 330。高通表示Adreno 330的性能是Adreno 320的1.5倍,计算性能则是它的3倍。并且会支持Ultra HD标准的4K视频,听着非常诱人,只是实际体验还得等相关产品上市再说,也要到下半年了。

不管从哪方面看。高通用6500万美元收购AMD旗下的移动图形部门都是一笔超划算的买卖。Adreno带给高通的收益恐怕是一百个收购额也比不了的。

对高通来说。就算不考虑Adreno图形核心的性能怎样。仅凭着高通在CPU和基带上的优势,Adreno都能在整个市场上保留一席之地。更何况眼下的Adreno 320依旧是图形性能最高的移动GPU之中的一个,大者恒大还是有道理的。

Imagination的PowerVR 6系列迟迟不出。估计今年的移动GPU王者就要在Adreno 330和下文的Tegra 4中产生了。

后来居上的爆发户——NVIDIA的GeForce ULP

在移动处理器这个江湖里NVIDIA算是后起之秀,前一篇的移动处理器门派划分中我们将其归为“峨嵋派”,尽管开宗立派时间短。可是后来居上。再加上NVIDIA在PC市场的影响力。他们尽管是资历最浅的外来户。但在GPU技术上实力雄厚,前途无量。

Tegra系列从AP2 2500開始到如今也出过四代产品了,其GPU核心也沿用了GeForce的命名。一般称为GeForce ULP(Ultra-low power),超低功耗之意。

第一代的Tegra尽管也曾被微软的Zune HD青睐。只是眼下来说已经是古董级产品了,NVIDIA官网也将其除名,介绍的仅仅有Tegra 2、Tegra 3和Tegra 4,我们也从他们说起吧。

主力产品:Tegra 2、Tegra 3、Tegra 4/4i

NVIDIA的移动处理器往往是公布最早的,Tegra 2是世界首款双核Cortex-A9架构处理器,Tegra 3是首款四核Cortex-A9处理器,Tgera 4则是公布最早的世界首款四核Cortex-A15处理器,这也算是Tegra系列的一个前期长处吧。

双核的Tegra 2频率为1.0-1.2GHz,Cortex-A9架构,GPU中有8个图形单元。分为4个顶点单元和4个像素单元,执行频率则有300、333及400MHz三个版本号,支持OpenGL ES 2.0、OpenVG 1.1及EGL 1.4规范,眼下依旧有少部分手机在用。

Tegra 3是我们的老朋友了,也是NVIDIA眼下的绝对主力,四核Coretx-A9架构,GPU中有12个图形单元,分为4个顶点单元。8个像素单元。执行频率有416MHz及520MHz两种,当中微软Surface RT、Google Nexus 7使用的就是416MHz版本号,高端手机和平板中使用的则是520MHz版本号。

Tegra 4如今已经公布,只是还没有详细产品上市。仅仅能说是今年下半场的主力。与Tegra 3相比,它的架构、工艺都有升级,制程升级到28nm HPL工艺,CPU核心升级为四核Cortex-A15。GPU单元数量则从前代的12个跃升到了72个,实际执行频率约为672MHz。

Tegra 4完整支持OpenGL ES 2.0,并支持大部分的OpenGL ES 3.0技术,除了fp32浮点。

另外另一个精简版的Tegra 4i。制程工艺也是28nm,CPU核心为四核Cortex-A9 r4p1改进版。GPU单元降低到60个,只是它整合了LTE基带,功耗和发热更适合手机使用。

架构设计:源自NV4x


Tegra2(左)与Tegra 3(右)的GPU架构


Tegra 4i的GPU架构


Tegra 4的GPU架构

Anandtech此前针对Tegra 2、3、4的GPU架构做了一番分析。

Tegra的核心依旧是传统的顶点和像素单元分离设计,即便是新一代的Tegra 4也不例外,并没有使用统一渲染架构。

Tegra 2有一组顶点和一组像素单元。每组各有4个ALU运算单元。Tegra 3的顶点单元不变。添加了一组像素单元,变成4+8形式。Tegra 4的顶点单元有6组。24个ALU单元,像素单元则由4组,每组包含12个ALU单元,24+48的形式组成了72个图形单元。

Tegra 4i则在Tegra 4的基础上砍掉了三组顶点单元。还剩下12个定点单元。48个像素单元不变,总结是60个图形单元。只是砍掉了一半的顶点单元意味着其三角形生成率会大幅下降。

NVIDIA这几代的Tegra处理器的GPU核心架构事实上没什么变化,都源于早期的NV4x架构,每一个ALU单元每周期可执行4个MAD指令,Tegra 4的顶点单元规模是Tegra 3的6倍,像素单元管线是Tegra 3的2倍,只是每组管线的规模又是Tegra 3的3倍,像素单元的规模总体还是Tegra 3的6倍。

只是Tegra 4的GPU核心也在效能方面做了改进,添加了L2纹理缓存,提升了像素渲染的最大寄存器(从16提高到24)等等,

另外,Tegra 4的672MHz的执行频率也比Tegra 3的520MHz要高。因此理论性能方面的提升例如以下:


Tegra 4相对Tegra 3的GPU性能提升

最后,Tegra 4尽管不能完整支持OpenGL ES 3.0规范,只是当中的大部分技术都是支持的。比方多目标渲染、遮蔽查询等新增技术都有支持。


Tegra 4支持OpenGL ES 3.0中的大部分技术规范

Tegra系列GPU优势与不足

1、坚持小核心战略。单位面积性能取胜

与桌面/专业卡中更追求性能的战略不同,NVIDIA在Tegra处理器上反倒慎重了很多,非常注重控制芯片的核心面积。Tegra 4在规格大幅提升的同一时候依旧将核心面积控制在了80mm2左右,当中GPU核心面积仅仅有10.5mm2。与竞争对手相比小了很多。


GPU核心面积都被换算到了等效28nm工艺下

这就给NVIDIA带来一个宣传上的优势——单位面积性能足以秒杀眼下的竞争对手。不论是高通的APQ8064还是苹果的A5X、A6X,在这个指标上都被斩落马下。

当然了。Tegra 4的绝对性能也不差。此前官方公布及现场演示都表明其安兔兔得分高达3.6万左右。比眼下的跑分天王APQ8064最高2.1万分的成绩高了50%。

2、游戏优化不错,THD专属给力

尽管NVIDIA在PC平台的游戏优化被AMD的Gaming Evolved慢慢超越,可是移动平台是他们的心头肉。跟厂商合作的优化还会继续深入。Tegra系列还有专属的THD游戏,专门为NVIDIA的处理器优化。

此前的一个样例就是EPIC的《史诗城堡》demo。尽管Tegra 3的理论性能被高通APQ064打个落花流水,只是在这个demo測试中Tegra 3的成绩普遍好于APQ8064,更大幅率先三星的Exynos 4412等处理器。


没有Tegra 4。你游戏中的妹子都不够靓

Tegra处理器事实上另一个最大的长处,那就是相关设备价格比較廉价。以四核Tegra 3为例。它已经在两千甚至一千元内的四核手机中有过应用。北斗小辣椒、中兴V985、天语大黄蜂等等当中的代表。影驰的999元四核平板使用的也Tegra 3处理器,看来黄总为了出货量也在价格上拼了。

说到Tegra处理器的不足。那就是公布早上市晚的惯性了。非常easy让后来者超越。Tegra 3是最早的四核Cortex-A9,可是等到上市铺货的时候别的厂商的28nm四核都来了,Tegra 3性能上不再有优势了,40nm制程的功耗也比别人高。Tegra 4如今也是几乎相同的情况,1月份公布的,平板和手机要想用上Tegra 4恐怕得到下半年甚至年底了。

另外一个让人揪心的就是功耗了。Tegra 4迟迟不能应用就多少受到了这方面的影响。据分析Tegra 4的TDP功耗高达5W,用在手机和平板中还有非常大的难度。公平地说,功耗升高是全部四核Cortex-A15处理器都要面对的问题。可是谁让Tegra 4最早公布呢。它必定第一个承受这个非议。

未来展望及点评

Tegra 4还没有上市。NVIDIA又在前不久的GTC 2013大会上规划好了Tegra 5以及Tegra 6了,与眼下的架构相比,后两者的变化可谓革命性的。

Tegra 5代号Logan,它将会进入统一渲染时代。使用Kepler核心,OpenGL ES规范上一跃升级为OpenGL 4.3,同一时候还支持CUDA on ARM,意味着移动处理器上也能用上CUDA加速了,再加上OpengGL 4.3支持,Tegra 5明年有可能成为最先进的移动GPU之中的一个。

回头来看。随着GPU在移动处理器中分量越来越重要。在GPU技术上有先天优势的NVIDIA未来还是值得看好的,眼下的Tegra 3和Tegra 4还是小改款。可是明年的Tegra 5意义大不同了,超强的技术规范及GPU通用计算的添加有望大幅提升GPU的应用范围。这在ARM处理器阵营中可算是蝎子尾巴——独一份了。

性能出众的“小众”产品——Vivante的GCxx

与PowerVR、Mali、Adreno等明星相比。Vivante公司的GC系列GPU核心就不太为人熟知了,就连市场份额比它少的Tegra系列都比Vivante知名。去年让Vivante露一大脸的是华为旗下的海思K3V2,这颗号称“世界最快四核”的移动处理器在华为去年的Ascend D1四核、荣耀2四核以及今年初的Ascend D2、6.1寸超大屏的Mate上全面应用,其16核GPU实际上就源于Vivante的GC系列GPU。


华为的K3V2处理器使用的就是Vivante的GC4000核心

Vivante事实上还是挺有资本的。创立于2004年,创始人好像还是个华裔,他们专注于移动GPU市场。2010年的时候就有超过40家授权单位,主要客户有Marvell、飞思卡尔等,非常多人不知道的是国内的瑞芯微电子的RK2918以及自主知识产权的国产明星“龙芯-2H”使用的也是Vivante的GPU核心。

Vivante给人的感觉就是“小众”。好听点的说法是“Vivante尽管小众,可是性能出众”。难听点的说法是“Vivante的GPU性能出众,可是市场小众”。仅仅只是从市场统计上看。Vivante的GC系列在移动GPU的份额上仅次于PowerVR、Adreno以及Mali之后,2012年上半年的全球份额是9.8%,比Tegra的2.5%份额要高得多。

说起来Tegra才是小众。他们是大众产品呢。仅仅只是Vivante在消费级的智能手机和平板领域确实露面太少,给人的印象是“小众”。

主力产品:GC400、GC800、GC4000

Vivante眼下的主力产品是支持OpenGL ES 2.0的GC400、GC800、GC1000、GC2000及GC400,当中GC400是基础。GC1000-4000都是以它为基础设计的多核产品,GC4000就是8核。华为的K3V2宣称的16核GPU实际上是2个GC4000核心。

GC400使用的还是TSMC 40nm LP工艺,理论核心面积为1.2mm2。实际电路面积是1.6mm2,三角形生成率是15M Tri/s,像素填充率是150M pix/s,理论性能是3GFLOPS。8核的GC4000就是GC400的8倍,16核自然就是16倍了。

双核GC4000的理论性能可达96GFLOPS,核心面积24.8mm2,单纯的数据指标不好理解,我们拿它与苹果A5X做个对照。后者使用的PowerVR 554MP4核心,理论性能为76.8GFLOPS,GPU核心面积约为36.6mm2,32nm工艺,这说明双核GC4000在制程工艺落后的情况下核心面积更小。可是理论性能更强。

GC系列性能如此强劲的一个原因还在于它的高频率。他们的GPU通常有AHB和AXI两个接口,AHB总线下执行频率为400MHz,AXI总线下可达600MHz,这可比A5X的GPU 250MHz的频率高得多。


Vivante未来的产品规划

至于未来的产品规划,2011年的路线图上就规划了性能更强的GC600和GC800,原本估计在2012年Q1季度亮相,使用的工艺甚至会升级到20nm。只是眼下来看Vivante最成熟最高端的产品还是GC4000。后两者并未见到产品公布及上市。

Vivante GC系列GPU特点与点评

如今来汇总一下Vivante的GC系列GPU核心的一些特点。

1、支持业界标准,兼容多种API规范

这一条本来是移动GPU厂商的基本工作。可是鱼龙混杂的市场Vivante对业界标准的支持还是非常好的。由于他们本身就是标准制定者Khronos中的成员,对OpenGL ES、OpenCL、OpenVG以DX等规范支持的比較好。

当然了,Vivante的硬件还要继续升级,眼下的GC4000还仅仅支持OpenGL ES 2.0,也没有採用统一渲染架构,制程工艺也应该升级。

2、最高的性能/面积比

前面的规格介绍中就能够看出GC系列GPU的长处是核心面积小,理论性能高,二者集合在一起就是Vivante的GPU有着业界最高的单位面积性能。

与ARM的Mali、Imagination的PowerVR相比,GC系列的单位面积三角生成率是其它厂商的3倍,像素填充率是1.5倍,浮点性能是他们的2.5倍。

3、高倍抗锯齿下的低带宽要求

移动GPU开启MSAA抗锯齿之后三角形生成率直线上升,对带宽的要求更高,Vivante的GC系列对带宽的要求就没有其它厂商那么高。性能损失也更小。

4、为低功耗优化

GC系列依据GPU不同负载可分为活动、空暇、待机及睡眠多种状态,能够依据须要实现不同的性能配置。整合了先进的频率/功耗门控电路,能够动态开关GPU电路,独立的PLL电路还能够实现不同的频率调节。厂商还能够通过软件来调节GPU的功能。

Vivante的GC系列GPU另一个优势前面也提到了,除了支持标准的纹理压缩格式外。它还支持S3TC压缩格式。跟Tegra是通用的,所以理论上THD游戏在Vivante的GPU上也会有相同的特效。

说完了长处再来看看它的不足。Vivante的GC系列GPU号称有着业界最高的单位面积性能,并且双核GC4000的配置在性能上已经秒了iPad4,可是实际使用中并没有这么夸张。就算最常见的跑分測试中它的3D性能不仅没达到iPad4的高度。高通的Adreno 320都要好非常多,再算上有些游戏还存在兼容性问题,Vivante的GC4000有点名不副实。

造成这个现象的原因主要是GC4000核心在智能手机/平板上应用较少。开发商优化不足。可是Vivante自己的因素也不可忽视,其强大到逆天的理论性能是通过高频率实现的。可是实际使用中为了节能。GPU核心频率通常非常非常低,游戏中由于功耗和发热的限制也不会全速执行,这就形成了强烈的对照——跑分强,游戏性能一般。

详细的样例就是华为手机的作弊门。有人解析了华为手机的文件后发现荣耀2四核存在着对主要測试程序的优化,跑測试时超频执行。如今看来加压超频的可能并不大。更可能的情况是:測试时GPU执行在最高的600MHz频率下(GC4000可支持的最高频率),可是实际使用中频率往往仅仅有200-300MHz左右,这样的反差带给人的感觉好像是华为手机在超频执行,是在作弊。

总之,Vivante的GC系列GPU核心核心面积小。理论性能强大。有着业界最高指标的单位面积性能比,可是Vivante的主要客户并不在智能手机和平板市场上,所以实际应用中优化不够给力。跟理论性能有非常大差距,而缩小这个差距也不是一天两天就能完毕的,Vivante及华为还得努力。

话说回来,期待他们继续优化GPU和应用并不意味着华为及Vivante的产品不好。从华为近期公布的固件升级及用户的反馈来看。主流的游戏中K3V2并没有什么问题。大型3D游戏相同玩得转。

机是一样的机,GPU上比高低

移动处理器的核心架构有ARM罩着(Intel的X86架构另算),各家厂商在CPU部分基本没什么区别。即便是自行开发架构的高通也会与ARM保持兼容,移动处理器从PC的小跟班一跃成为能跟PC抗衡的大产业也多少得益于这样的统一。

相比之下。移动GPU就有点各自为政的感觉了。某个游戏在不同处理器上不仅有性能高低的区别,画质、兼容性等方面还有三六九等之分,安卓阵营的碎片化不仅仅是Google的问题吧,GPU也多多少少做了几分“贡献”。

在列举的五家移动GPU厂商中,Imagination眼下实力最强、份额最高,只是我们认为更有危机感的正是他们,由于他们是专业的GPU IP授权厂商,自己不生产GPU产品,产品应用与否全靠授权合作伙伴的选择,可是不论什么一个有远大目标的公司都不会任由自己的产品核心掌控在别人手里,Intel和苹果眼下已经是Iimagination的大股东了。说不定哪天有兴趣就把它给控股了。

Imagination也不介入CPU部分,只是他们实际上也有自己的处理器架构——Meta SoC。今年还重金收购了MIPS公司,MIPS架构也在融入Meta处理器中。除此之外。Imagination还收购了光线追踪加速卡公司Caustic,R2500/2100渲染卡都已经出货。他们也不会鸡蛋都放在PowerVR这一个篮子里。

至于ARM和高通,他们的GPU份额不低,ARM能提供CPU+GPU一整套方案,高通的CPU+Adreno GPU+基带的组合也是无往不利,前途也是光明的。

Vivante的GPU尽管理论性能极其强大,但它跟Imagination一样都是专业的GPU IP授权公司,份额则比后者少得多。我们认为华为还是出手收购了它吧,就算十几亿美金的价格,华为也能承受得了,并且Vivante不是AMD或者Intel、NVIDIA这样的公司,美帝政府的阻力也不大。不行就让报纸和央视整高通,理由就是高通的3G专利严重影响了我们的国家安全,玩不死他们。

还有就是NVIDIA,要说做GPU他们的技术实力是这几家公司中最强的,可是包含眼下的Tegra 4在内的GPU架构事实上还是相对保守,NVIDIA预定明年推出的Tegra 5才更有革命性。Tegra 5的架构会升级到真正的统一渲染架构,并且会选择主流的Kepler架构,支持的技术规范也跨代升级到了OpenGL 4.3。这是OpenGL ES 3.0的超集,DX11之类的规范应该也能支持。

面对照重越来越大的GPU加速。NVIDIA直接把专业市场的CUDA加速带到了ARM平台上。这意味着曾经非常多须要CPU乃至单独的应用处理器才干进行的任务都能够让GPU来完毕,这是全部GPU发展的大趋势之中的一个,也是NVIDIA准备的杀器。

假设你也被NVIDIA成功洗脑了,那么下边这句话能够把你拉回现实:尽管移动GPU的性能和技术决定了未来。NVIDIA在这方面有优势,可是市场成败的关键还要看厂商的功耗控制,在眼下电池技术龟速前进的情况下,没有可靠续航的移动设备都是在耍流氓。

五大移动GPU厂商的更多相关文章

  1. 手机CPU和GPU厂商

    CPU: 1.苹果 (Apple) A系列 ARM授权,基于Cortex-A系列架构 A5基于Cortex-A9架构,双核,主频800M-1Ghz,内存双通道32bitLPDDR2,GPU采用Powe ...

  2. 国内GPU 厂商产品分布

    抽空理了理国内目前已知显卡厂商的各类产品(来源与各个公司产品网站),可能不全,后续会实时更新. 目前来看,显卡市场还是国外两巨头+intel 占据了绝大数的市场,intel 在igpu上深耕了很多年, ...

  3. 【腾讯优测干货分享】安卓专项测试之GPU测试探索

    本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...

  4. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. GPU硬件加速相关

    从android3.0开始,2D渲染开始支持硬件加速,即在view的Canvas上的绘图操作可以用GPU来加速. 硬件加速会使app消耗更多的内存. 如果配置文件中,Target API level  ...

  6. OpenStack企业私有云新需求(1):Nova 虚机支持 GPU

    作者:Sammy Liu 刘世民 本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bar ...

  7. 移动GPU渲染原理的流派——IMR、TBR及TBDR

    移动GPU渲染原理的流派--IMR.TBR及TBDR 移动GPU相对桌面级的GPU仅仅能算是未长大的小孩子,尽管小孩子在某些场合也能比成人更有优势(比方杂技.柔术之类的表演).但在力量上还是有先天的区 ...

  8. 移动GPU全解读(二)

    [编者按]:本文作者为爱搞机特约作者.技术达人"炮神"@ioncannon. 在上一篇移动GPU解读中,对移动GPU的架构.相关參数进行了介绍,本部分介绍的则是移动GPU的Shad ...

  9. CPU和GPU双低效,摩尔定律之后一万倍 ——写于TPU版AlphaGo重出江湖之际

    本文来自计算机体系结构专家王逵.他认为,“摩尔定律结束之后,性能提升一万倍”不会是科幻,而是发生在我们眼前的事实.   2008年,<三体2:黑暗森林>里写到:   真的很难,你冬眠后不久 ...

随机推荐

  1. Linux下的tree命令 --Linux下文件夹树查看

    Linux下的tree命令 --Linux下文件夹树查看 有时我们须要生成文件夹树结构,能够使用的有ls -R,可是实际效果并不好 这时须要用到tree命令,可是大部分Linux系统是默认不安装该命令 ...

  2. 安装perl的版本控制器perlbrew

    perlbrew可以用源码方式安装perl的各种版本,可以容纳多个perl版本共存,并随意切换. 1.把perlbrew安装到home目录: curl -L https://install.perlb ...

  3. [svc]磁盘接口与RAID

    一 磁盘接口 IDE 传统家用: /dev/hda1 SISC 传统服务器: /dev/sdb1 SATA 现在家用 SAS 现在服务器用 FC(光纤通道) 高级服务器 注意: 分区编号,1-4只能给 ...

  4. SourceInsight-显示文件完整路径

    使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过: 1.Options-->Preferences-->Display 设置Trim lon ...

  5. 用C++画光(一)——优化

    写在前面 在先前的画光系列中,实现实体几何.反射.折射等效果,但是最大的一个缺陷是复杂度太高.当采样是1024时,渲染时间直线上升(用4线程),以至好几个小时才能完成一副作品,实现太慢.然而,当我看到 ...

  6. IDEA开发工具常用快捷键总结

    Ctrl+Alt+V 快速补全变量名 Alt+Enter 自动修复 psvm 生成main方法 Ctrl+X 删除一行 Ctrl+D 复制一行 Ctrl+N 查找类 Ctrl+P 显示方法参数 Ctr ...

  7. gulp——myself配置

    var gulp = require('gulp'), uglify = require('gulp-uglify'), concat = require('gulp-concat'); var pu ...

  8. [转]SQL Server 「逾时过期」的处理方式

    基本上 SQL Server 只要在处理大量数据的指令,如 INSERT INTO A SELECT * FROM B 在数据量很大的时候,很容易发生 Timeout ,也就是常见的「逾期过时」错误. ...

  9. jsp c标签不遍历的方法

    生产中遇到过不需要遍历的事情. 一般遍历必须要 <c:forEach items="${resultObj.xxx}" var="data" varSta ...

  10. 【转】Visual Studio常用快捷键

    Shift+Alt+Enter: 切换全屏编辑   Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 ...