GeForce 8800架构迷思
统一还是分离?
早在G80这个名称刚刚为人所知的时候,许多人就开始猜测G80应该是Vertex Shader和Pixel Shader分离的架构,因此在DirectX 10中的表现将会显著逊色于对手R600。甚至在2006年6月的时候,ATI还在发给渠道商的文档中认为R600将会是世界上首个采用统一渲染架构(Unified Shader)的GPU。
其实人们关于G80为VS/PS分离架构的预测最早是来自ExtremeTech对NVIDIA首席科学家David Kirk的访问。也许是担心当时尚未推出的R520 GPU为统一渲染架构,所以David Kirk在接受ExtremeTech访问的时候表示DirectX 10并非必须要GPU在内部架构上采用统一渲染架构,很多时候VS/PS分离设计也是个不错的选择。这样的烟雾弹彻底迷惑了对手和公众,直到GeForce 8800问世。
配备128个Stream Processor、具备7亿晶体管的GeForce 8800GTX GPU
GeForce 8800 GPU采用的是不折不扣的统一渲染架构!其中GeForce 8800GTX拥有128个Stream Processor,而GeForce 8800GTS则配备了96个Stream Processor。所谓的Stream Processor也就是DirectX 10时代既可以完成Vertex Shader工作,也可以完成Geometry Shader和Pixel Shader的最基本GPU处理单位。这些Stream Processor可以根据需要组成任意VS/PS比例。例如在Vertex Shader密集处理的领域,游戏开发者可以让96个Stream Processor处理VS指令,剩下的处理PS指令。到了Pixel Shader密集的应用的场合,Stream Processor可以更多的配置为执行Pixel Shader运算而提升性能。
Unified Shader的最大好处就是可以根据需求分配执行单元
必须指出的是,当今所有采用统一渲染架构的GPU,在DirectX 9应用中几乎都采用了模拟的方式。也就是说用Stream Processor来模拟VS和PS,这样的话就需要驱动程序在后台进行大量的操作和优化。而用这种方式模拟的DirectX 9应用注定不会有太强的性能。在初步测试中G80运行除3Dmark06外的各种DirectX 9应用所表现出来的性能并没有大幅抛离GeForce 7950GX2。随着驱动程序的不断改进,G80的DX9运行速度将会得到突飞猛进般的增长。另外,NVIDIA GeForce 8800还提供了对128bit FP精度HDR的支持,并且可以在打开HDR时提供全屏抗锯齿功能。值得一提的是,NVIDIA GeForce 8800GTX的内核时钟频率尽管只有575MHz,但是在Shader部分的运行速度却有1350MHz的速度!至于GeForce 8800GTS,在核心时钟频率500MHz的情况下,Shader部分速度也达到了1200MHz。
除了采用统一渲染架构,完全支持DirectX 9之外,NVIDIA GeForce 8800中的ALU设计也耐人寻味。许多人认为GeForce 8800中的ALU能在一个周期内完成3D+1D的指令,事实上根据NVIDIA G80 7亿规模的晶体管数量推断,我们认为G80更有可能采用每周期只有1D指令吞吐量,但却配备更多ALU的设计。G80很有可能采用了128个ALU对应128个Stream Processor的设计。
而NVIDIA在官方文档中把这样的GPU内部架构设计称作NVIDIA Lumenex架构--沿用多年的CineFX终于走到了生命尽头。
有了众多的Stream Processor和ALU,GPU内部的线程管理和并发线程数量就成了决定GPU效率的关键。在GeForce 8800中,NVIDIA引入了被称作GigaThread多线程发送与管理技术,通过这样的技术,G80就可以并行处理大量的线程,并且保持较高的效率。由于NVIDIA并没有透露太多关于这个架构的设计,所以我们无法推断出GigaThread的设计。
|