论文部分内容阅读
GeForee GTX 580:弥补了GTX 480的缺失,打造完美Fermi
GeForce GTX 580和GeForce GTX 480是一脉相承的,要了解GeForee GTX 580,我们先对GeForce GTX480进行一次回顾。
2010上半年,NVIDIA在众人翘首以盼的目光下终于推出了基于DirectX 11的GeForce GTX 480,这款称得上划时代的显卡。NVIDIA这一代DirectX 11显卡的代号为我们熟知的Fermi,而OeForce GTX 480的核心代号则为GF100。就这款产品的架构设计而言,GeForceGTX 480堪称有史以来图形架构设计最复杂、改进最多和DirectX 11性能最强的显卡。
GeForee GTx 480拥有多达15个多形体引擎,具备目前最强的Tessellation曲面细分性能。它改进了ROP单元的效率,提升了抗锯齿的性能。它大幅度提升了双精度计算性能,其双精度计算性能甚至达到了单精度计算性能的1/2。此外,它还集成了一级高速缓存和二级缓存,大幅度提升了CUDA应用程序的性能,甚至还可以运行为其编写的C 程序。
GeForce GTX 480的综合性能在单核心显卡中是最强的,设计也是最超前的,受到了业界的赞许。但它并不完美,首先是因为良率和功耗的问题,它并没有开启全部512个流处理器(GF100核心的完整规格),而是仅仅打开了480个流处理器,屏蔽了一组即32个流处理器。此外,由于它的图形设计非常复杂,晶体管数量达到了30亿个,再加上其存在核心漏电的问题,因此其功耗和发热量很高。它在运行特别是满载状态时,噪音很大。这些都是GeForceGTX 480显卡的不足之处,也是NVIDIA在后续产品中着力改善的地方。
GeForce GTX 580:我不是“马甲”
现在,你大致能推测出GeForce GTX 580的一些特点了吧。是的,它弥补了GeForce GTX 480显卡的最大遗憾一一具备了完整的512个流处理器。可能有一些用户会觉得GeForce GTX 580就是512SP版本的GeForceGTX 480显卡,不能说不正确,但至少不完全正确,因为NVIDIA在GeForce GTX 580上做了一系列的改进。一则是针对功耗和发热量的改进,之前
GeForceGTX 480存在核心漏电的问题,导致GeForce GTX480的个体功耗差异较大,即一些GeForce GTX480功耗较高,而一些产品却较低。在GeForee GTX580上,NVIDIA改善了核心漏电的问题。NVIDIA在GeForee GTX580的PCB上设计了专门的电源监控模块,限制了该显卡的最大功耗(后文会详细进行说明)。针对GeForce GTX480温度较高和散热器噪音较大的问题,GeForce GTX580在散热器上做了较大的改进,使用了均腔热板技术(后文会详细进行说明)。
此外,GeForce GTX 580还优化了晶圆的使用率和PCB走线等,带来的直接好处就是提升了它的使用效率。根据NVIDIA给出的数据,在相同频率、相同规格(SP、纹理等数量保持一致)的情况下,GeForce GTX 580的性能要超出GeForce GTX 480 10%左右。
下面,我们一起来看看GeForce GTX 580的主要规格。它的核心代号为GF110,每秒能处理20亿个三角形,具备30亿个晶体管、4个GPC、512个流处理器、64个纹理单元和48个光栅单元,最大浮点计算能力为2.37TFLOPs。其核心频率、显存频率和流处理器频率分别为772MHz、4008MHz和1544MHz。它的显存规格为1.5GB/GDDR5/384_bit。根据NVIDIA给出的数据,GeForce GTX 580显卡的最大功耗为244W,甚至比GeForce GTX 480还低。
从图形架构层面来看,GeForce GTX 580和GeForceGTX 480最大的不同是流处理器数量、纹理单元数量等规格差异,但两者所采用的图形架构是一致的。下面,我们将以GF100的图形架构为例,来进一步认识GF110图形架构。
从GF110的图形架构可以看出,它主要包含了一个主接口(Host Interface)、一个GigaThread引擎、四个GPC、六个显存控制器、六个ROP分区和一个大小为768KB的L2高速缓存。其中,ROP分区紧邻L2高速缓存。当GPU通过Host Interface来读取CPU指令时,GigaThread引擎能够从系统内存中获取指定的数据并将其拷贝到显存中,然后会为各个SM阵列创建和分派线程块。单个SM阵列亦会将多个Warp(32个线程的群组)调度至多个流处理器以及其它执行单元。当图形流水线中出现工作膨胀现象时,例如在执行Tessellation以及光栅化操作之后,GigaThread引擎还能够将工作重新分配至SM阵列。
GF110/100具备四组GPC,一个GPC由四,组SM阵列组成,共计128个流处理器、四个PolyMorph Engine多形体引擎、16个SFU单元。其中,每一组SM阵列具备32个流处理器、一个PolyMorph Engine多形体引擎、16个Load/Store单元、四个SFU单元和纹理单元、两个warp调度器和指令发送器、能配置为48KB SharedMemory 16KB L1缓存或者16KB SharedMemory 48KB L1缓存的共享内存/L1缓存。
在CUDA的概念里,CUDA Core或者SP(Streaming Processor内核,简称“SP”)指的就是一个处理核心。但其实SP只是一个功能单元,真正比较接近于我们常说的内核则是SP的上一级单位:StreamingMultiprocessor(即本文所说的“SM”)。因为目前只有在SM这一级才具备Program Counter(程序计数器)、调度资源以及分离的寄存器堆块,即才能进行CUDA计算。在AMD统一着色器架构的GPU中,类似SM等级的部件是SIMD Core,例如RV870拥有20个SIMD Core。
在GF110/100中,每个SP都有全流水线化的整数算术逻辑单元(ALU)和浮点单元(FPU)。ALU支持64bit和扩展指令,支持算术、shift(位移)、Boolean(布尔)、comparision(比较)以及move(数据传输或者赋值)。虽然GF110的SM数量从GT200的30个下降为16个,但SP总数却达到了512个(GT200为30×8=240个),实际的 单周期理论性能则提升了近1倍甚至更多(例如双精度浮点运算)。另外,GF110的一个SP每个周期可以实现一个Thread的一条浮点指令或者整数指令。
不同以往的纹理单元设计
在GF110/100中,每个SM配备了四个纹理单元,共计64个纹理单元。和上一代GT200以及竞争对手Cypress动辄80个纹理单元相比,GF110/100的纹理单元数量不但没有提升,反而下降。这是为什么呢?
事实上,在GT200架构中,最多三个SM共享一个纹理引擎,该纹理引擎包括八个纹理定址单元和过滤单元。而G92则是两个SM共享一个纹理引擎。但NVIDIA认为单纯地添加纹理单元的数量并不能有效提升GPU的纹理贴图能力,甚至造成部分单元闲置浪费。因此在GF100中,NVIDIA通过将纹理单元移植到SM中的设计来提升纹理单元的使用效率和时钟频率——每个SM都配备了四个专属的纹理单元和一个12KB的纹理高速缓存。一个纹理单元在一个时钟周期内能够计算一个纹理地址并获取四个纹理采样,可以支持包括双线性、三线性在内的各向异性过滤模式。总的来看,GF110/100打破了之前将纹理单元设计在SM阵列之外的做法,将纹理单元整合在SM阵列里面,在—定程度上提升了纹理单元的效率。
创新的Shared Memory和L1/L2缓存
在GF110/100中,每个SM阵列里面拥有一个容量很小的内存空间,即Shared Memory,可以用于数据交换,程序员可以方便自由使用。有了Shared Memory后,同一个Thread block内的线程可以共享数据,极大地提升了NVIDIA GPU在进行GPU Computing应用时的效率。
虽然Shared Memory对许多计算都有帮助,但它并不适用于所有的问题。最佳化的内存层次架构方案就是同时提供Shared Memory和Cache,GF110/100就采用了这样的设计。在G80和GT200中,每个SM都有16KB的Shared Memory,而在GF110/100中,每个SM拥有64KB的Shared Memory,能配置为48KB Shared Memory 16KB L1 Cache或者16KB Shared Memory 48KB L1Cache的模式(G80和GT200不具备L1/L2 Cache)。程序员可以自己编写一段小的程序,把Shared Memory当成Cache来使用,由软件负责实现数据的读写和一致性管理。而对那些不具备上述程序的应用程序来说,也可以直接自动从L1 Cache中受益,显著缩减运行CUDA程序的时间。过去,GPU的寄存器如果发生溢出的话,会大幅度地增加存取时延。有了L1 Cache以后,即使临时寄存器使用量增加,程序的性能表现也不至于大起大落。
另外,GF110/100还提供了768KB的一体化L2Cache,L2 Cache为所有的Load/Store以及纹理请求提供高速缓存。对所有的SM阵列来说,L2 Cache上的数据都是连贯一致的,从L2 Cache上读取到的数据就是最新的数据。有了L2 Cache后,就能实现GPU高效横跨数据共享。对于那些无法预知数据地址的算法,例如物理解算器、光线追踪以及稀疏矩阵乘法都可以从GF100/100的内存层次设计中显著获益。而对于需要多个SM读取相同数据的滤镜以及卷积核(convolution kernel)等算法同样能因为这个设计而获益。
改进的ROP单元
在GF110/100上,NVIDIA对ROP单元进行了全新设计,大幅提升了数据吞吐量与效率。GF110/100包含六个ROP分区,一个ROP分区包括了八个ROP单元,共计48个ROP单元(GT200具备八个ROP分区,并与八个64bit的显存控制器绑定,一个ROP分区包含四个ROP单元。)。一个ROP单元能够在一个时钟周期内输出一个32bit整数像素。理论上,由于ROP的压缩效率和ROP单元数量的提升,GF110在8x抗锯齿下的性能会得到明显改善。
此外,得益于更多的原子操作单元以及L2缓存,GF110的原子内存操作性能相对以往的架构来说得到了巨大的提升。对同一地址的原子内存操作,GF110的运算速度是GT200的20倍,而对相邻内存区域的操作则达到7.5倍。
完整的曲面细分单元设计
我们知道,曲面细分作为DirecX 11中的重要技术,可以显著提升我们的游戏体验。但曲面细分会将特定帧中的三角形密度增加数十倍,给光栅化等串行化运算单元带来很大的压力,因此对图形流水线的优化就迫在眉睫。而GeForce GTX 480所采用的GF100图形架构就是专为DirectX 11而设计,具备15个PolyMorph Engine(多形体引擎,又称之为曲面细分单元)和四个Raster Engine(光栅化引擎),因此在引入曲面细分设计的DirectX 11游戏中将会获得更大的优势(曲面细分设计越复杂,其优势会越明显)。而GeForce GTX 580采用的GF110核心,则具备完整的16个PolyMorph Engine,在DirectX 11游戏的应用中会更加优秀。
具体来说,GeForce GTX 580的每个SM阵列里面具备可扩展的PolyMorph Engine,共计16个,可以实现较高的三角形速率。每个PolyMorph Engine均拥有专属的顶点获取单元以及Tessellator,极大地提升了几何性能。与之呼应的则是分别常驻于四个GPC里面的四个并行的Raster Engine,它们能够在每个时钟周期内设置最多四个三角形,并且在三角形Fetch、Tessellation以及光栅化操作方面具备很强的性能。
这种专为DireetX 11而设计的图形架构与AMD最新的Barts图形架构有很大的区别。Barts是在Cypress基础上演变而来,仍然只具备1个曲面细分单元TessllatorGen7。而Barts相对于Cypress,曲面细分性能有所提升的原因并不是因为增加了曲面细分单元的数量,而是来源于线程分配模块的增强。不过这只能治标,却无法治本。因此在高负荷曲面细分计算环境下,Barts的曲面细分性能会大幅下降,此时即使拥有增强的线程分配模块设计也起不了太大的作用,因为主要的瓶颈在曲面细分单元的数量和效率上。
当然,由于曲面细分很耗费GPU资源,现在游戏厂商在使用这项技术时相对比较谨慎。最初的一些DirectX 11游戏基本没有或者加入了很少的曲面细分技术,因为当时显卡的曲面细分性能并不算强。而现在随着显卡曲面细分性能的增强,一些DirectX 11游戏会加入更多的曲面细分 技术,GF110的曲面细分优势会进一步体现出来。
GeForce GTX 580内部赏析
上文我们说过,相比GeForce GTX 480,GeForceGTX 580在散热设计和功耗控制方面有诸多改进,下面我们就来看看这些设计和改进究竟是哪些?GeForceGTX 580使用了6相核心、2相显存供电的设计,其中每相核心搭配了3个So-8封装形式的MOSFET,每相核心搭配2个SO-8封装形式的MOSFET,全部使用贴片电感。而且相比GeForce GTX 480,GeForce GTX 580的接口全部经过了屏蔽处理,抗干扰效果更佳。
GeForce GTX 580性能测试
接下来我们将进入精彩的性能测试部分,你将了解到GeForce GTX 580真实的3D、曲面细分、PhysX方面的性能和功耗温度方面的表现,以及它和AMD Cypress、Barfs之间的对比。我们将组建基于AMD Phenom Ⅱ X61090T的顶级游戏平台进行测试,告诉你最详细和真实的的测试结果。
在DirectX 10/10.1游戏和软件测试方面,我们会选取《3DMark Vantage》、《孤岛惊魂2》、《孤岛危机》等主流的DirectX 10/10.1的游戏和软件对GF110的DirectX10/10.1性能进行测试。而对于大家最关注的DireetX 11游戏性能,我们将选取《地铁2033》、《异形大战铁血战士》、《鹰击长空2》等多款DireetX 11游戏和软件重点考查GF110在DirectX 11游戏和软件中的性能,看看它的DirectX 11执行效率究竟有无明显提升?当然,所有游戏都运行在最高画质下。
GF110在图形架构上专为DirectX 11做了优化,我们将通过《Unigine Heaven Benchmark》这款DireetX 11软件来重点验证它的曲面细分性能。《unigine Heaven Benchmark》的测试场景中包含了大量基于Tessellation的画面,可以深度考查显卡的Tessellation性能。我们将选取“Directx 11 shader(High) Tessellation(Extreme)”模式进行测试,这表示显卡运行在最高画质、极致Tessellation等级的DirectX 11模式下。此外,我们还将重点考察GF100系列的抗锯齿性能。
GeFoFce GTX 580 Vs,GeFome GTX 480
频率、流处理器数量、纹理单元数量等规格的提升显著提升了GeForce GTX 580的性能,特别是在DirectX11游戏中,这种性能增益幅度很明显。例如在《潜行者:普里皮亚季》、《地铁2033》、《异形大战铁血战士》,GeForoe GTX 580的领先幅度分别达到了15%、20%和19%,这部分游戏应用了较大幅度的曲面细分技术,GeForee GTx 580的规格提升使其获得了非常明显的性能提升。
而在抗锯齿性能提升方面,GeForce GTX 580亦有不错的表现,例如在《潜行者:普里皮亚季》中,GeForceGTX 580在开启了四倍抗锯齿以后,性能下降幅度为28%,而GeForce GTX 480为33%;在《战地:叛逆连队2》,GeForcc GTX 580在开启了四倍抗锯齿以后,性能下降幅度为3%,而GeForce GTX 480为8%;在《孤岛危机》,GeForce GTX 580在开启了四倍抗锯齿以后,性能下降幅度为5%,而GeForce GTX 480为11%。出现这种情况是因为GeForce GTX 580的频率等规格提升,也一定程度提升了它的抗锯齿性能。
GeForce GTX 580 Vs.Radeon HD 5870
在之前GeForce GTX 480的评测中,GeForce GTX480凭借更出色图形架构在综合性能方面超出RadeonHD 5870不少,而现在规格更强悍的GeFotrce GTX580则进一步将这种优势提高,实现了全面的超越。在DirectX 11游戏测试中,GeForce GTX 580凭借专为DirectX 11优化的GF110图形架构,整体领先幅度在10%-109%。例如在《战地:叛逆连队2》、《地铁2033》、《失落的星球2》、《异形大战铁血战士》、《潜行者:普里皮亚季》和《鹰击长空2》等DireetX 11游戏测试中,GeForce GTX 580的领先幅度分别达到了10%、57%、80%、17%、30%和91%,领先幅度非常巨大,这再次验证了GeForce GTX 580在新游戏中的优势。
在DirectX 10游戏中,GeForce GTX 580和Radeon HD 5870的差距被缩小,例如在《孤岛危机》和《孤岛惊魂2》游戏中,GeForce GTX 580的领先幅度分别为6%和12%。这是因为这部分老游戏比较强调纹理贴图的性能,比如《孤岛危机》,而Radeon HD 5870由于具备80个纹理单元,在纹理渲染方面仍有不错的表现。
在《Unigine Heaven Benchmark》的曲面细分测试中,GeForce GTX 580凭借16个专属的曲面细分单元,在“DirectX 11 Shader(High) Tessellation(Extreme)”模式下领先Radeon HD 5870达到了109%,令人刮目相看。而最新的DirectX 11大作《鹰击长空2》也加入了曲面细分技术,GeForce GTx 580在该游戏中的领先幅度也高达91%。
功耗和温度表现
NVIDIA在GeForce GTX 580上做出了限制最大功耗和改进散热的设计,这的确有效地控制了它的功耗和发热量。在这种情况下,GeForce GTX 580的待机温度和满载温度分别只有38℃和79℃左右,待机系统功耗和满载系统功耗分别为110W和323W,相比GeForce GTX 480有明显的下降。
这种设计的确可以在很大程度上控制GeForce GTX580的功耗,毕竟在实际游戏中是很难达到软件测试的最大功耗。但另一方面,我们却无法检测出GeForce GTX 580的最大系统功耗,有一些遗憾。截至发稿前,有消息指出可以通过特别版的GPU-Z FurMark软件检测出GeForce GTX 580的最大系统功耗,但这种测试方法可能会对GeForce GTX 580造成硬件损伤。针对这个问题,本刊也将持续予以关注。
GeForce GTX 580:单核心王者毋庸置疑
就在我们一直猜测完整规格的GF100产品何时出现 时,NVIDIA很低调地发布TGeForce GTX 580。从实际测试来看,GeForce GTX 580非常好地巩固了单核心王者的地位,不仅相对GeForce GTX 480有15%左右的性能提升,更是全面超越Radeon HD 5870,单核心王者的地位毋庸置疑。
从GeForce GTX 580的图形架构来说,它和GeForceGTX 480没有本质区别,甚至你可以认为他们是一样的:专为DirectX 11设计的图形架构、强悍的曲面细分性能、出色的反锯齿性能和优秀的综合表现。
但GeForce GTX 580还是有那么一些值得我们思考和注意的设计,它并不是简单的GF100完整规格版本,它通过改进工艺和优化晶体管的效率使显卡的效率得到提升;更高的频率使其拥有更强的性能,每秒能处理20亿个三角形便是例证,改进的散热设计解决了一直困扰GeForce GTX 480的散热问题。而这些设计和改进都是在完善GeForce GTX 480的不足,目的是将GF110/100架构的最大性能发挥出来。从这个意义来说,GeForce GTx580是GeForce GTX 480的完善和更强的版本。类似这种在上一代产品上进行小幅提升和更改的设计和近年来AMD的做法比较类似,就好比Barts是在Cypress基础上进行小幅修改是一个道理。这种设计可以让新产品快速推出市场,获得更多的市场关注。
不过不同的是,在大量的测试中,AMD沿用多年的4D ID架构已经开始露出疲态,暴力添加SPU的做法已经遇到了瓶颈,架构的潜力被消耗殆尽。特别是其较差的曲面细分性能在今后大量运用曲面细分的游戏中会更加捉襟见肘,因此AMD在下一代产品中很可能会全面更换图形架构。而NVIDIA这边。凭借新一代GF110/100图形架构,可以在未来走得更远,因此其未来的产品很有可能仍然是基于GF110/100而设计,并逐步完善。
另据已知的消息来看,NVIDIA在接下来的时间内将陆续发布GeForce GTX 570/560,以完善整个GeForceGTX 500系列产品线。据称,GeForee GTX 570的发布时间是今年12月初,而GeForce GTX 560则可能要等到明年第一季度上市,相信届时的DirectX 11市场又会有一番恶斗。
GeForce GTX 580和GeForce GTX 480是一脉相承的,要了解GeForee GTX 580,我们先对GeForce GTX480进行一次回顾。
2010上半年,NVIDIA在众人翘首以盼的目光下终于推出了基于DirectX 11的GeForce GTX 480,这款称得上划时代的显卡。NVIDIA这一代DirectX 11显卡的代号为我们熟知的Fermi,而OeForce GTX 480的核心代号则为GF100。就这款产品的架构设计而言,GeForceGTX 480堪称有史以来图形架构设计最复杂、改进最多和DirectX 11性能最强的显卡。
GeForee GTx 480拥有多达15个多形体引擎,具备目前最强的Tessellation曲面细分性能。它改进了ROP单元的效率,提升了抗锯齿的性能。它大幅度提升了双精度计算性能,其双精度计算性能甚至达到了单精度计算性能的1/2。此外,它还集成了一级高速缓存和二级缓存,大幅度提升了CUDA应用程序的性能,甚至还可以运行为其编写的C 程序。
GeForce GTX 480的综合性能在单核心显卡中是最强的,设计也是最超前的,受到了业界的赞许。但它并不完美,首先是因为良率和功耗的问题,它并没有开启全部512个流处理器(GF100核心的完整规格),而是仅仅打开了480个流处理器,屏蔽了一组即32个流处理器。此外,由于它的图形设计非常复杂,晶体管数量达到了30亿个,再加上其存在核心漏电的问题,因此其功耗和发热量很高。它在运行特别是满载状态时,噪音很大。这些都是GeForceGTX 480显卡的不足之处,也是NVIDIA在后续产品中着力改善的地方。
GeForce GTX 580:我不是“马甲”
现在,你大致能推测出GeForce GTX 580的一些特点了吧。是的,它弥补了GeForce GTX 480显卡的最大遗憾一一具备了完整的512个流处理器。可能有一些用户会觉得GeForce GTX 580就是512SP版本的GeForceGTX 480显卡,不能说不正确,但至少不完全正确,因为NVIDIA在GeForce GTX 580上做了一系列的改进。一则是针对功耗和发热量的改进,之前
GeForceGTX 480存在核心漏电的问题,导致GeForce GTX480的个体功耗差异较大,即一些GeForce GTX480功耗较高,而一些产品却较低。在GeForee GTX580上,NVIDIA改善了核心漏电的问题。NVIDIA在GeForee GTX580的PCB上设计了专门的电源监控模块,限制了该显卡的最大功耗(后文会详细进行说明)。针对GeForce GTX480温度较高和散热器噪音较大的问题,GeForce GTX580在散热器上做了较大的改进,使用了均腔热板技术(后文会详细进行说明)。
此外,GeForce GTX 580还优化了晶圆的使用率和PCB走线等,带来的直接好处就是提升了它的使用效率。根据NVIDIA给出的数据,在相同频率、相同规格(SP、纹理等数量保持一致)的情况下,GeForce GTX 580的性能要超出GeForce GTX 480 10%左右。
下面,我们一起来看看GeForce GTX 580的主要规格。它的核心代号为GF110,每秒能处理20亿个三角形,具备30亿个晶体管、4个GPC、512个流处理器、64个纹理单元和48个光栅单元,最大浮点计算能力为2.37TFLOPs。其核心频率、显存频率和流处理器频率分别为772MHz、4008MHz和1544MHz。它的显存规格为1.5GB/GDDR5/384_bit。根据NVIDIA给出的数据,GeForce GTX 580显卡的最大功耗为244W,甚至比GeForce GTX 480还低。
从图形架构层面来看,GeForce GTX 580和GeForceGTX 480最大的不同是流处理器数量、纹理单元数量等规格差异,但两者所采用的图形架构是一致的。下面,我们将以GF100的图形架构为例,来进一步认识GF110图形架构。
从GF110的图形架构可以看出,它主要包含了一个主接口(Host Interface)、一个GigaThread引擎、四个GPC、六个显存控制器、六个ROP分区和一个大小为768KB的L2高速缓存。其中,ROP分区紧邻L2高速缓存。当GPU通过Host Interface来读取CPU指令时,GigaThread引擎能够从系统内存中获取指定的数据并将其拷贝到显存中,然后会为各个SM阵列创建和分派线程块。单个SM阵列亦会将多个Warp(32个线程的群组)调度至多个流处理器以及其它执行单元。当图形流水线中出现工作膨胀现象时,例如在执行Tessellation以及光栅化操作之后,GigaThread引擎还能够将工作重新分配至SM阵列。
GF110/100具备四组GPC,一个GPC由四,组SM阵列组成,共计128个流处理器、四个PolyMorph Engine多形体引擎、16个SFU单元。其中,每一组SM阵列具备32个流处理器、一个PolyMorph Engine多形体引擎、16个Load/Store单元、四个SFU单元和纹理单元、两个warp调度器和指令发送器、能配置为48KB SharedMemory 16KB L1缓存或者16KB SharedMemory 48KB L1缓存的共享内存/L1缓存。
在CUDA的概念里,CUDA Core或者SP(Streaming Processor内核,简称“SP”)指的就是一个处理核心。但其实SP只是一个功能单元,真正比较接近于我们常说的内核则是SP的上一级单位:StreamingMultiprocessor(即本文所说的“SM”)。因为目前只有在SM这一级才具备Program Counter(程序计数器)、调度资源以及分离的寄存器堆块,即才能进行CUDA计算。在AMD统一着色器架构的GPU中,类似SM等级的部件是SIMD Core,例如RV870拥有20个SIMD Core。
在GF110/100中,每个SP都有全流水线化的整数算术逻辑单元(ALU)和浮点单元(FPU)。ALU支持64bit和扩展指令,支持算术、shift(位移)、Boolean(布尔)、comparision(比较)以及move(数据传输或者赋值)。虽然GF110的SM数量从GT200的30个下降为16个,但SP总数却达到了512个(GT200为30×8=240个),实际的 单周期理论性能则提升了近1倍甚至更多(例如双精度浮点运算)。另外,GF110的一个SP每个周期可以实现一个Thread的一条浮点指令或者整数指令。
不同以往的纹理单元设计
在GF110/100中,每个SM配备了四个纹理单元,共计64个纹理单元。和上一代GT200以及竞争对手Cypress动辄80个纹理单元相比,GF110/100的纹理单元数量不但没有提升,反而下降。这是为什么呢?
事实上,在GT200架构中,最多三个SM共享一个纹理引擎,该纹理引擎包括八个纹理定址单元和过滤单元。而G92则是两个SM共享一个纹理引擎。但NVIDIA认为单纯地添加纹理单元的数量并不能有效提升GPU的纹理贴图能力,甚至造成部分单元闲置浪费。因此在GF100中,NVIDIA通过将纹理单元移植到SM中的设计来提升纹理单元的使用效率和时钟频率——每个SM都配备了四个专属的纹理单元和一个12KB的纹理高速缓存。一个纹理单元在一个时钟周期内能够计算一个纹理地址并获取四个纹理采样,可以支持包括双线性、三线性在内的各向异性过滤模式。总的来看,GF110/100打破了之前将纹理单元设计在SM阵列之外的做法,将纹理单元整合在SM阵列里面,在—定程度上提升了纹理单元的效率。
创新的Shared Memory和L1/L2缓存
在GF110/100中,每个SM阵列里面拥有一个容量很小的内存空间,即Shared Memory,可以用于数据交换,程序员可以方便自由使用。有了Shared Memory后,同一个Thread block内的线程可以共享数据,极大地提升了NVIDIA GPU在进行GPU Computing应用时的效率。
虽然Shared Memory对许多计算都有帮助,但它并不适用于所有的问题。最佳化的内存层次架构方案就是同时提供Shared Memory和Cache,GF110/100就采用了这样的设计。在G80和GT200中,每个SM都有16KB的Shared Memory,而在GF110/100中,每个SM拥有64KB的Shared Memory,能配置为48KB Shared Memory 16KB L1 Cache或者16KB Shared Memory 48KB L1Cache的模式(G80和GT200不具备L1/L2 Cache)。程序员可以自己编写一段小的程序,把Shared Memory当成Cache来使用,由软件负责实现数据的读写和一致性管理。而对那些不具备上述程序的应用程序来说,也可以直接自动从L1 Cache中受益,显著缩减运行CUDA程序的时间。过去,GPU的寄存器如果发生溢出的话,会大幅度地增加存取时延。有了L1 Cache以后,即使临时寄存器使用量增加,程序的性能表现也不至于大起大落。
另外,GF110/100还提供了768KB的一体化L2Cache,L2 Cache为所有的Load/Store以及纹理请求提供高速缓存。对所有的SM阵列来说,L2 Cache上的数据都是连贯一致的,从L2 Cache上读取到的数据就是最新的数据。有了L2 Cache后,就能实现GPU高效横跨数据共享。对于那些无法预知数据地址的算法,例如物理解算器、光线追踪以及稀疏矩阵乘法都可以从GF100/100的内存层次设计中显著获益。而对于需要多个SM读取相同数据的滤镜以及卷积核(convolution kernel)等算法同样能因为这个设计而获益。
改进的ROP单元
在GF110/100上,NVIDIA对ROP单元进行了全新设计,大幅提升了数据吞吐量与效率。GF110/100包含六个ROP分区,一个ROP分区包括了八个ROP单元,共计48个ROP单元(GT200具备八个ROP分区,并与八个64bit的显存控制器绑定,一个ROP分区包含四个ROP单元。)。一个ROP单元能够在一个时钟周期内输出一个32bit整数像素。理论上,由于ROP的压缩效率和ROP单元数量的提升,GF110在8x抗锯齿下的性能会得到明显改善。
此外,得益于更多的原子操作单元以及L2缓存,GF110的原子内存操作性能相对以往的架构来说得到了巨大的提升。对同一地址的原子内存操作,GF110的运算速度是GT200的20倍,而对相邻内存区域的操作则达到7.5倍。
完整的曲面细分单元设计
我们知道,曲面细分作为DirecX 11中的重要技术,可以显著提升我们的游戏体验。但曲面细分会将特定帧中的三角形密度增加数十倍,给光栅化等串行化运算单元带来很大的压力,因此对图形流水线的优化就迫在眉睫。而GeForce GTX 480所采用的GF100图形架构就是专为DirectX 11而设计,具备15个PolyMorph Engine(多形体引擎,又称之为曲面细分单元)和四个Raster Engine(光栅化引擎),因此在引入曲面细分设计的DirectX 11游戏中将会获得更大的优势(曲面细分设计越复杂,其优势会越明显)。而GeForce GTX 580采用的GF110核心,则具备完整的16个PolyMorph Engine,在DirectX 11游戏的应用中会更加优秀。
具体来说,GeForce GTX 580的每个SM阵列里面具备可扩展的PolyMorph Engine,共计16个,可以实现较高的三角形速率。每个PolyMorph Engine均拥有专属的顶点获取单元以及Tessellator,极大地提升了几何性能。与之呼应的则是分别常驻于四个GPC里面的四个并行的Raster Engine,它们能够在每个时钟周期内设置最多四个三角形,并且在三角形Fetch、Tessellation以及光栅化操作方面具备很强的性能。
这种专为DireetX 11而设计的图形架构与AMD最新的Barts图形架构有很大的区别。Barts是在Cypress基础上演变而来,仍然只具备1个曲面细分单元TessllatorGen7。而Barts相对于Cypress,曲面细分性能有所提升的原因并不是因为增加了曲面细分单元的数量,而是来源于线程分配模块的增强。不过这只能治标,却无法治本。因此在高负荷曲面细分计算环境下,Barts的曲面细分性能会大幅下降,此时即使拥有增强的线程分配模块设计也起不了太大的作用,因为主要的瓶颈在曲面细分单元的数量和效率上。
当然,由于曲面细分很耗费GPU资源,现在游戏厂商在使用这项技术时相对比较谨慎。最初的一些DirectX 11游戏基本没有或者加入了很少的曲面细分技术,因为当时显卡的曲面细分性能并不算强。而现在随着显卡曲面细分性能的增强,一些DirectX 11游戏会加入更多的曲面细分 技术,GF110的曲面细分优势会进一步体现出来。
GeForce GTX 580内部赏析
上文我们说过,相比GeForce GTX 480,GeForceGTX 580在散热设计和功耗控制方面有诸多改进,下面我们就来看看这些设计和改进究竟是哪些?GeForceGTX 580使用了6相核心、2相显存供电的设计,其中每相核心搭配了3个So-8封装形式的MOSFET,每相核心搭配2个SO-8封装形式的MOSFET,全部使用贴片电感。而且相比GeForce GTX 480,GeForce GTX 580的接口全部经过了屏蔽处理,抗干扰效果更佳。
GeForce GTX 580性能测试
接下来我们将进入精彩的性能测试部分,你将了解到GeForce GTX 580真实的3D、曲面细分、PhysX方面的性能和功耗温度方面的表现,以及它和AMD Cypress、Barfs之间的对比。我们将组建基于AMD Phenom Ⅱ X61090T的顶级游戏平台进行测试,告诉你最详细和真实的的测试结果。
在DirectX 10/10.1游戏和软件测试方面,我们会选取《3DMark Vantage》、《孤岛惊魂2》、《孤岛危机》等主流的DirectX 10/10.1的游戏和软件对GF110的DirectX10/10.1性能进行测试。而对于大家最关注的DireetX 11游戏性能,我们将选取《地铁2033》、《异形大战铁血战士》、《鹰击长空2》等多款DireetX 11游戏和软件重点考查GF110在DirectX 11游戏和软件中的性能,看看它的DirectX 11执行效率究竟有无明显提升?当然,所有游戏都运行在最高画质下。
GF110在图形架构上专为DirectX 11做了优化,我们将通过《Unigine Heaven Benchmark》这款DireetX 11软件来重点验证它的曲面细分性能。《unigine Heaven Benchmark》的测试场景中包含了大量基于Tessellation的画面,可以深度考查显卡的Tessellation性能。我们将选取“Directx 11 shader(High) Tessellation(Extreme)”模式进行测试,这表示显卡运行在最高画质、极致Tessellation等级的DirectX 11模式下。此外,我们还将重点考察GF100系列的抗锯齿性能。
GeFoFce GTX 580 Vs,GeFome GTX 480
频率、流处理器数量、纹理单元数量等规格的提升显著提升了GeForce GTX 580的性能,特别是在DirectX11游戏中,这种性能增益幅度很明显。例如在《潜行者:普里皮亚季》、《地铁2033》、《异形大战铁血战士》,GeForoe GTX 580的领先幅度分别达到了15%、20%和19%,这部分游戏应用了较大幅度的曲面细分技术,GeForee GTx 580的规格提升使其获得了非常明显的性能提升。
而在抗锯齿性能提升方面,GeForce GTX 580亦有不错的表现,例如在《潜行者:普里皮亚季》中,GeForceGTX 580在开启了四倍抗锯齿以后,性能下降幅度为28%,而GeForce GTX 480为33%;在《战地:叛逆连队2》,GeForcc GTX 580在开启了四倍抗锯齿以后,性能下降幅度为3%,而GeForce GTX 480为8%;在《孤岛危机》,GeForce GTX 580在开启了四倍抗锯齿以后,性能下降幅度为5%,而GeForce GTX 480为11%。出现这种情况是因为GeForce GTX 580的频率等规格提升,也一定程度提升了它的抗锯齿性能。
GeForce GTX 580 Vs.Radeon HD 5870
在之前GeForce GTX 480的评测中,GeForce GTX480凭借更出色图形架构在综合性能方面超出RadeonHD 5870不少,而现在规格更强悍的GeFotrce GTX580则进一步将这种优势提高,实现了全面的超越。在DirectX 11游戏测试中,GeForce GTX 580凭借专为DirectX 11优化的GF110图形架构,整体领先幅度在10%-109%。例如在《战地:叛逆连队2》、《地铁2033》、《失落的星球2》、《异形大战铁血战士》、《潜行者:普里皮亚季》和《鹰击长空2》等DireetX 11游戏测试中,GeForce GTX 580的领先幅度分别达到了10%、57%、80%、17%、30%和91%,领先幅度非常巨大,这再次验证了GeForce GTX 580在新游戏中的优势。
在DirectX 10游戏中,GeForce GTX 580和Radeon HD 5870的差距被缩小,例如在《孤岛危机》和《孤岛惊魂2》游戏中,GeForce GTX 580的领先幅度分别为6%和12%。这是因为这部分老游戏比较强调纹理贴图的性能,比如《孤岛危机》,而Radeon HD 5870由于具备80个纹理单元,在纹理渲染方面仍有不错的表现。
在《Unigine Heaven Benchmark》的曲面细分测试中,GeForce GTX 580凭借16个专属的曲面细分单元,在“DirectX 11 Shader(High) Tessellation(Extreme)”模式下领先Radeon HD 5870达到了109%,令人刮目相看。而最新的DirectX 11大作《鹰击长空2》也加入了曲面细分技术,GeForce GTx 580在该游戏中的领先幅度也高达91%。
功耗和温度表现
NVIDIA在GeForce GTX 580上做出了限制最大功耗和改进散热的设计,这的确有效地控制了它的功耗和发热量。在这种情况下,GeForce GTX 580的待机温度和满载温度分别只有38℃和79℃左右,待机系统功耗和满载系统功耗分别为110W和323W,相比GeForce GTX 480有明显的下降。
这种设计的确可以在很大程度上控制GeForce GTX580的功耗,毕竟在实际游戏中是很难达到软件测试的最大功耗。但另一方面,我们却无法检测出GeForce GTX 580的最大系统功耗,有一些遗憾。截至发稿前,有消息指出可以通过特别版的GPU-Z FurMark软件检测出GeForce GTX 580的最大系统功耗,但这种测试方法可能会对GeForce GTX 580造成硬件损伤。针对这个问题,本刊也将持续予以关注。
GeForce GTX 580:单核心王者毋庸置疑
就在我们一直猜测完整规格的GF100产品何时出现 时,NVIDIA很低调地发布TGeForce GTX 580。从实际测试来看,GeForce GTX 580非常好地巩固了单核心王者的地位,不仅相对GeForce GTX 480有15%左右的性能提升,更是全面超越Radeon HD 5870,单核心王者的地位毋庸置疑。
从GeForce GTX 580的图形架构来说,它和GeForceGTX 480没有本质区别,甚至你可以认为他们是一样的:专为DirectX 11设计的图形架构、强悍的曲面细分性能、出色的反锯齿性能和优秀的综合表现。
但GeForce GTX 580还是有那么一些值得我们思考和注意的设计,它并不是简单的GF100完整规格版本,它通过改进工艺和优化晶体管的效率使显卡的效率得到提升;更高的频率使其拥有更强的性能,每秒能处理20亿个三角形便是例证,改进的散热设计解决了一直困扰GeForce GTX 480的散热问题。而这些设计和改进都是在完善GeForce GTX 480的不足,目的是将GF110/100架构的最大性能发挥出来。从这个意义来说,GeForce GTx580是GeForce GTX 480的完善和更强的版本。类似这种在上一代产品上进行小幅提升和更改的设计和近年来AMD的做法比较类似,就好比Barts是在Cypress基础上进行小幅修改是一个道理。这种设计可以让新产品快速推出市场,获得更多的市场关注。
不过不同的是,在大量的测试中,AMD沿用多年的4D ID架构已经开始露出疲态,暴力添加SPU的做法已经遇到了瓶颈,架构的潜力被消耗殆尽。特别是其较差的曲面细分性能在今后大量运用曲面细分的游戏中会更加捉襟见肘,因此AMD在下一代产品中很可能会全面更换图形架构。而NVIDIA这边。凭借新一代GF110/100图形架构,可以在未来走得更远,因此其未来的产品很有可能仍然是基于GF110/100而设计,并逐步完善。
另据已知的消息来看,NVIDIA在接下来的时间内将陆续发布GeForce GTX 570/560,以完善整个GeForceGTX 500系列产品线。据称,GeForee GTX 570的发布时间是今年12月初,而GeForce GTX 560则可能要等到明年第一季度上市,相信届时的DirectX 11市场又会有一番恶斗。