iPhone画面幕后功臣 3D显示芯片当之无愧

来源:新电子 #芯片# #iPhone# #iphone# #幕后# #IPhone# #功臣# #画面#
482
苹果iPhone与其他品牌Android手机的大量出货,带动内建3D显示芯片市场同步成长。嵌入式3D芯片已迈入多核高效能时代,其绘图技术除了强打高效能外,省电也是设计的一大重点,须由各个层次来节省电源消耗,才能设计出符合行动装置需求的架构。

让iPhone酷炫画面顺畅执行的背后功臣,是目前手机上最强的3D显示芯片PowerVR,不仅苹果(Apple)iPhone搭载嵌入式3D芯片,宏达电及其他品牌所研发的Android手机,亦内建三维(3D)显示芯片。随着这类手机的大量出货,可以想见未来市场还有可观的成长空间。主要为提升效能而设计的多核高效能绘图架构技术,除了高效能之外,还要考虑省电技术。

PowerVR优于其他嵌入式3D芯片架构

目前嵌入式3D芯片的佼佼者非PowerVR莫属,产品线从早期的PowerVR MBX系列,到今日的SGX系列,从固定功能(Fixed Function)的OpenGL ES 1.1到可程序化(Programmable)的OpenGL ES 2.0,并支持OpenVG、OpenCL等,涵盖范围十分广泛。首先是安谋国际(ARM)的嵌入式中央处理器(CPU),同时也是全球使用最广泛的嵌入式(Embedded)CPU,安谋国际已购并嵌入式3D芯片的公司,将其纳入安谋国际的产品线中,包含OpenGL ES 1.1与OpenGL ES 2.0的产品,型号是Mali,虽然授权产品不多,但其强大的开发资源不容小觑。至于高通(Qualcomm)的Andreno嵌入式3D芯片,其优势在于通讯芯片的开发,同时整合系统单芯片(SoC)方案,并购并图形显示方面的ATI嵌入式3D芯片产品线。虽然效能并非最佳,但因系统芯片的整合优势,是目前智能型手机市场占有率极高的产品。此外,在桌上型显示芯片耕耘已久的NVIDIA,也逐渐在嵌入式系统市场中发挥,其策略为自行生产系统单芯片,进而将自家的绘图处理器(GPU)推上市场,型号为Tegra,但因以往开发厂商皆源于PC-based的系统厂,理所当然先推出属性相近的平板计算机,这次台北国际计算机展(Computex)中便有许多产品来自Tegra,在手机产品方面则有待加强。

嵌入式3D芯片已进入多核高效能时代,从一开始的固定管线(Fixed Function Pipeline)架构,推展至可程序化的Shader架构,再到目前的串流(Unified Shader)架构,形成多核心架构的发展。若无Unified架构,就不易扩增多核架构。Unified的发展可从两部分来看,一是软件模型,Direct3D 10的Shader Model 4.0中,所有Shader种类都使用一致的指令集(ISA),拥有相同能力,可执行同样的算术指令(Arithmetic Instructions)。另一个是硬件面,当运算单元是Unified的硬件架构时,就可算是统合着色器架构(Unified Shading Architecture),这类硬件架构大多由运算单元数组和动态排程/负载平衡单元,来分配Shader Work给这些运算单元。

Unified架构适合更弹性的调配,以更有效率的完成工作。举例来说,当Vertex的运算负担较少,而Pixel运算负担很重时,可将Unified的运算单元部分配置给Pixel运算来减轻负担,加快效能。

例如场景为Heavy Geometry,可将Pixel运算减少以提高Vertex运算,达到应用需求。反之,当场景设定为Heavy Pixel时,则可将部分Vertex运算移作Pixel运算来达到整体效能的需求。Unified架构让不同属性的工作能动态配置运算单元数量,使工作采取最有效率的方式完成(图1)。
数据源:NVIDIA网站
图1 固定Shader效能特性

嵌入式3D芯片不但强调高效能,还有低耗电。PowerVR使用延迟着色(Tile-based Deferred Rendering, TBDR),将屏幕切成许多Tile范围,再分别将每块Tile场景绘制好,合成整个屏幕影像,如此一来,便可透过节省数据带宽而达到省电效果,这也是目前业界最佳省电架构。

除此之外,省电架构经常使用的还有频率闸控(Clock Gating)与全新电源闸控。频率闸控方式可在架构设计内中断不须使用的电路频率,减少部分电路的动态功率(Dynamic Power),从而达到省电的目的。全新电源闸控则是直接将相关电路的供电关闭,使部分电路的泄漏功率(Leakage Power)减少而达到省电效果。通常泄漏功率比动态功率要大得多,所以采取全新电源闸控的方法可达最佳耗电量,但因技术牵扯到后端的电路布局,使复杂度与困难度相对提高。

减少内存数据带宽 达成省电效果

嵌入式多核心主要两个产品架构,分别为PowerVR SGX与ARM Mali。3DPowerVR SGX强调三个重点,首先是TBDR省电架构,这是PowerVR的独特专利,可在芯片上内存(On-chip Memory)中处理隐藏面消除(Hidden Surface Removal)和混合(Blending),透过减少内存数据带宽而达成省电效果。第二项是可程序化的通用可阶层化Shader引擎 (Universal Scalable Shader Engine, USSE),如图2架构中表示,此模块为芯片的心脏,负责运算中心。USSE可将各个Shader的工作(Vertex Or Pixel)自动配置给USSE中多个Shader核心,让硬件使用率达到最佳状态。最后是省电技术,除了TBDR外,同时也使用频率闸控方式来确保最少的待机耗电量。

图2 PowerVR SGX Series5架构图

安谋国际Mali产品分成三个型号,Mali 55、Mali 200及Mali 400 MP。从固定功能的OpenGL ES 1.1到可程序化的OpenGL ES 2.0,从单核心进展至多核心架构。首先是前几年的产品Mali 55,从架构图(图3)可看出这颗芯片只有单纯处理Pixel的电路,Vertex计算采用软件的解决方案,所以只支持OpenGL ES 1.1的应用。因为部分采取软件方式,所以电路面积很小,有世界上最小的芯片之称,但也因此效能不卓越,仅能处理简单的显示。

图3 ARM Mali 55架构图

图4所示的Mali 200架构图,从固定功能进化到可程序化,支持OpenGL ES 2.0。但在图形处理管在线为单核心架构,分别有一个处理Vertex与Pixel的处理核心,而且并非Unified的架构。

图4 ARM Mali 200架构图

最后一项为Mali 400 MP(图5),这一代正式进入多核心架构,由一个顶点遮影器(Vertex Shader)与四个画素遮影器(Pixel Shader)组成,仍非Unified的架构。这样的配置可在处理简单的几何场景时达到系统平衡,因为大部分的计算量落在处理Pixel上,所以一个顶点遮影器即足以应付,但当处理复杂场景时,因硬件资源仅有一个处理Vertex的单元,会发生系统的瓶颈。在计算Vertex时,Pixel可能因尚未完成Vertex计算而处于闲置状态,浪费硬件的资源。

图5 ARM Mali 400 MP 架构图

图6为资策会开发的Scheduling Based Scalable Multicore绘图处理器,代号为Cyclone的系统架构图,为八核心的串流架构,使用L1和L2 Cache架构减少存取外部内存的延迟,并采两层Data Cache架构,搭配Scheduler将丛集(Cluster)中核心(Core)运算所需数据配置好,解决存取线程数据(Thread Data)的冲突。此架构重点为Scheduler,负责协调各模块的运作,让系统提升整体效率。

图6 Cyclone架构图

Cyclone绘图处理器技术为可因应不同应用的可变动组态架构,在此架构下,使用组态从单核心到多核心,都使用一致的架构。因此在Shader Core设计时,特别针对效能优化及因应可变动组态架构,搭配Universal Scheduler,有效降低Shader Core的控制复杂度。以设计一个Compact架构为出发点,采用2 Way VLIW的指令架构,可达到单精(密)度(Single Precision)的单一指令多重数据(SIMD)运算单元,并符合OpenGL ES 2.0所使用的ESSL规格指令集架构。如此设计的Shader Core可达到高运算产出,并在电路成本上获得降低空间。

对3D显示图形的特别电路,以及Rasterization和Raster Operation这两块模块上,致力研究一个可平行且高效能的管线架构,使用Plane Equation Interpolation并实行独特不需额外Clipping电路的方式来产生画素。

在3D管线的先期阶段将毋须处理的画素过滤掉,使后端的运算减少,增加整体效能同时减少耗电量。搭配资策会研发团队特殊Rasterization的 Tile架构设计,使用Hierarchical-Tile-Z技术将各区块的画素一次过滤掉,达到最佳的效果。为提升画面质量,同时设计一个独特的反锯齿架构,只需2.15倍带宽即可达到理论值十六倍AA的效果。

在最后画素处理的ROP模块中,由于是将结果输出到外部内存的最后阶段,因此须有效降低带宽需求,一方面除了对On-chip Buffer的资料做压缩处理,让使用资料带宽降低,同时也在On-chip Buffer的阶段,针对绘制的三角形顺序,重新规画执行顺序,让后端ROP的Data Cache能达到区域使用率优化,从而降低数据传输频率及减少数据带宽。

另外,从系统架构图中可看出Universal Scheduler与大部分模块都有连接,亦即Universal Scheduler控制了系统中大部分模块,由此可知Universal Scheduler的控制也会相当复杂。Scheduler的重要功能是Load Balanced Scheduling,所以会根据Thread Data(Vertex/Pixel)的数量及运算的复杂度(Vertex/Pixel Program),预测每个Thread的运算资源和时间,如此一来,信息将会动态监控,随时调整Scheduling的控制,维持整体顺畅执行以提升 Core的利用率。所以Scheduler的任务是让Core不因数据(Data)延迟而闲置(Idle),使Core的空闲时间减到最少是此架构最重要的目的。因为Scheduler的控制复杂,使用固定电路也许会成本过高,在组态改变,或是修改Scheduling算法而进行修改时,也都会提高设计成本。

如果采用轻量简易处理器Micro Controller架构,既可减少设计成本,也可轻易更新Scheduling算法提升效能。如ATI X1800的架构,也是采用超线程处理核心(Ultra-threading Dispatch Processor)来执行配置工作(图7)。

图7 ATI X1800 Ultra-Threading Dispatch Processor Architecture

 Cyclone集效能/省电/画面细致于一身

Cyclone兼具省电、省带宽及画面更为细致的优点,分述如下。

在省电技术中导入频率闸控方式,当毋须使用电路时将频率中断,使电路的动态功率减少,达到省电效果。如图8,各个加减乘等数值操作数(Function Unit)前面都有一个Gating的电路,当Gating Ctrl模块解译到当下没有使用到的运算单元不相依指令时,便会将这些运算单元的频率中断,降低动态功率。运算单元因应用不同,被使用的频率也不一样,所以若于不使用时关闭,节省下来的动态功率将十分可观。

图8 Clock Gating架构图

为此,资策会开发具备低功耗(Low Power)特色的Compiler以发挥架构效果,将这些电路的使用开关优化,使省电达到最佳效能。对缓存器档案(Register File)的使用也采取相同机制,减少这部分动态功率的消耗,节省更多不必要的耗电。 在ROP的设计中,带宽减少技术采取压缩机制,藉由降低数据传输量来达到减少带宽的使用。如图9,Encoder会将深度缓冲区(Depth Buffer)中的数据,根据算法电路计算将数据压缩,以减少到外部内存的带宽。因为是Lossless的方法,所以压缩率约可达七成,让带宽使用减少到三成。除此之外,对总线(Bus)的操作,也针对不同Color Mode设计优化的使用,同样可减少带宽和总线系统负载,进而增进效能。

图9 ROP Depth Compression架构图

针对TBDR的架构,采取计算规画最佳的三角形绘制顺序,搭配ROP的Buffer Cache,也可大大降低带宽的使用。如图10,Vertex经过Transformation阶段后,会将结果放在Vertex Buffer中,进入Pre and Post-transform的机制,让缓冲区中的Vertex达到最佳使用率。在此阶段自然会找出一个区域性最佳的顺序,将缓冲区中的Vertex数据重新排序过,再送到光栅引擎(Raster Engine)中的Setup模块将顶点数据组合成三角形的数据,并计算此三角形的内差方程式参数,送到后端执行产生Pixel的模块,产生对应到屏幕坐标轴的画素数据,最后ROP Engine会将这些屏幕上的画素数据在芯片上的缓冲区(On-chip Buffer)中直接执行颜色处理、混色。换句话说,经过优化的三角形顺序,能大幅提升芯片中的数据使用率,减少重新到外部内存抓取的数据,从而达到节省带宽使用的目标。

图10 Triangle Reorder架构图

画面要求更为细致

除了效能与省电外,对画面的要求也越来越细致,因此研发团队提供反锯齿的功能。锯齿形成的主因,在于将3D空间的物体映像到屏幕时,从连续空间转换到离散空间,必须做一个取样(Sampling)的过程,当取样的点不够时,便会产生锯齿的情况。一般的解决方法是增加取样的数目,如多点取样(Multi- sampling)或超级取样(Super-sampling)的方式。但实作时发现会使带宽快速增加,目前无法为嵌入式系统所接受,因此大部分架构多半使用计算Coverage,来逼近多点采样的方式。为了进一步节省带宽,会采取共享信息的方式,让每个画素的多个取样点与临接的画素共享。这些方式多半都有专利保护,为了避免侵权到相关的专利,研发团队藉由提出与这些专利不同的设计架构,来达到更好的效果。由图11可看出最后呈现较佳的影像,透过这个独特的架构,可以达到只需2.15倍带宽的16X AA。

图11 Non-AA与AA的比较图

嵌入式多核心不但要提供高效能,还要考虑省电的技术,从架构层(Architecture Level)到联机层(Circuit Level)、从频率闸控方式到全新电源闸控,由各个层次来节省电源消耗,才能设计出一个符合行动装置需求的架构。在设计上考虑使用Schedule来根据不同应用的程序行为,配置最佳的资源来计算,以求能有效利用硬件来达到省电及效能的目标。这样的架构可弹性调整不同组态,从一个核心到多个核心,应付不同的应用需求。从对电源很敏感的行动装置,到掌上型游戏机,甚至是机顶盒等应用,都可根据同一架构,采取不同组态,达成其功能目的。

(本文作者任职于资策会网络多媒体研究所)
责编:
来源:新电子 #芯片# #iPhone# #iphone# #幕后# #IPhone# #功臣# #画面#
THE END
关闭
加载

PDF 加载中...