GTX200核心不惜成本启用512Bit显存 无论CPU还是GPU,在核心处理能力大幅增强的同时,对于外部总线的带宽也提出了更高要求,512Bit显存控制器被启用。
● AMD的512Bit环形总线显存控制器
首颗使用512Bit显存的GPU是AMD的R600,可惜这颗GPU的效能太差,根本用不到512Bit显存的海量带宽,通过其后续产品RV670核心的性能来看,512Bit相对256Bit的优势微乎其微,以至于AMD在下一代GPU中都放弃使用512Bit设计。
R600的内部1024Bit、外部512Bit环形总线架构 AMD使用的是环形总线(RingBus),显存控制器并不会直接从显存颗粒中读写数据,而是只把数据放在环形总线之中,然后程序自行通过环站取回所需数据包,从而减轻控制器复杂度和压力。但这种结构会使单个的存取操作的延迟变大,但总体来说能够提高大规模数据读取的命中率。
环形总线有很多优势,位宽扩充相对容易、PCB布线相对容易、显存频率可以轻松达到很高,但却又不得不面对延迟增加和效率降低的问题,位宽越大效率就越低,至少我们没有在R600身上看出512Bit环形总线能比256Bit强多少。
● NVIDIA的512Bit交叉总线显存控制器
NVIDIA方面,大家都知道G92核心未能超越G80,原因主要就出在显存位宽上面,G92虽然拥有更高的频率、更强的纹理单元,但是256Bit无论如何都无法超越384Bit,9800GTX只是勉强接近于8800GTX的性能,高带宽在DX10游戏和开高倍AA的情况下有着决定性作用!
G80的6个ROPs和6个64Bit显存控制器 而NVIDIA则是沿用了传统的交叉式总线(Crossbar),每组显存控制器都与光栅单元(ROP)和纹理缓存(L2)绑定,从G70到G80增加了两个64Bit控制器,这就构成了64×6=384Bit位宽。
GTX200核心的8个ROPs和8个64Bit显存控制器 现在从G80到GTX200,NVIDIA又增添了2个64Bit控制器,这就组成了64×8=512Bit位宽。Crossbar相比RingBus的优势就是数据存取延迟低,但是遇到大规模数据传输时,为了提高命中率就必须把控制器设计的相当复杂,由此导致晶体管开销很大:
显存控制器在GTX200核心中所占据的芯片面积仅次于流处理器 NVIDIA从G70的256Bit、到G80的384Bit、再到GTX200的512Bit,是一个循序渐进的过程,位宽越高设计难度和晶体管开销就越大,因此必须权衡付出的成本代价及性能收益、根据现有的制作工艺来决定是否使用512Bit控制器。
现在随着DX10游戏对带宽的要求日益苛刻,高位宽所获得的性能提升也很显著,因此在新一代GPU设计时,NVIDIA不惜成本启用了512Bit显存控制器,用以消除性能瓶颈。
数量和规格上的扩充是一目了然的,不过GTX200核心不止是堆积晶体管和扩充规模而已,在一些技术细节部分,GTX200的改进也很明显。
GTX200图形架构细节方面的改进
为了能够更加胜任于未来的DX10游戏,NVIDIA针对图形渲染的三大重要环节进行了改良:几何着色、纹理单元和光栅单元。
● 改进几何着色性能
几何着色(GeometryShader)是DX10的新增的着色器,它允许GPU来动态的生成和销毁几何图元数据,通过和新的数据流输出功能配合使用,许多以前无法实时使用的算法现在都可以在GPU中使用了。相比以往由CPU来处理简单的几何坐标变换,现在DX10渲染的效能增加不少(相同画质下DX10的效率高与DX9C),而且图形变换也可以做的更加复杂。
G8X相对于R6XX系列有着绝对的性能优势,但是它有个致命的缺点就是几何着色效能一般,这也成为ATI攻击NVIDIA的重要把柄,记得当时ATI在其内部演示PPT中指出,R600的理论几何着色性能可达G80的好几倍!
Geometry Shader性能 由于第一批DX10游戏对于几何着色的使用还不够广泛,因此G8X的弱点并没有体现出来,不过NVIDIA官方还是承认自己在几何着色方面确实不如ATI做的好。通过Rightmark 3D理论测试可以看出,HD3870的几何着色性能就要比8800GTX强不少,HD3870X2则更加强大。
在GTX200核心中,NVIDIA主要通过改进数据流输出(Stream Output)及帧缓冲(Frame BufferMemory)的方式,有效地提高了几何着色器的效能。数据流输出也是DX10新增的特性,它允许数据从顶点着色器或几何着色器中直接被传入帧缓冲,这种输出可以被传回渲染流水线重新处理,当几何着色器与数据流输出结合使用时,GPU不仅可以处理新的图形算法,还可以提高一般运算和物理运算的效率。GTX200的帧缓冲达到了G80的6倍之多,由此可以允许更多的数据往返于着色器之间,避免重复性的数据处理,提升执行效能。
● 纹理单元进一步增强,但所占比率下降
G92核心总共拥有64个TA和64个TF(G80是32TA、64TF),而GTX200拥有80个TA和80个TF,数量上的增加只是表象,实际上最关键之处就是流处理器与纹理单元的比率:
G92与GTX200核心每个TPC拥有的纹理单元数目相同,但每个TPC所包括的流处理器数量增加了50%,如此一来流处理器与纹理单元的比率直接从2:1上升至3:1。这与ATI前两年所鼓吹的“3:1架构”不谋而合,虽然两家产品的架构相差十万八千里,但针对游戏的渲染模式作出调整的方针是一致的。
虽然纹理单元比例下降了,但GTX200核心的每个纹理单元的效能却增加了,通过优化指令执行的调度机制,在实际游戏中打开高倍各向异性纹理过滤时,GTX200的效率要比G9X高22%左右。
● 光栅单元规模增大,高倍抗锯齿成为可能
G8X/G9X的ROP单元可以说是革命性的,它首次对8xMSAA(多重采样抗锯齿)提供支持,当然还支持最高精度的SSAA(超级采样抗锯齿)和TSAA(透明抗锯齿),此外NVIDIA独创的CSAA(覆盖采样抗锯齿)让人眼前一亮,它能够以接近4xMSAA效能实现8xCSAA甚至16xCSAA的精度,让游戏画质得到了近乎免费的提升。
失落星球、冲突世界、英雄连等许多游戏都直接支持高倍CSAA
近两年时间过去了,现在我们可以发现绝大多数新出的游戏(尤其是DX10游戏)都内置了对CSAA技术的支持,玩家可以在普通MSAA的基础上选择性能损失很小、但精度提升很大的CSAA。相比之下对手ATI所倡导的CFAA(可编程过滤抗锯齿)由于自身问题(边缘模糊)几乎被玩家所无视,也没有任何游戏对CFAA提供内置支持。
不过G8X/G9X存在的问题就是8xMSAA的效率不高,在8xMSAA基础上衍生出来的两种CSAA(8xQAA和16xQAA)效率自然更差,在很多复杂游戏中几乎没有实用性。为此在GTX200这一代GPU中,NVIDIA将ROP规模从24个扩充至32个,单个ROP在执行8xMSAAZ轴取样操作时的速度可达上代的两倍,由此使得高倍AA的效能得到了明显改善,加之显存容量的带宽增加不少,现在的旗舰显卡可以在很多主流DX10游戏中开启8xMSAA(或8xQAA、16xQAA)流畅运行!
GTX200并行计算架构方面的改进
● 提高双指令执行(Dual-Issue)效率
在每个SM(多核流处理器)内部,除了包括8个流处理器之外,还有包括1个SFU(Special Function Unit,特殊功能单元),这个处理单元可以用来辅助SP处理特殊的函数运算、插值属性的顶点+像素着色、执行浮点乘法运算指令(MUL)。
GTX200核心的每个流处理器都能够单独的执行一条乘加指令(Multiplu-Add,也就是同时执行一条乘法和一条加法指令),与此同时SFU还能够在相同的时钟周期执行另外一条乘法指令,相当于每个流处理器都能同时执行3条指令!
如此一来,GTX200的浮点运算能力计算公式为:流处理器数×指令数×频率=240×3×1296=933GFLOPS。我们知道,G80/G92刚发布时并不支持Dual-Issue,所以其浮点运算能力仅为128×2×1350=346GFLOPS,后来NVIDIA为其追加了Dual-Issue支持,理论浮点运算能力就达到了518GFLOPS。
不过Dual-Issue对于3D游戏的贡献非常微小,只是在特殊条件下比如通用计算时才会有显著的改善。此次NVIDIA将GTX200核心设计成为图形渲染架构和并行计算架构的统一体,对于Dual-Issue的效率进一步优化,达到了93%-94%之高,这样的双指令执行效率可以让GTX200的实际性能无限接近于理论值!
● 支持双精度64Bit浮点运算
IEEE754标准硬性要求支持单精度32Bit浮点,双精度64Bit浮点也是标准之一但只是可选,但双精度64Bit浮点运算正是高精度科学计算(如工程分析、财政计算、计算机模拟)梦寐以求的功能。GTX200提供了对双精度的支持,显然更有利于进军通用计算领域,向传统集群式CPU超级计算机发起挑战!
GTX200核心的每一个SM都包括了一个双精度64Bit浮点运算单元,这样GTX200就相当于一个30核心的双精度64Bit处理器,但GPU的频率要比CPU低很多,因此GTX200的理论64Bit浮点运算能力大概与Intel顶级八核心至强处理器相当。
双精度的运算量是单精度的八倍,因此理论浮点运算能力只有原来的1/8,GTX280的双精度64Bit浮点运算能力大概在90GFLOPS左右。
GTX200核心支持业界最先进的功耗控制技术
N卡从不片面追求高频率,即便工艺上较为落后,但功耗控制一直都做得不错,比如7900GTX的功耗远低于X1900XTX,8800GTX的功耗低于HD2900XT,8600GT稍低于HD2600XT/HD3650,8800GT和9600GT稍低于HD3870(以上均指满负载功耗,即TDP)。
● AMD率先支持GPU芯片级节能技术:
HD3870的待机功耗比86GT/26XT还低! 不过,在最新的HD3000系列显卡中,AMD首次将笔记本显卡节能技术PowerPlay植入了台式GPU中,使得A卡的在空闲、低负载模式下的功耗大幅降低。虽然PowerPlay技术对于3D满负载模式下的功耗无能为力,但毕竟电脑并不总是处在游戏状态,节能技术对于绝大多数用户来说都非常实用,而且也符合绿色环保的概念,因此A卡备受好评。
● NVIDIA另辟蹊径,Hybrid Power将显卡功耗降为零:
其实N卡也有自己的节能技术,那就是具有革命意义的Hybrid Power,通过使用nForce780a/750a等芯片组内部的集成显卡,HybridPower能够在2D模式下彻底关闭独立显卡,将显卡的功耗直接降为零!而在3D游戏模式时,可以在短时间内恢复显卡,不用重新启动系统就能进入全速3D状态。
9800GTX搭配780a SLI芯片组,开启Hybrid Power后的功耗相当于没插显卡 虽然具有革命意义的Hybrid Power技术非常强大,但它的局限性也很明显:仅支持9800GX2和9800GTX这两款高端显卡,仅支持NVIDIA的新一代AMD平台芯片组,暂时无法使用在Intel平台,这对于追求高性能的玩家来说,确实是个遗憾。 |