G70 Pixel Shader架构分析
Geforce 7800 GTX的Vertex Shader和Pixel Shader依旧保持为传统的独立分离式结构,Vertex Shader构造与上一代旗舰NV40惊人地相似。恐怕在机能上没有很大的变更。其中Vertex Shader架构只是增强了Shader数以及强化了Setup Engine的能力。据官方的白皮书指出,Vertex Shader的数量从NV40的6 UNIT提升到G70 的8 UNIT,增加到33%了。改进的Setup Engine在处理数据能力上提高了将近50%。
Vertex Shader上的演算UNIT有一个4way矢量UNIT和一个标量UNIT。矢量UNIT支持3D图形中多数采用的MADD,而且MADD能每周期实行。标量UNIT则主要用于三角函数和对数等特殊作业。 无论是矢量还是标量UNIT都支持32bit单精度浮动小数点形式。在NV40/G70中,这两UNIT各自发行命令,而且能一并进行处理。
GPU的Shader方面,DirectX的话用API,OpenGL的话用JIT编译程序,将Shader的指令集屏蔽,为此,GPU可自由设计Shader的原始指令集。也就是说,能够导入大幅度革新指令集水平的设计。 nVIDIA利用这点,在NV40中的Vertex Shader原始ISA并非采用能够以单周期同时处理多项数据的SIMD(Single Instruction Multiple Data),而是以多项命令同时处理多项数据的MIMD (Multiple Instruction, Multiple Data)。此外,NV40的Vertex Shader拥有128bit长的VLIW型指令集。从G70的Vertex Shader构造和规格书都与NV40一样,或推测它们也拥有同样的指令集。顺便说一句,在NV40的Shader中,Pixel Shader也是拥有SIMD型的命令 / DATA FORMAT,通常的GPU也为SIMD型。
网友评论