MCPLive > 杂志文章 > AMD Radeon HD 6870/6850评测报告

AMD Radeon HD 6870/6850评测报告

2010-12-20《微型计算机》评测室《微型计算机》2010年11月下

增强的线程分配模块设计

这样看来,Radeon HD 6800系列相比Radeon HD 5800系列在规格上并没有明显提升,反而不升反降。那么Radeon HD 6800系列的提升和改变究竟在哪里呢?答案是增强的线程分配模块设计。凭借这一设计,Radeon HD 6800系列提升了SPU的执行效率,简单说,SPU数量虽然减少了,但是效率反而提升了。

在介绍这个功能之前,我们不妨先来看看Fermi和Cypress在图形架构上的差异。Barts仍然沿用AMD一贯的SIMD单指令多数据流架构,而Fermi则沿用了MIMD多指令多数据流架构。对Fermi而言,诸如曲面细分单元、指令分配器等功能单元都整合在单独的GPC图形处理器集群里面。在每个GPC里面都整合了一个曲面细分单元,完整的GF100核心具备16个曲面细分单元,曲面细分功能出色。由于功能完整,我们甚至可以将GPC看成是一个可以独立运行的GPU。

而Barts则不同,它具备一个Command Processor(命令处理单元),内含一个曲面细分单元和一个Ultra-Threaded Dispatch Processor(超线程分派器)等功能单元。Command Processor的主要作用是进行指令线程分配工作,而Ultra-Threaded Dispatch Processor负责将处理过的数据进行重新整理过滤,为每个着色类型进行分类,分配SC运行相应的渲染程序。但Command Processor并没有整合在每组SIMD阵列中,而是所有的SMID阵列共享一个Command Processor。换句话说,Cypress只有一个曲面细分单元和一个线程管理单元,因此曲面细分性能和线程管理能力并不特别出色。

和Cypress(上)不同,Barts(下)增加了Ultra-Threaded Dispatch Processor的数量。

对SIMD架构来说,其可以一定程度提高运算效率,能够在现有工艺下实现SPU的大化(Radeon HD 5870就具备1600个SPU)。不过它必须依靠外部的指令线程分配工作。在指令线程发送到SP时,线程被分成波前(Wave Front)组,每个波前包含64个线程。为了大限度地利用GPU的使用率,线程需要被合理组织起来,以保证在每个时钟周期单条指令的情况下满足一个SP中5个SPU的需求。如果指令没有满足5个SPU当中的任何1个的需求时,都将影响到芯片性能。在DirectX 11游戏中,曲面细分功能被引入后,会产生更多的并行线程和指令,更加考验线程管理器在分配每个SPU的计算和为着色类型进行分类的能力。

在这种背景下,Cypress虽然拥有夸张的SPU数量,但由于线程分配模块数量少,执行效率在一些游戏场景中不高,甚至还遇到了瓶颈,一个Ultra-Threaded Dispatch Processor已经不能满足需求了。因此在Barts架构中,AMD引入了两个Ultra-Threaded Dispatch Processor(指令缓存也翻倍),有力地提升了SIMD的工作效率。

AMD对曲面细分计算性能的态度

上面我们已经提到,Barts引入了两个Ultra-Threaded Dispatch Processor,大幅提升了SIMD的执行效率。此外,它还带来了另一个好处,那就是也提升了Barts的曲面细分计算性能。

在AMD看来,Barts的曲面细分计算性能已经能够很好地适应当下DirectX 11游戏的需求了。AMD认为在当前的DirectX 11游戏中,将一个物体细分后小的像素在16个是比较合适的,因为他们相信这能反映曲面细分在游戏当中的应用。当小像素超过16个以后,肉眼也无法察觉出来。


AMD给出的Radeon HD 6870和Radeon HD 5870曲面细分性能对比

从上图AMD自己的测试结果来看,Radeon HD 6870的曲面细分性能达到Radeon HD 5870的2倍区间当中,曲面细分小的像素在6个~10个(小像素为6个时,Radeon HD 6870的曲面细分性能达到达到高)。小像素在6个以下或者达到13个的时候,Radeon HD 6870的曲面细分性能大约是Radeon HD 5870的1.5倍左右。随着小像素数量的增加,Radeon HD 6870的曲面细分性能越来越接近于Radeon HD 5870。在小像素达到32个之后,两者的曲面细分性能更加接近。凭借较高的工作频率,Radeon HD 6870的曲面细分性能小幅领先。这意味着,Radeon HD 6870曲面细分性能改善仅局限于曲面细分小的像素较少的情况下,一旦小像素的数量大幅度提升,Radeon HD 6870的曲面细分性能就会因超大规模三角形细分而大量耗费资源,从而造成性能下降。

需要说明的是,虽然Radeon HD 6800系列的曲面细分单元仍然只有一个,但其已经升级为增强型的Tessllator Gen7,一定程度增强了曲面细分能力。但我们应该认识到,Barts曲面细分计算性能的主要提升并不是来源于曲面细分单元的优化或者数量的提升,而是来源于线程分配模块的增强。不过这只能治本,却无法治标。因此在高负荷曲面细分计算环境下,Barts的曲面细分性能会大幅下降,此时即使拥有增强的线程分配模块设计也起不了太大的作用,因为主要的瓶颈在曲面细分单元的数量和效率上。

分享到:

用户评论

共有评论(2)

用户名:

密码: