开创DX11宏图霸业!镭HD5870权威评测
第五章/第四节 RV870流处理器规格特性解析
继续将RV870的SIMD阵列放大,就可以看到其流处理器的微观架构了。RV870总共拥有320个Thread Processor(线程处理器),这是它不可分割的最小单元,相当于以前的Shader Unit,每个线程处理器内部又包含了5个功能各异的处理核心,因此RV870总共拥有1600个流处理器:
在线程处理器内部,这5个流处理器是在Branch Unit(分歧执行单元)的控制下处理数据流和条件运算,在General Purpose Registers(通用寄存器)中存取或输出数据,但并不存放指令。与传统GPU ALU架构不同的是,这5个流处理器可以在动态流控制的支配下自由的处理任何组合形式的指令,诸如1+1+1+1+1、2+2+1、4+1等组合形式。
宏观上RV870依然是SIMD(单指令多数据流)矢量架构,但在微观上可以称之为超标量架构(Superscalar),完美支持Co-issue(矢量指令和标量指令并行执行),单时钟周期可以进行5次MAD(Multiply-Add,乘加)运算。另外还可以看到,5个1D ALU其中有个“胖”一点的,它除了MAD之外还能够进行一些特殊(SIN、COS、LOG、EXP等函数)运算,在特殊条件下提高运算效率!
在流处理器部分,RV870加入了DX11新增的位操作类指令,并优化了Sum of Absolute Differences(SAD,误差绝对值求和)算法,指令执行速度提升12倍,此项指令可以在OpenCL底层执行。SAD算法应用最多的就是H.264/AVC编码的移动向量估算部分(约占整个AVC编码总时间的80%),如此一来使用RV870做视频编码类通用计算时,性能会大幅提升!
RV870的单精度浮点运算能力为2720GFLOPS,双精度浮点运算能力为单精度的1/5,也高达544GFLOPS。对手GTX285的单精度浮点运算能力为1063GFLOPS,但双精度下降为1/8,仅133GFLOPS,很难满足高精度的科学计算领域的需要。