在NV40发布了一年又六十个日子后,nVIDIA又再次发布了其新一代的显卡——Geforce 7800GTX(G70)。 而我们PChome评测室也在第一时间收到了nVIDIA亚太重要合作伙伴之一的XFX(讯景)科技送测的Geforce 7800GTX,下面马上为大家揭开G70神秘的面纱……
313 GFLOPS--给我高速的理由
五、313 GFLOPS--给我高速的理由
在NV40时代开始,nVIDIA就将三角形生成率以及像素填充率作为重要的性能指标,随着显卡图形处理的重点逐渐移到Shader单元,以往的关于制程、速度等性能指标都变得无甚重要,玩家更加看重的是Shader的性能,可惜的是现在还没有确立关于Shader性能的测试标准。因此在衡量一个GPU运行/运算能力的时候,可以采用判定CPU性能的一些关键指标,如Operations (Instructions) / sec和FLOPS(Floating Operations per Second)。
nVIDIA发表的技术文档中提到G70的Shader运算性能是313 GFLOPS(430MHz时)。 这个比起Microsoft发表的Xbox 360 GPU的240 GFLOPS更大。NV40发表时的Shader演算性能是120 GFLOPS,到G70时代是成倍的增加。为什么G70的Shader演算性能如此高呢?其中最重要的就是加入了可以进行交错运算的Shader单元以及MADD优化运算装置,根据官方资料以及一些简单的推算可以得出如下的一些理论性指标:
首先,从Vertex Shader 计算一下G70的运算性能:G70的Vertex Shader采用 4 way VLIW UNIT + 1 标量UNIT,并列演算5项数据。能各自进行积和算,每一循环的浮动小数点操作为10。Vertex Shader有8个,动作脉冲是430MHz,所以计算如下。
(4way+1scalar) x 2 FPoperations(MADD) x 8 Shader x 430MHz = 34.4GFLOPS
另外因为Vertex Shader会issue的命令有2个,所以命令数可以作如下推算。
2issue x 8 Shader x 430MHz = 6.88GInstructions/sec
接着是Pixel Shader。这里有4way的SIMD UNIT,共 2 UNIT,两边每周期均可进行MADD。 仅仅是SIMD UNIT就可以并列演算8组数据。因此计算如下。
4way x 2 Units x 2 FPoperations(MADD) = 16 FPoperations / cycle。
此外,两矢量UNIT中各有被称为Mini-ALU的辅助演算UNIT。nVIDIA表示,这些UNIT也能进行并列动作。 而且可以并列进行7个FP16 normalize 处理。
2scalar x 2 FPoperations + 7 normalize = 11 FPoperations / cycle
这样一来,Pixel Shader 1 UNIT的Shader浮点运算为27。 Pixel Shader共有24 UNIT,最高的演算性能如下。
27 FPoperations x 24 Shader x 430MHz = 278.6GFLOPS
Pixel Shader能发出的命令最大为5。 首先,两SIMD UNIT分别最大可以分割成2个命令。 也就是,将4way的SIMD分割成3:1或2:2,然后在各自的数据要素中发出别的命令。在颜色通道 4要素的RGBA中,RGB和Alpha多数会被个别处理。因此如果能对RGB和Alpha能分别进行并列演算的话,很大可能会提高并列处理性能。
在Pixel Shader中可以同时发出1命令,加上对组织处理器和SFU(Mini-ALU)发出的命令,NV40最大为6命令/周期。G70是5命令/周期,不过估计是除去处理器剔除不计的数据。无论如何,若是同时发出5命令,那么Pixel Shader群全体的命令数如下。
5issue x 24 Shader x 430MHz = 51.6GInstructions/sec
网友评论