图形计算的革命:NVIDIA Unified Shader Model
● 统一的着色器架构
在传统的管线模型里,数据流的开始是各种不同从CPU至GPU的属性、指针、命令和纹理。然后主要的处理阶段遵循相当线性方式,包括顶点着色、像素着色、栅格化, 一直到完成处理的像素输入到缓冲区。再一步深入图形程序,通常来说都是像素着色应用多于顶点着色应用,这也是早先着色器分离架构中像素着色器多于顶点着色器的原因。不过这只是总体上的统计情况,而在具体3D应用程序中,某个时段还是有所不同。因此,统一着色器架构的GPU的动态着色器处理能力将比传统的着色器分离架构更有效率。
统一着色器架构示意
以这样一幅图来说明问题。都是拥有12个着色器的分离架构和统一架构的对比中,分离架构为4顶点着色+8像素着色的配置,而统一架构是所有着色器动态配置执行着色任务。两种着色器架构分别执行极端3D几何处理和极端像素填充的两种应用中差异立显。分离架构在两种极端应用中分别遭遇了顶点着色和像素着色的瓶颈,而统一架构则能够最大限度的发挥所有着色器的能力,以相同着色器数量规模实现更高的性能。
虽然DirectX 10是一种统一着色器架构的API,但并不是只有统一着色器架构的GPU才能支持DirectX 10。Geforce 8的设计团队认为未来的高端DirectX 10游戏将非常依赖GPU着色器的硬件处理能力,因此Geforce 8800 GPU的架构完全和DirectX 10吻合,能够配合基于DirectX 10的统一着色器方式编程,在未来的DirectX10游戏中 发挥最高效率。事实上,Geforce 8800的四年研发周期内,为了这个新架构克服了无数困难。
包括顶点、像素、几何处理等各种其他3D处理都能被映射成浮点处理被Geforce 8800 GPU的流处理器(SPs:Streaming Processors)计算。几何着色处理是DirectX 10的新特性,这种功能Geforce 8800的流处理器可以很好的支持,以此实现更加丰富的特效,并大大降低几何处理对CPU的依赖。GPU的分遣控制逻辑可以动态的分配流处理器去执行前面所述的顶点、像素和几何着色部分,甚至对于3D开发者来讲都不用过多的考虑不同着色器的分配,现在这些完全都可以交给API和驱动自动控制。由于Geforce 8800 GPU流处理器的通用性良好,未来更多的3D应用也可以在API和驱动的支持下被加进来,就这一点来说统一架构的着色器也远优于不可扩展的传统架构。
● Geforce 8800 GTX和流处理器架构
06年11月发布、完整支持DirectX 10、彻底统一渲染架构风格的Geforce 8800 GTX是自Geforce 256以来NVIDIA受到关注最高的革命性产品,这款产品领先3D API标准3个月,领先比自己慢的竞争对手半年上市,创下了NVIDIA旗舰级3D娱乐显卡的销售记录。
Geforce 8800 GTX使用的GPU为G80,它提供对ShaderModel 4.0、NVIDIA Quantum Effects物理处理技术的支持,NVIDIA Lumenex引擎的引入则实现了128位浮点高动态范围光照和8倍多重取样抗锯齿效果。G80带来前所未有的设计:统一Shader架构(Unified Shader)带来强劲的性能,完全硬件支持DirectX10的各项先进特性,具备128个通用标量着色器的Geforce 8800 GTX具备万亿浮点处理能力(Teraflops of floating point),GigaThread逻辑支持数千个线程并行运行,有效调度所有着色器的均衡负载,最大化3D计算,对DX9和DX10级别的3D应用都有理论上趋于完美的适应性。Geforce 8800 GTX还支持384bit的内存位宽,搭配将近2GHz频率的768MB本地内存,即使在30英寸LCD上游戏也不会遭遇本地内存容量瓶颈。
G80 GPU的每组流处理器联合着一组均衡配置的纹理过滤/地址单元和对应的L1/L2 Cache一起工作,这些都是Geforce 8800 GPU的基本组成部分,以Geforce 8800 GTX来说,它的内部拥有128个流处理器,即16个流处理器组。
Geforce 8800 GPU架构的关键就是它使用大量的流处理器完成着色器操作,这种流处理器可以高效率的计算输入进来的数据并把结果输出给其他的流处理器,单指令流多数据流架构(SIMD :single instruction/multiple data)使这些流处理器可以支持分组,大量组合在一起的流处理器能够更具效率的执行指令,实现非常强大的并行处理能力。每一个流处理器还内置了高速的编码和执行逻辑,输入数据流中的不同数据元素都被使用相似的操作执行着。
以往领先的GPU都使用向量处理器单元,因为在图形处理过程中产生的数据大多数都是向量,典型的情况包括R-G-B-A的像素着色和4*4矩阵的几何变换,当然这其中也包含着不少标量数据。在Geforce 8800 GPU的研发过程中,NVIDIA的工程师研究了海量的图形着色处理数据,认为标量计算的比例在显著的增长,并在将来还将继续保持这个趋势。而在NVIDIA内部的测试里,Geforce 8800 GPU的128个标量处理器单元在处理图形数据时(向量数据被转化成标量数据来执行)比32*4模式的向量处理器单元快两倍有余。
- 相关阅读:
- ·NVIDIA GeForce显卡驱动361.43下载
//vga.zol.com.cn/559/5593505.html - ·NVIDIA展示新专业卡 软硬合成渲染
//vga.zol.com.cn/559/5595214.html - ·科幻?科技?VR和AR技术的不同与发展
//vga.zol.com.cn/559/5591187.html - ·王者再创新 七彩虹iGame980Ti九段评测
//vga.zol.com.cn/558/5589497.html - ·超迷你的GTX960 索泰EN970定制960评测
//vga.zol.com.cn/558/5586664.html
- 第4页:向系统内存要性能:NVIDIA TurboCahce
- 第5页:图形计算的革命:NVIDIA Unified Shader Model