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

HD7970脱胎换骨全测试!5年架构大革命

第二章/第四节 HD2900XT走向不归路:超长指令集的弊端

    R520->R580的成功,多达48个着色单元功不可没,这让ATI对庞大的ALU运算单元深信不疑。ATI认为只要继续扩充着色单元,就能满足新一代DX10及Shader Model 3.0的要求。

    着色单元的结构:

    在图形处理中,最常见的像素都是由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,单指令多数据流)架构。

图形与计算那些事 AMD次世代架构解析

R580的Shader单元结构

    显然,SIMD架构能够有效提升GPU的矢量处理性能,由于VS和PS的绝大部分运算都是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时代,混合型指令以及分支预测的情况更加频繁,传统的Shader结构必须做相应的改进以适应需求。NVIDIA的做法是将4D ALU全部打散,使用了MIMD(Multi Instruction Multiple Data,多指令多数据流),而AMD则继续沿用SIMD架构,但对Shader微架构进行了调整,称为超标量架构。

    R600的5D超标量流处理器架构:

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

    作为ATI的首款DX10 GPU,架构上还是有不少改进的,DX10统一渲染架构的引入,让传统的像素渲染单元和顶点渲染单元合二为一,统称为流处理器。R600总共拥有64个Shader单元,每个Shader内部有5个ALU,这样总计就是320个流处理器。

图形与计算那些事 AMD次世代架构解析

R600的Shader单元结构

    R600的Shader有了很大幅度的改进,总共拥有5个ALU和1个分支执行单元,这个5个ALU都可以执行加法和乘加指令,其中1个"胖"的ALU除了乘加外之外还能够进行一些函数(SIN、COS、LOG、EXP等)运算,在特殊条件下提高运算效率!

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

    与R580不同的是,R600的ALU可以在动态流控制的支配下自由的处理任何组合形式的指令,诸如1+1+1+1+1、2+2+1、2+3、4+1等组合形式。所以AMD将R600的Shader架构称作Superscalar(超标量),完美支持Co-issue(矢量指令和标量指令并行执行)。

    R600超长指令集的弊端:

    从Shader内部结构来看,R600的确是超标量体系,但如果从整个GPU宏观角度来看,R600依然是SIMD(单指令多数据流)的VLIW(超长指令集)体系:5个ALU被捆绑在一个SIMD Shader单元内部,所有的ALU共用一个指令发射端口,这就意味着Shader必须获得完整的5D指令包,才能让内部5个ALU同时运行,一旦获得的数据包少于5条指令,或者存在条件指令,那么R600的执行效率就会大打折扣。

    例如:指令一:a=b+c;指令二:d=a*e。这两条指令中,第二条指令中的a必须等待第一条指令的运算结果,出现这样的情况时候,两条指令大多数情况下就不能实现超标量执行了。

    显然,想要完整发挥R600的性能必须满足苛刻的条件,这个条件不仅对驱动和编译器提出了额外的要求,而且要求程序必须让条件指令不存在任何关联性,难度可想而知。最终结果就是绝大多数情况下R600都无法发挥出的理论性能,而且其执行效率会因为复杂指令的增多而不断下降。

0人已赞
第1页:前言:AMD“南方群岛”耀世而出第2页:GPU核心概述:半导体制造工艺之瓶颈第3页:皇位之争:AMD和NVIDIA的“巅峰对决”第4页:Radeon是一款好显卡,但不是颗好GPU第5页:成也微软败也微软:XBOX360阻碍显卡/游戏发展第6页:从X1900XTX谈起:用3:1黄金架构做计算第7页:HD2900XT走向不归路:超长指令集的弊端第8页:HD4870的救赎:暴力扩充流处理器第9页:HD5870的辉煌:在错误的道路上越走越远第10页:HD6870的一小步:双超线程分配处理器第11页:HD6970昙花一现:北方群岛5D改4D返璞归真第12页:GPU的一大步:NVIDIA G80图形架构解析第13页:真正的并行计算架构:GT200只为计算优化第14页:DX11与并行计算的完美结合:GF100/110的野心第15页:HD7970华丽登场:曲面细分性能大幅提升第16页:GCN架构的精髓:流处理器完全重新设计第17页:GCN架构的缓存:和GF100异曲同工第18页:Tihiti其他方面的改进:AMD真是个激进派第19页:GCN架构的真正意义:GPU计算效能大增第20页:浴火重生,新的开始新的期待第21页:呼之欲出:南方群岛全系列发售前瞻第22页:南方群岛应用篇:DDM Audio 解析第23页:南方群岛应用篇:EYEFINITY“2.0”解析第24页:南方群岛应用篇:HD3D技术解析第25页:南方群岛应用篇:AMD APP 加速并行技术第26页:AMD再度领跑:DX11.1规范详解第27页:首测显卡曝光:蓝宝HD7970第28页:首测显卡曝光:迪兰HD7970第29页:首测显卡曝光:镭风HD7970第30页:首测显卡曝光:讯景HD7970第31页:首测显卡曝光:讯景非公版HD7970第32页:首测显卡曝光:双敏HD7970第33页:其他首发显卡曝光汇总展示第34页:六核3960X客串:HD7970鏖战众卡皇第35页:DX10基准测试:《3DMark Vantage》 第36页:DX10游戏性能测试:《孤岛危机》第37页:DX10.1游戏测试:《孤岛惊魂2》第38页:DX11基准测试:《3DMark11》第39页:DX11游戏性能测试:《尘埃3》第40页:DX11游戏性能测试:《战地3》第41页:DX11游戏性能测试:《AVP》第42页:DX11游戏性能测试:《地铁 2033》第43页:DX11游戏性能测试:《孤岛危机2》第44页:曲面细分专项测试:《石巨人》第45页:曲面细分专项测试:《Heaven 2.5》第46页:PhysX特效专项测试:《BatmanAC》第47页:通用计算:纹理压缩/光线追踪第48页:通用计算:流体模拟/蒙特卡罗算法第49页:附加测试:AES加解密/像素纹理填充第50页:附加测试:HD7970功耗最低3W第51页:成绩汇总:HD7970 PK GTX580第52页:成绩汇总:HD7970 PK HD6970第53页:成绩汇总:HD7970 PK HD6990第54页:成绩汇总:HD7970 CrossFire交火效率第55页:成绩汇总:HD7970 超频效能测试第56页:全文总结:架构、效能与应用的全面胜利

关注我们

泡泡网

手机扫码关注