王者归来——NV 40 ATI在DX9时代初期的成功并没有给NVIDIA致命一击,毕竟瘦死的骆驼比马大,NVIDIA在2004年4月正式向业界宣告他才是真正的王者!NV之所以如此自信是因为跟NV2时代一样,他们在经历了NV3X的失败后吸取教训,彻底抛弃落后的NV3X架构,不惜血拼10亿美金打造出全新架构的NV40!! 命名为GeForce 6800的NV40不仅集成了令人吃惊的2.22亿枚晶体管,而且流水线更是达到空前的16条。NV40的流水线还采用了超标量设计,每个流水线集成了两个全功能的FP32 shader单元,彻底抛弃了NV35 一个完整FP32 shader unit/addressing + 两个Combiner的设计。GeForce 6800 Ultra的两个shader unit在执行方式上更加灵活了,除了NV3X的4D绑定执行方式和R3XX的3D+1D执行方式外,还新引入了2D+2D的执行方式,从而让每个shader unit的指令吞吐量达到两条指令(3D+1D或者2D+2D),每条流水线并发4条Pixel shader指令,峰值Pixel Shader指令吞吐量达到了惊人的25600 MIPS(每秒百万指令),是NV38的4.5倍、R360的2~4倍。庞大的流水线系统、更灵活的指令执行方式、更充沛的FP32处理性能,让GeForce 6800 Ultra的Pixel Shader效能达到了空前的水平。 除了流水线效能的大幅提升,NV40还支持SM3.0跟FP16 HDR。SM3.0分为PS3.0跟VS3.0,其中PS3.0和Pixel Shader 2.0相比最大的区别是动态分支执行,不过由于GeForce 6800 Ultra的Pixel Shader是SIMD体系,因此在做动态分支的时候性能损失比较大,未必能够提升性能。而VS3.0方面,新增的vertex texturing功能是最大的亮点。Vertex Shader 3.0允许在vertex shader中使用texld指令进行查表操作,支持vertex shader3.0所包含的4个纹理取样器,可以在一个shader pass里完成4个纹理的读取。NV40硬件有了vertex texturing功能后,vertex shader就能读取纹理信息直接映射到顶点上,从而实现诸如displacement mapping之类的特效。而FP16 HDR方面,GeForce 6800 Ultra提供了OpenEXR的16位浮点(FP16)贴图、过滤、混合、存储支持,采用FP16后,能表达的动态范围相当宽广,接近人类眼球的14动态范围。这些都是同时代的R4XX所不具备的,同时也是NV40制胜的法宝! NV3X的失误让重新坐上领先宝座的NVIDIA并没有掉以轻心,在NV40发布一年多之后,NVIDIA又推出了上代架构的改进版,并一改使用了近10年NV X代号,改为G70。G70属于NV40的改进版,并没有在架构上动大手术。考虑到NV40是一款非常出色而且年轻的架构,NV此举也是情理之中。G70除了集成24条渲染管线,VS数量增至8个外,还对NV40的纹理单元进行加强,使得在执行FP16 HDR的时候速度增加了50%以上。此外,G70还对NV40的PSU 1进行增强,加入了FADD跟FMADD指令运算能力,显著地提升了G70的shader性能。画质方面,G70提供了新的透明抗锯齿功能(TAA)。 在NV40的完美反击战之后,ATI的产品就一直无法给NV造成压力:G70的竞争对手“天骄”R520姗姗来迟,而且性能不敌G70的顶级GeForce 7800 GTX 512M;而性能强劲的“天骄二世”R580则受到成本、耗能等方面的困扰。因此,NV在设计G70的后继升级版本G71的时候就把重心从性能移到了高效节能上。G71跟G70在架构规格上完全一致,只是采用了台积电的90nm工艺制造,有效降低功耗跟发热,令G71可以跑在更高的频率上。再者就是对G70的内部流水线进行优化,从而把G70的3.02亿晶体管减少到2.78亿,进一步节约了成本。除此之外其他方面的改进就微乎其微,不值一提了。
|