动力之源——新一代PowerVR显示芯片KYRO 朱云 abs3d.yeah.net 2000年 第25期   Videologic公司设计的新一代PowerVR 3系列3D显示芯片,一直是业界关心的焦点之一。6月5日我国台湾省的台北Computex电脑展上,与Videologic公司共同开发PowerVR 3芯片的ST(SGS-Thomsonc,法意半导体公司)正式公开了KYRO系列2D/3D/视频加速芯片,并展示了第一片正式KYRO产品——我们期待已久的KYRO终于面世了。 #1 KYRO系列产品   KYRO分成两个系列,分别为基于传统的PowerVR 3系列渲染加速器和集成T&L 功能的PowerVR 4系列GPU(图形处理器)。   STG 4000是第一片基于PowerVR 3的KYRO,具有双渲染流水线、0.25微米制造工艺、1200万个晶体管、125MHz核心频率,达到800万多边形/秒、2.5亿图素/秒的图形处理能力,相当于普通显示卡的7.5亿图素/秒,32MB版的STG 4000显示卡售价低于200美元,基本上就是两片PowerVR 250合起来的性能;STG 4005是0.18微米制造工艺版本的STG 4000,预计今年9月上市,提供150MHz核心频率、达到1000万多边形/秒、3亿图素/秒的图形处理的能力,相当于普通芯片的9亿图素/秒;未来还将推出低成本版STG 4003,用于TV机顶盒等。   STG 5000是第一片集成T&L引擎的PowerVR 4芯片的产品,计划今年年底上市,具有4条渲染流水线、0.18微米制造工艺、2000万~2500万个晶体管、支持GDR内存、166MHz核心频率、6.6亿图素/秒的图形处理能力,相当于普通显示卡的18亿图素/秒;STG 5005是STG 5000的生产工艺改进版,具有更高工作频率和处理速度。   KYRO之所以能够凭借较低的价格实现较高的性能,完全是因为PowerVR家族特殊的分块渲染引擎具有特别高的效率、特别节省带宽,所以能达到一流的处理速度。另外,完全的内部32位处理器保证了图形质量,8重纹理贴图和其他各种3D特性用来产生精彩的3D图形效果。下面让我们来一一讨论。 #1 分块渲染引擎   分块渲染(Tile Based Rendering)是将要显示的窗口(或全屏幕)图形分割成多个小矩形区域作为图形处理单位,目的是减少每个单位的数据量。这样一来Z-buffer、纹理、明暗和半透明混合等操作所需要的数据,都可以直接存放在芯片内部的微型缓存器中,不再需要从外部的显示内存、甚至系统内存中多次读写。这样能够极大地节省传统3D显示芯片体系中特别紧张的外部带宽,而且通过多边形排序功能,不需要像传统3D芯片那样渲染那些看不见的多边形,从而成倍提高了实际运行速度。目前分块渲染引擎一般能够将芯片外部带宽的需求降低到传统结构的1/3。在已经实用化的3D显示芯片中,只有3dfx的Giga3D GP-X系列和PowerVR系列全面使用了分块渲染体系结构,ATI的Rage 128系列等产品部分使用了隐面去除等技术。分块渲染引擎的优势主要体现在以下几个方面:   能够大幅度提高外部带宽的使用效率。现在,有限的内存带宽已经成了3D图形发展的主要障碍。尽管今后传统体系只有使用QDR(四倍数据率)接口和类似CPU使用大容量片上缓存,但这是两条比较昂贵的发展途径。分块渲染引擎另辟蹊径,从减少外部带宽的使用出发,把带宽的使用效率提高到3倍,这样甚至在统一内存结构的情况下,64位的内存接口都勉强够用了。而高性能的T&L芯片需要的更多带宽也能够由普通128位接口提供。   隐面去除和片上像素混合进一步提高了效率。普通3D芯片是在所有多边形都渲染完成后,才从远到近凭借Z-buffer中的深度数据确定遮挡关系,分块渲染引擎则事先对多边形排列顺序、确定遮挡关系,从而去除隐藏的面、只渲染那些可见多边形,既快速又节省外部带宽。以往的3D芯片总是将渲染的中间数据存放在显示内存的帧缓存内,多个层次的图形都处理完毕后再读进来进行半透明混合;KYRO的新方法是,将分块处理而变得较少的中间数据存在芯片上缓存器内,提高了速度的同时节省外部带宽和显示内存的容量。   全32位内部结构和8重纹理贴图,带来了超群的图形质量。从Matrox的G200开始,3D业界就开始鼓吹内部是32位的渲染流水线,但是KYRO恐怕是首次完全地实现了这一目标。传统的3D结构由于必须将中间数据存在显示内存中,如果渲染模式是16位色彩,保存的数据也必须是16位的,再次读入进行混合时就有了较大的误差。多层混合时,问题就更严重了,因为是在芯片内部进行半透明混合,只在最终输出时才一次转化为16位,因此KYRO的16位模式的图形质量明显超过普通芯片的16位表现,甚至能超过某些情况下的32位图形。同时,传统的3D显示卡因为使用显示内存存储,在16位模式下只能有16位的Z-buffer、没有模板缓存;KYRO则由于基本全部使用片上缓存,不论什么色彩模式下都能有32位的Z-buffer和8位的模板缓存,速度还更快。由于使用内部的半透明混合缓存,KYRO能够一层叠一层地进行纹理贴图,每条流水线竟然都能完成最多8重纹理贴图,尽管不能在一个周期内实现,但也不会像普通显示卡那么“缓慢”。8重纹理能达到什么样的表现力,暂时很难估计,但全部发挥出来后一定能让PlayStation 2汗颜。   结构简化带来的灵活性。这实际包含了并行处理的因素,多芯片的KYRO系统能够方便得像一块芯片那样工作、成倍地提升性能。另外低带宽需求,使得KYRO能灵活地使用显示内存,从几乎不需成本的统一内存结构到64位和128位的高速SDRAM或SGRAM都行。从生产工艺角度来说,随着工艺的改进,提高了核心工作频率的话,KYRO内部的那些缓存器的速度也同步提升,于是整体性能几乎能成正比提高,不像传统显示卡的性能要受显示内存质量的制约,KYRO的这个特点,对于喜欢超频的朋友也是非常合适的。 #1 全面的特性   每块新3D芯片推出时,总是会带来一些新的3D特性作为独特的卖点。KYRO可能是因为本身的结构太独特,反而没有公开什么惊人的新特性,但普普通通的特性还是值得我们浏览一遍的。   全屏反锯齿(FSAA)。这并不是什么新东西,现在NVIDIA的GeForce 256/2 GTS系列、3dfx的Voodoo 4/5系列和ATI的Radeon 256等处理能力比较强劲的芯片都能够使用FSAA功能,支持FSAA的都是Quake 3 Arena档次的“硬件测试型” 游戏。其实FSAA的实质无非是将图像在更高的分辨率下渲染,再通过降低分辨率的措施变成现有分辨率(称为downsampling),获得的图像效果接近高分辨率的图像。Videologic的设计,从PowerVR 2系列开始就已经支持FSAA了,现在的KYRO凭借出色的像素填充率,统统支持2×和4×模式的全屏反锯齿。   环境凹凸贴图(Environment Bump Mapping)。是从Matrox的G400开始采用的,KYRO的特别之处是能进行逐像素调整的环境凹凸贴图,有些类似于GeForce2 GTS的单像素明暗处理,可惜KYRO仍不支持立方环境贴图这类更复杂的纹理贴图技术。   纹理压缩(TC)。这也是新一代显示芯片都具有的特性。PowerVR 2就有了VQ(矢量压缩)纹理压缩技术,可惜S3的S3TC成了DirectX中的标准,所以KYRO现在也同时支持事实标准的DXTC。KYRO还支持很多常见的3D特性,如平面和高洛德明暗、视点矫正的纹理贴图和明暗、镜头高光、查表和顶点雾化、4位和8位的模板缓存、16/24/32位的纹理数据、YUV和DXT纹理、点/双线性/三线性/各向异性过滤、全部的OpenGL和DirectX混合模式等,这里就不再赘述了。   此外,KYRO还集成了128位的高速2D引擎,及不少视频功能。KYRO的视频引擎使用了ST的领先技术,因此在视频回放和DVD解码方面具有比较全面的功能:动态补偿、子画面混合、水平和垂直插值、色彩键控等。唯一的遗憾是没有集成IDCT(反离散余弦变换),当然这个功能只有ATI的芯片才集成。KYRO符合AGP 2.1标准,支持AGP 1×/2×/4×,包括边带寻址功能,显示内存支持128位的SDRAM或SGRAM,容量是16/32/64MB,还有视频输入输出的数字接口。KYRO支持DirectX 7和OpenGL 1.1这两种最新的3D API,提供Windows 95/98/NT 4/2000的优化驱动程序。   现在,3D市场正处于“从混沌到有序”的整合阶段,今后的3D芯片领域必将成为几个3D巨头之间的决战场地。KYRO系列凭借高速度、高质量和低价格的分块渲染架构,为我们带来了新的高性价比解决方案。只要Videologic和ST能及时地克服生产能力和市场推广两方面的困难,KYRO STG4000/5000这两个档次的产品一定能够为业界青睐。