二、GeForce3闪亮登场
今年的Intel开发者论坛上,NVIDIA公司发布了研发代号为NV20的最新的旗舰产品GeForce3。这款图形处理器每秒可以进行8000亿次运算和760亿次浮点操作。采用0.15微米制造,核心时钟速度200MHz,采用230MHz的DDR SDRAM,显存带宽达到了7.36GB/s。渲染引擎有4条流水线,每个都可以同时处理2个纹理,像素填充率达到了8亿/秒。
1.芯片
过去RIVA 128集成了7百万个晶体管,而TNT2有1500万,到GeForce2的时候这个数字已经上升到了2500万。而作为参照目前ATI的最新产品Radeon由3000万个晶体管组成,而Intel的Pentium4处理器则是4200万个。但是这些都不算什么,GeForce3居然总共集成了5700万个晶体管。这实在不能不说是个奇迹,同时我们也不得不对生产这块芯片的台湾省半导体厂家TMSC感到由衷的敬佩。
虽然GeForce3同它的前辈GeForce2 GTS同样拥有分别带2个纹理单元的4条像素流水线。但两者还是有本质上的区别,GeForce3的纹理流水线可控制性更强。比如在GeForce2 GTS中处理一个带有4个纹理的像素,必须分2次进行。而GeForce3中则可以在2条流水线配合下一次完成,当然此时每个时钟周期就只能完成2个像素了。虽然这样的设置并不能带来更多的性能提升,但是它为开发者表现更多效果提供了大好机会。
从前面提供的基本数据中,我们可以快速地计算出GeForce3理论上像素和纹理像素的填充率。
200MHz(核心频率)×4(像素流水线)= 800Mpixels/s
200MHz(核心频率)×4(像素流水线)×2(每条流水线两个纹理单元)=1600Mtexels/s
这个数据或者并不能让大家特别满意,因为相比过去提升并不算巨大。但是NVIDIA自有一番道理。由于今天内存带宽已经构成了严重的瓶颈,把核心芯片做得更快似乎没有必要。他们要把精力更多投注在其他方面。我们来看看它值得骄傲的地方。
2.光速存储结构(Lightspeed Memory Architecture)
在高分辨率下,即使如今最快的DRAM模组也无法满足新一代的图形芯片这个事实已经不再是什么秘密。就因为这个原因ATI开发了HyperZ技术,它可以解决许多在存取数据和消除Z缓冲中浪费掉的带宽。它属于一种无损的压缩算法(即减小了数据量,但不降低画面精度)。
NVIDIA的LMA结构的出发点和ATI十分类似,他们希望通过优化显存带宽的方法来达到最大限度利用板载230MHz DDR显存的目的。其中首要的创新是多路交叉显存控制器(Crossbar Memory Controller)。我们知道128位的DDR显存在一个时钟周期内可以同时传递2次数据,换句话来讲就是一次可以传递256位的数据包。但问题就出在这里:如果一个数据包的容量只有64位,也会占用一个数据传送周期,也就是在硬件端发送数据时仍然被当做256位来看待的,所以这里带宽的利用率实际上就只有25%非常低下。现在GeForce3改变了这个情况。它提供了并行工作的4个显存控制器,这些装置能够在与GPU通讯的同时互相联系,具体一点就是4个控制器分别掌管64位数据带宽,在遇到大数据包时(>64位)可以整合在一起工作,遇到小的数据包时各自为战。这样的处理方式极大地提高了显存带宽的利用率。
在LMA架构中的第二项技术是无损的Z轴数据压缩算法,这个改进思想来源于ATI RADEON。由于芯片处理每个像素的时候要考虑到它们在三维场景中的深度坐标,所以Z缓冲是显存和芯片之间数据传递的关键部分,带宽占用的分量最重。NVIDIA已经开发了一个可以将Z轴数据压缩四倍的算法,在不会带来任何精度丧失的同时,也节省了许多不必要的带宽浪费。 NVIDIA称之为光速显存架构亦可以称为VS(Visibility Subsystem,可见子系统)。它和隐藏表面去除(Hidden Surface Removal)有着密切的关系,这是一种在PowerVR和Mosaic芯片设计中得到大量论述的关键技术。如果没有这种技术,一块图形芯片必须处理CPU传送来的每个3D对象,甚至那些在最终图像中被临时遮蔽的对象。采用了绘制隐藏对象或表面的过程称之为超量绘制(OverDraw),它意味着图形芯片在一个典型3D游戏中要渲染2到4倍于所需的像素。这次NVIDIA已经加入了一个被称之为Z轴吸收选择(Z-Occlusion Culling)的技术来达到和隐藏面去除技术类似的效果。GeForce3通过在绘制一个帧的早期检查深度值来取消隐藏的像素,也就是在应用转换和光源效果之后。NVIDIA声称它预防超量绘制的方法在实际处理过程中可以获得50%-100%的性能提升。(笔鸣)
|