全面升级,功能加强 解析Imagination PowerVR 7
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:苹果,iPad,移动 smarty:/if?>
- 发布时间:2015-01-06 08:43
不久前MC曾介绍了ARM新发布的Mali-T800系列的相关规格和设计内容。无独有偶,Imagination也在近日发布了全新PowerVR 7系列移动GPU。相比ARM的Mali系列,PowerVR系列并不逊色,并且由于被苹果看中成为其产品的“御用”移动GPU而受到各方的广泛关注。那么,新发布的PowerVR 7都有哪些特点?
虽然直到现在才有产品开始使用PowerVR 6XT系列(苹果的iPad Air 2),但是考虑到移动SoC的开发周期,Imagination已经开始准备2015年后的产品研发计划了—因为对Imagination这种架构授权类型的厂商来说,架构发布后还需要很长一段时间才能让产品从架构图变为消费者手中手机、平板内的组件,早做准备是理所当然的。
在2014年11月中旬结束的Imagination Idc14中国会议上,Imagination发布了旗下全新的PowerVR 7系列GPU产品。之所以将此次发布安排在中国,主要还是考虑到中国是全球最重要的移动计算市场之一,并且Imagination的大量合作伙伴,如三星、全志、瑞芯微等要么在中国,要么和中国市场有着密不可分的联系。Imagination提供的资料对比了PowerVR 7系列和PowerVR 6系列的差异。
功能支持更先进— 全面升级的Rogue架构
PowerVR 7和PowerVR 6都使用了Imagination的Rogue架构。Rogue架构本身设计很先进,流水线体系和着色器都很不错,几乎没有明显的弱点。不过考虑到即将到来的新指令集和一些新功能的发展需要,Rogue架构还得做出一些局部的增强才能在全新产品中使用。
在API方面,除了PowerVR 7已支持的OpenGL ES 3.1外,目前移动GPU的发展趋势是提供对Android Extension Pack的支持,包括D3D 11.1,也就是说诸如曲面细分等功能也必须纳入其中。还有诸如Adaptive Scalable Texture Compression(ASTC,自适应可变纹理压缩)等功能,都需要PowerVR 7在架构上做出相应的支持。此外,Imagination也继续对GPU本身进行着改进,希望能够提供更为出色的性能功耗比和面积性能比。
从PowerVR 7的架构图来看,PowerVR 7XT的架构和之前PowerVR 6XT的架构差别不大,只是增加了一些新模块。其中最引人注目的就是曲面细分协处理器Tessellation Co-Processor(它在PowerVR 7XT上是基本配置,在PowerVR 7XE上则作为可选功能存在),这几乎是区分新一代移动GPU和前代产品最显著的标志之一。不过,和桌面GPU往往实现全可编程化的功能有所不同的是,PowerVR 7XT的曲面细分协处理器采用了固定功能设计,它可以和顶点数据管理单元(Vertex Data Master)配合完成曲面细分操作,都是不可编程的,虽然这在一定程度上限制了其灵活性,但是考虑到性能功耗比,这样做还是恰当的。
为了更清晰地展示PowerVR 7所作出的改进,Imagination使用了一张图片来说明各个部分的提升和改进情况,其中包括几何处理能力的提升,指令排序能力的提升,更高的计算吞吐量,进一步精简的指令,USC簇最高可提升至16个,额外的双指令支持,原生支持Android Extension Pack等。由于曲面细分功能的存在,顶点数据管理单元必须加强性能,因此PowerVR 7将其几何性能提升了整整一倍,这就可以有效避免计算中可能存在的瓶颈。而计算数据管理器(Compute Data Master)的加强,则可以大幅提升(最高300%)有关波前(wavefronts)存在的大量小尺寸核心程序的处理速度,Imagination认为这将是未来常见的处理需求,因此必须在新架构上有显著提升。在线程调度方面,诸如粗粒度调度器(Coarse Grain Scheduler)在排序、调度工作上更有效了,Imagination降低了内部区块的关联性后,调度器可以更快速、频繁地向USC(Unified Shading Cluster,统一像素集群)核心发布任务,不再需要等待其他USC完成就可以直接派发计算需求给空闲的USC单元。
从整体上梳理了功能方面的改进后,下面让我们进一步来分析PowerVR 7XT的USC部分。在这一部分上,PowerVR 7XT相比PowerVR 6XT的变化不大。每个USC包括了两个FP32的ALU单元、四个FP16的ALU单元和一个特殊功能单元(Special Function Unit,简称SFU)。这里的重点在于SFU的改进,PowerVR 6XT的SFU在处理FP16工作时调用的是FP32单元,性能虽然谈不上低,但是能耗比表现不那么令人满意,尤其是在SFU本身的计算代价就比较高的情况下。因此在PowerVR 7XT上,SFU处理FP16数据时会使用FP16单元,处理FP32时才会调用FP32单元,听起来似乎顺理成章,但这样的改进会使得GPU在处理大量FP16任务时提升能耗比,毕竟FP32精度的计算在移动SoC上还是非常少的。不过为了达成这样的功能,Imagination应该是设计了两个SFU功能模块(或者两个SFU单元),但是在图中画在了一起,这两个SFU单元分别对应FP32和FP16,只不过不能同时运行罢了。
此外,SFU在功能上还进行了增强。从PowerVR 7XT开始,SFU可以操作两个ALU,而不是像PowerVR 6XT那样只能操作一个ALU。不过在PowerVR 7XT上,只有SFU能够支持双指令功能,诸如波前指令只能使用FP16或者FP32,而且它们不能同时进行。Imagination宣称,在SUF支持双指令后,能够带来一定程度的性能提升。当然要做到这一点,还需要增加一些额外的指令集,这些额外指令集可以告诉GPU在哪些情况下能够使用双指令。因此,PowerVR 7XT加入了一些全新的捆绑指令,这些指令可以触发双指令功能,并在一定程度上降低代码的执行周期,从而提高其效率。
在其他新功能上,FP64在PowerVR 7XT上是可选的,这需要在管线中增加额外的FP64单元才能完成计算。拥有了FP64单元后,PowerVR 7XT的性能会得到一定的提升。最后则是非图形部分的安全设计。PowerVR 7XT可以利用虚拟化技术创建最多八个安全区域,彼此隔离并使用硬件加密,这八个区域可以执行不同的安全任务,可以和CPU互联(这项功能在PowerVR 7XE上是可选的)。目前诸如指纹识别等技术已经开始广泛应用,有关安全功能的设计早在CPU上已经开始流行,在GPU上一般是使用软件模拟,效率比较低下,而这次PowerVR 7XT能够加入相关的安全功能,也是为了适应未来应用发展的需求。
从手机到电脑,从主流到顶级—PowerVR 7XT规格详解
PowerVR 7系列和之前的PowerVR 6一样分为两个档次。PowerVR 7XT系列面向高端市场,提供非常出色的每瓦特性能、每平方毫米性能、大量高级功能以及全新的技术。PowerVR 7XE系列则面向中低端市场,除了依旧良好的每瓦特性能和每平方毫米性能外,这个系列还提供必要的功能来满足市场需求。下面本文将重点介绍PowerVR 7XT。
PowerVR 7XT目前有两个可选的功能,一个是FP64 ALU单元,这一点在前文中有过详细介绍。对一些打算将PowerVR 7XT使用在HPC相关场合的用户来说,FP6 4是必须有的功能,与此类似的还有OpenCL 1.2 Full Profile,它也是面向高性能计算用途的,不过这个API默认仅支持FP32、OpenCL 1.2 Embedded Profile,用户可以根据需要加入。除此之外,DirectX 11的部分功能也是可选的(虽然曲面细分功能已经全部标配),Imagination建议那些使用Windows操作系统的厂商支持所有的DirectX 11功能,以便增强用户在使用诸如Windows Phone手机、Windows平板和其他Windows设备上的使用体验。
除了功能外,Imagination还特别提到了PowerVR 7XT在电源管理技术上的创新。一般来说,在目前的移动SoC中,发热量、温度和性能总是难以协调。绝大部分SoC在高速运行数分钟之后就会由于热量难以有效散除从而引发高温,并最终导致降频、降电压、降性能等问题的发生。但是Imagination认为PowerVR 7XT不会这样。Imagination给出了一张对比图,显示PowerVR 7XT和其他三款分别为绿色、蓝色和红色的移动GPU的对比,除了PowerVR 7XT外,其余三款产品都会在满载运行一小段时间后迅速降低频率,其最终运行频率只能保持在初始频率的50%左右。唯独只有PowerVR 7XT在很长一段时间内都保持了稳定的高频率、高性能输出,而最终的频率降幅也会控制在20%以内。因此,Imagination宣称PowerVR 7XT不会带来性能波动,能够始终以平稳的速度输出性能。
不过频率控制和功耗控制的问题,很大程度上是由最终的SoC厂商来完成的,Imagination应该不能控制SoC厂商如何进行具体的设计,更可能是它提供开发建议。在SoC节能设计方面,首先被人们关注的是低功耗,其次才是节能方案。在节能设计上,CPU的快速休眠策略在GPU上似乎不是很好用,因为只要存在用户操作,那一定就会存在GPU负载。因此在GPU的设计上需要通过良好的优化,包括操作系统端的一些控制,使得GPU在运行中能够在能耗和性能上保持实时控制,而不是陷入“高频爆发—强制低频”这样的循环。因此在PowerVR 7XT上,可能存在诸如限制最小频率以提供稳定性能的方案,使得GPU能够根据当前情况来输出性能。
接下来再说说规格。PowerVR 7XT系列至少拥有2个USC,最多可以使用16个,其每周期浮点性能可达到单精度256~2048Flops;双精度128~1024Flops;像素填充能力从4Pixels/Clock开始,最高可达32Pixels/Clock(存疑,缺乏官方数据支持);纹理填充性能最低为4Texels/Clock,最高达到32Texels/Clock。
从产品型号来看,Imagination为PowerVR 7XT系列规划了五个型号,分别是GT7200、GT7400、GT7600、GT7800和GT7900。其中:
1.GT7200集成了2个USC,面向主流手机、平板和4K超清电视机等设备。
2.GT7400集成了4个USC,面向顶级手机和平板、中端车载电脑。Imagination官方宣称GT7400的性能和Xbox 360、PS3等游戏主机采用的GUP性能基本相当。
3.GT7600集成了6个USC,GT7800集成了8个USC,这两者面向超极本、顶级的平板和车载电脑。
4.GT7900则集成了16个USC,官方宣称其性能可以比肩笔记本电脑平台的GeForce GT 730,因此可以用在笔记本电脑、服务器、游戏设备中。
最后再来看看性能。Imagination官方没有给出任何PowerVR 7XT与第三方厂商产品的性能对比,依旧是和自家PowerVR 6XT进行比较。从公布的数据来看,PowerVR 7XT的性能普遍比上代产品高了大约35%~60%。当然这些数据只是在理想情况下,实际应用中考虑到功耗和散热问题,应该不会有如此大的差距。
入门级用户最爱—PowerVR 7XE
说完了PowerVR 7XT,接下来自然就是面向入门级用户的PowerVR 7XE了。PowerVR 7XE针对的是对性能功耗比更敏感的用户以及入门级产品。虽然定位较低,但是PowerVR 7XE几乎拥有Rogue架构绝大部分功能,以及一大堆可选功能。其中曲面细分、HEVC和10bit YUV、安全模块、Android Extension Pack、ASTC等压缩技术都是可选的。已经具有的功能和规格包括OpenGL ES 3.1、OpenCL 1.2等。
说完了规格,再来具体的型号。PowerVR 7XE拥有两个型号,分别是GE7800和GE7400。其中前者拥有完整的一个USC(32个ALU单元),因此被用在入门级平板、手机和主流级别的4K超清电视机等设备上;后者则只有半个USC(16个ALU单元),性能也比较差,因此只能支持廉价手机、平板、主流的1080p电视机或者顶级的穿戴设备。虽然性能差了,但是Imagination也额外提到PowerVR 7XE的最高功耗都没超过1W,空闲功耗更是低得多,因此很适合可穿戴设备使用。
最后依旧是性能部分,官方资料表示,PowerVR 7XE的性能最高比上代产品PowerVR 6XE提升108%,至少也有41%的优势,整体表现令人满意。
PowerVR 7和Mali-T800的隐忧
如果读者也看了本刊此前对Mali-T800 GPU的介绍的话,就会发现一个非常有趣的现象:作为目前ARM图形技术领域两大巨头的Imagination和ARM,在2015年甚至更远的GPU规划中,都采用了比较保守的策略—延续旧架构、加入新技术、提高能耗比,并且性能提升远远没有之前几代那么“奔放”。
移动计算市场在前几年给人们展示的是一个高增长的态势,甚至有“站在台风口、猪也会被吹起来”这样言论的出现。不过实际上经过长达五六年的高速发展后,移动计算市场正在逐渐平息,增长速度可能会逐渐放慢,类似的情况正在平板领域发生。另一个问题是,目前移动SoC赖以高速发展的工艺,正在逐渐逼近物理极限,未来14nm、16nm工艺的进展可能都会由于这样或那样的技术限制而延迟。面对这种情况,移动GPU的发展速度放缓也就不值得奇怪了。
回过头来说PowerVR 7。无论如何,Imagination这次发布的PowerVR 7系列,从高端到低端的布局和设计都比较出色。Imagination需要PowerVR 7帮助它进入诸如智能可穿戴设备、手机、平板、车载电脑甚至笔记本电脑市场,野心不小。不仅如此,鉴于苹果和Imagination良好的合作关系,PowerVR 7出现在苹果相关产品上基本是板上钉钉的事情,有了苹果这个大靠山,Imagination几乎不用担心未来产品的销售吧?
文 张平