揭真相:从功耗变化看AMD显卡架构效率

PChome | 编辑: 夏阳 2012-03-08 05:00:00原创 返回原文

功耗和帧数成正比

AMD和NVIDIA在激烈的竞争中造就了一代又一代出色卓越的桌面级显卡,两家无论是在架构还是在特色上也不尽相同,况且性能定位层叠交错,形成一代压过一代,一代取代一代之势。在业界一分钱一分货的道理人人皆知,在A和N之间纠结的原因恐怕更多的是两者架构和特点不同。从上期关于显卡的揭真相中我们发现了两者架构与功耗和帧数有着密不可分的联系,那么谁的架构更适合玩游戏呢?

架构对帧数和功耗的影响

从统一渲染架构开始,NVIDIA便一直在坚持标量设计,以多指令流多数据流MultipleInstructionStreamMultipleDataStream,简称MIMD的方式完成对3D模型的渲染,每颗MIMD处理器(CUDA处理器)均能完成一个独立的渲染着色任务。以Fermi架构为例,NVIDIA将若干个这样的流处理器与处理能力对应的ALU,SFU,TMU等其他运算单元打包设计成一个独立的流式处理器群SM,SM简单的来说是一个高度并行的多处理器群,可以与其他SM同时并行执行48个Warp。

Fermi完整版架构示意图(GTX580)

当然每组SM均配备与之对应的Raster引擎那就稍显浪费和多余,在NVIDIA多次试验之后发现每四组SM配备一个Raster是效率最佳的状态,因此按照再大的层面上来说,16组SM每四个SM再打包成一颗GPC,Fermi最高拥有4组GPC(图形处理器群)。每组GPC均可独立运行显卡所必须的任何操作,可以看成GTX580/GTX570就是一颗“四核”的显卡,“核心”与“核心”之间完全并行,将内部因素的牵制和影响降到最低。

AMD一直在坚持矢量运算架构,即SIMD(Single Instruction Multiple Data,单指令多数据流)能够复制多个操作数,即便是HD7000有了小幅的改进,并将其架构名称改为GCN,事实上SIMD的运算模式更适合多媒体以及游戏方面,但AMD显卡并没有将其潜能完全发挥。

SIMD架构下,简单来说不像MIMD那样由每颗流处理器完成XYZW顶点的处理,而是分别由四颗逻辑流处理器各自负责X,Y,Z,W的顶点生成,再加上另外一颗着色处理器,这才完成了一个完整的像素渲染,并称之为4D+1D。

当然上述架构是AMD设计之初的架构体系,在HD6900时代为了更高的优化内核单元以及适应新应用,将架构更改为4D的架构,也就是四颗逻辑流处理器完成一个独立的工作。

以HD7900架构为例,在单元配比方面,共拥有512个物理流处理器,2048个逻辑线程,每4个TMU个64个逻辑线程构成一个工作组CU(类似NVIDIA的SM),共有32个工作组,比NVIDIA的SM设计高出了一倍,在大量而并行的工作组设计中,并没有采取独立“自治”的资源指派能力,而是统一依赖仅有两颗指令指派器,在大量而复杂的运算中,工作组群的利用效率不容乐观。

SIMD架构效能并不理想

我们在上期的揭真相中讲述了垂直同步的作用,那么同时在做这个测试的时候也发现了一个关于帧数与功耗的问题,事实上这个问题早就普遍存在,只是不太被关注。垂直同步是用于即时同步显示器的功能,它可以有效的防止显示器刷新与关键帧不同步造成画面撕裂,卡顿的现象。

我们一般使用的显示器刷新率默认的都在60Hz,那么显卡也会将每秒处理输出的帧数稳定在60帧,因此若原本帧数远高于60FPS的显卡此时不会全速工作,此时开启垂直同步前后功耗会有一定的差别。

在同样的平台下,GTX560Ti和HD6950的功耗基本在一个水准上:Core i7 2600K@4.5GHz,4GB内存,Z68主板以及机械硬盘,运行《战地:叛逆连队2》全效果时的功耗分别是248.5W和241.5W。两者帧数几乎相同,看来不管SIMD和MIMD,每颗运算单元的能耗比都接近,才会形成在同样制程的情况下,性能与功耗同比增长的现象。

同样的条件和配置下,两款显卡运行《失落的星球2》的时候的功耗情况却发生了这样的变化:

《失落的星球2》是一款非常考验显卡的游戏,因此在全特效的情况下还是多压榨出了GTX560Ti近30瓦的功耗,帧数大概在40~50帧左右。而在HD6950以同样的设定运行该游戏时功耗却仅有200W出头,帧数也随之维持在20~30帧左右,根本无法正常游戏。

在未开启垂直同步的情况下,运行一款需求较高的3D游戏,几乎可以使显卡满载,在这样的情况下如果功耗表现相同的话,这也就意味着两者的性能也在一样,而HD6950和GTX560Ti的性能测试方面也证明了这一点,但这仅仅是在AMD显卡架构优化到位的游戏中,在诸如《失落的星球2》,《尘埃2》,《星际争霸2》这样的游戏中,AMD显卡的帧数和功耗都没有达到最高的水准,也就是说内部单元根本没有完全被利用上,如果此时游戏帧数高于60FPS那倒也可以接受,如果因为运算单元受架构/驱动的影响没有发挥出正常的效能而帧数拉的一塌糊涂,那还会有这种显卡的回头客么?

回到上页的介绍中,NVIDIA显卡和AMD显卡在单元配比方面做的是没有问题,这一点可以从基准,理论测试上看的出来,也就是说理论计算方面不分伯仲,但是NVIDIA在512物理内核64纹理单元之中划分了16组多流处理器群和4大流处理器群,每个群都拥有独立的线程指派器,AMD的做法是将更多的单元分成多大32群组,这32个群组每4个构成一个更大的群组,即8大群组,但仅供两个指令指派器调度,因此按照独立“自治”的说法,AMD最高端的显卡也仅仅是“双核”设计,因此如此庞大规模而又高度平行的运算单元虽说比较耐“阉割”,但是在进行超大负荷运算时便爆出弊病了。

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑