泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

DX10显卡中端对决!HD2600大战GF8600

第三章/第二节 RV630 VS. G84——流处理器规格

    上一代显卡的性能高低通常用“管线”来衡量,7900GT有24条(像素)管线,7900GS有20条管线,所以7900GT强。而到了DX10时代,NVIDIA和ATI都提出了流处理器的概念,“管线”已经成为历史,那么管线和流处理器之间有什么关系呢?NVIDIA的流处理器和AMD的流处理器又有多大差别呢?且听笔者慢慢道来……

● RV630 VS. G84 之 此流处理器非彼流处理器

    RV630拥有120个流处理器,而G84才32个,差距如此之大,但它们的性能差距并不会有这么夸张,这是为什么呢?

    NVIDIA将G80的128个统一着色单元命名为Streaming Processors;ATI将R600的320个ALU命名为Stream Processing Units。一字之差导致其含义完全不同,虽然通常都称之为流处理器,但其结构相差甚远,所以无法单纯通过数量来判断其处理能力。也正是从DX10开始,NVIDIA和ATI在Shader设计方面走上了截然相反的道路,两者分别对传统的Shader架构进行了革命性改进,

    但不管怎么说,无论NV还是ATI的流处理器,数量都大大增加,可是性能根本无法同上代的“管线”相提并论,比如32个流处理器的8600GTS多数情况下落后于24管线的7950GT,这是什么原因呢?

● “管线”的由来——1个时钟周期4次运算

    在图形处理中,最常见的像素都是由RGB(红黄蓝)三种颜色构成的,加上它们共有的信息说明(Alpha),总共是4个通道。而顶点数据一般是由XYZW四个坐标构成,这样也是4个通道。在3D图形进行渲染时,其实就是改变RGBA四个通道或者XYZW四个坐标的数值。为了一次性处理1个完整的像素渲染或几何转换,GPU的像素着色单元和顶点着色单元从一开始就被设计成为同时具备4次运算能力的运算器(ALU)。

完美DX10!ATI新王者HD2900XT权威评测

    数据的基本单元是Scalar(标量),就是指一个单独的值,GPU的ALU进行一次这种变量操作,被称做1D标量。由于传统GPU的ALU在一个时钟周期可以同时执行4次这样的并行运算,所以ALU的操作被称做4D Vector(矢量)操作。一个矢量就是N个标量,一般来说绝大多数图形指令中N=4。所以,GPU的ALU指令发射端只有一个,但却可以同时运算4个通道的数据,这就是SIMD(Single Instruction Multiple Data,单指令多数据流)架构。

● “管线”弊端越发明显,G8X架构改革,流处理器诞生
 
    显然,SIMD架构能够有效提升GPU的矢量处理性能,由于顶点和像素的绝大部分运算都是4D Vector,它只需要一个指令端口就能在单周期内完成4倍运算量,效率达到100%。但是4D SIMD架构一旦遇到1D标量指令时,效率就会下降到原来的1/4,3/4的模块被完全浪费。为了缓解这个问题,ATI和NVIDIA在进入DX9时代后相继采用混合型设计,比如R300就采用了3D+1D的架构,允许Co-issue操作(矢量指令和标量指令可以并行执行),NV40以后的GPU支持2D+2D和3D+1D两种模式,虽然很大程度上缓解了标量指令执行效率低下的问题,但依然无法最大限度的发挥ALU运算能力,尤其是一旦遇上分支预测的情况,SIMD在矢量处理方面高效能的优势将会被损失殆尽。
 
完美DX10!ATI新王者HD2900XT权威评测
 传统的管线/Shader结构

    可以这么理解,传统的1条管线里面包含了4个基本运算单元,在早期这种架构的执行效率还是很高的,因为大多数程序指令都是4D的。但由于API和游戏复杂Shader指令的发展,4D指令所占比重开始下降,3D/2D/1D等混合指令频繁出现,所以传统的管线式架构效率越来越低!

    因此,NVIDIA从G80开始架构作了变化,把原来的4D着色单元彻底打散,构成了128个基本运算单元,称之为流处理器。这些流处理器可以按照动态流控制智能的执行各种4D/3D/2D/1D指令,无论什么类型的指令执行效率都能接近于100%!

    如果硬是要把流处理器和传统管线建立一个公式的话,就应该是128÷4,因为目前4D指令还是要占很大的比例。但还要考虑到G8X的流处理器工作频率是核心频率的两倍(8600GT核心540MHz,流处理器1180MHz),所以8600GT的“管线”应该是32÷4×2=16条。

    由于G84是统一渲染架构,假设给它分配4条顶点管线,那就还剩12条像素管线。540/1400MHz的86GT和76GT的频率差不多,规格(12管)也差不多,因此两者在3DMark03、DOOM3、FarCry等老游戏中的性能没有太大差距,可是一旦启动近两年发布的新游戏,8600GT的性能立刻有了质的飞跃,可达到甚至超越7900GS!由此可见G8X全新架构的威力有多么可怕,GPU的效能得到了大幅提升!

● ATI改进传统架构,制造庞大规模的流处理器

    再来看看RV630核心,它实际上是24个统一着色单元(Shader),因为每个Shader当中包含了5个ALU,所以就是120个流处理器。24个着色单元假设还是分配4个顶点,那么还有20条像素管线,这个规格就要比G84多很多了。

完美DX10!ATI新王者HD2900XT权威评测
 RV630每个Stream Processing Units的结构

    ATI的架构改进更容易理解一些,它并没有像NVIDIA那样将ALU彻底打散,Shader依然是Shader。但ATI通过增强ALU的运算能力以及超线程分配单元的调度能力,来提高Shader内部ALU的利用率和执行效率,从而在面对1D/2D/3D/4D等杂乱的混合指令时的表现会比上代产品强不少。

完美DX10!ATI新王者HD2900XT权威评测
 HD 2000家族超强的浮点运算能力

    流处理器这个称号主要针对纯数学运算,因此R600/RV630的浮点运算能力要大幅领先于G80/G84。但是图形渲染指令要复杂很多,所以GPU资源利用率和效率就显得非常重要了。从目前的测试结果来看,ATI架构的效率确实要低于NVIDIA(当然也有驱动的原因在里面),但是RV630的硬件规模要大很多,数量优势可以弥补一切不足之处!

0人已赞

关注我们

泡泡网

手机扫码关注