- 内容展现
- 最新评论
NVIDIA改走能耗比路线:GeForce GTX 680 Kepler架构解析与评测
在AMD的GCN架构显卡问世三个月后,NVIDIA也发布了新一代的Kepler架构显卡。首批上市的核心代号为GK104,被命名为GeForce GTX 680,同样使用最新的28nm制程。
Kepler架构解析
首先来看GK104的核心照: Steaming Multiprocessor Xtreme(SMX) 与Fermi一样,Kepler继续使用GPC(图形处理集群)结构。GK104核心拥有4个GPC,每个GPC包含两组SMX和一个Raster引擎。此外GK104核心还包含了共享的32个ROPs和L2缓存,PCIE 3.0接口、GigaThread引擎,以及256bit的显存控制器。 SMX依然是组成核心的主要计算单元的主体,其实就是前一代SM的基础上改进而来的,加了个Xtreme作为包装词汇,因此可以译作“极致流多处理器”。在GK104核心中,一组SMX主要包含了192个CUDA核心、一个全新的Polymorph Engine 2.0、64KB的L1缓存、16个Texture单元。 Shader频率及能耗比 NVIDIA称从新设计的SMX结构的能耗比可以达到Fermi的2倍,主要来自于Shader频率的下降。在Fermi时代,Shader频率是GPU核心频率的二倍,例如GTX 580的Shader频率就达到1544MHz,这样就使得功耗变得很大,核心频率非常难以提升。Kepler把Shader频率与核心频率同步,让功耗下降。因此,GK104的初始频率就达到了1GHz以上。 相比之下,以三倍的CUDA核心数、更低的Shader频率来看,GK104的理论计算性能还是要比Fermi高,不考虑复用效率问题,简单的计算方法就是1536/512*1006/1544,即大约相当于GF110核心195.5%的计算能力,因此GK104核心的计算能力直接从GF110的1.58TFLOPS提升到3.09TFLOPS。 当然,NVIDIA如何做到塞下三倍数量的CUDA核心还能把核心面积减小到只有GF110的56%的,一方面是得益于制程的提升,另一方面也跟CUDA核心内部结构变化有很大关系,我们知道GF104在GF100的基础上改进了CUDA核心内部结构之后功耗降低了许多,执行效率也有所提高,GK104肯定也有不少的改变,但NV并没有提供这部分资料。 Polymorph Engine 2.0 在Kepler架构的SMX中,另一个大改进就是Polymorph Engine,我们知道在Fermi架构中,Tessellation(曲面细分)能力之所以那么强,主要就是归功于Polymorph Engine。根据NV的说法,虽然GTX 680的8组SMX中仅包含8个Polymorph Engine,相比GF110的16个少了一半,但是重新设计的Polymorph Engine 2.0可提供同频率下两倍于Fermi的效能,因此加上频率的提升,GK104的曲面运算能力比GF110还要再高30%。以下是Unigine Heaven Benchmark这个Tessellation代表性测试的运行情况,在1920x1080分辨率、4xMSAA、曲面细分开到最大的条件下,GTX 680跑出54.7的平均fps,而GTX 580仅有平均41.6fps。 Bindless Textures 在Direct X 11规范中,每一个shader对应最多128个Textures,有点像QT里的Signal/Slot机制,当代码执行到某个地方的时候,可以发送一个信号,然后对应被标记的槽函数就会被执行。这样写代码的方式会在一定程度上增加代码的复杂程度、占用更多的CPU资源,但是逻辑也更加清晰。 在开发游戏代码的时候,CPU需要先把目标Texture绑定到某个shader,然后GPU才能对它进行操作。到了Kepler,shader和Texture的绑定这一步被省略了,改为自由组合的方式,按NV的说法一个shader甚至可以对应超过一百万个Texture,bindless就是无约束的意思。这样一来CPU只需要发出目标Texture请求,GPU就能直接操作对应的shader,这样一来减少了CPU的资源使用,效率可以得到提高。目前DX11还不支持这个功能,所以这功能对于基于DX的游戏来说可以忽略,不过NVAPI里已经对OpenGL 4.0扩展支持Bindless Textures。 参考资料:http://developer.download.nvidia ... indless_texture.txt 优化的指令流水线 除了三倍数量的流处理器和每个SMX四个指令调度器之外,Kepler对指令调度流水线也做了一定的优化,下图就是对Kepler与Fermi的指令调度流程的区别举例。简单来讲,指令在执行之前需要先解码。对于Fermi来说,指令在解码后、执行之前需要经过硬件队列和一套关联性检测机制(Dependency Check),需要耗费较高的功耗;而Kepler取消了这套检测机制,改用软件对指令“标记”的方式,在解码之前先选择被标记的指令,这样一来就简化了指令调度的流水线,增加执行效率并减少硬件开销,降低功耗。 改良的GDDR5控制器 Kepler的显存控制器IO被重新设计过,这样一来显存控制器不再是显存频率的瓶颈(其实AMD早在Cayman上就这么做了),所以GTX 680的默认显存频率也达到了1502MHz(等效6Gbps)。而通过超频实测我们发现,0.3ns的显存可以超频到1850MHz以上,与HD 7970表现很接近。但是,GK104的256bit位宽依然让显存总带宽保持在192.26GB/s左右,与GTX 580接近。不过,与Fermi类似,GK104上超频显存对性能的提升非常有限,来看看以下几种频率组合下3DMark 11 Performance模式第一场景的fps变化情况: 我们看到不管核心频率处于多高的情况下,即使显存频率提升300MHz(等效1.2Gbps左右),fps成绩也仅提高1.4%左右,这个幅度可以说是非常小。 |
本文版权归 PCEVA,PC绝对领域,探寻真正的电脑知识 原作者所有 转载请注明出处
发表评论
最新评论
- 引用 royalk
- PCB大图
正面
GTX680正面.rar (3.06 MB, 下载次数: 126)
背面
GTX680背面.rar (2.95 MB, 下载次数: 93)
- 引用 无道刹那
- 本帖最后由 无道刹那 于 2012-3-30 22:07 编辑
这个算是刷新了公版旗舰卡的散热做工下限吗?当然,也许对N家来说这玩意不算旗舰
不过功耗确实控制很好,价格还低于7970,这样我对660的期待更强烈了
- 引用 sapphirex
- 看完了R大的评测,之前NV宣传口号“等待Kepler中,请耐心,耐心,当时机成熟,它将不可战胜。”“对于Kepler,NVIDIA充满期望,并表示它会成为该公司有史以来最为出色的GPU”全都成真了。
660Ti改名680,那么谁来对抗7800系列呢,我更关心这个。架构设计很优秀,性能强的同时功耗更低了,期待开普勒后续的显卡。
拿这文章再对比下某CXX-某X的680评测,也了解到“好白菜都被猪拱了”的深刻含义。
- 引用 royalk
bindless textures目前DX11是没有的,最快也要等以后新的DX API出现了
要不就用NVAPI,不过我估计很少人会装这个
而且我认为这个功能主要是减少CPU开销的,现在CPU性能都过剩了。。。
所以目前把这个当宣传点我觉得没意义
- 引用 z496834134
- 好的 我老老实实等110了
热门评论
热门评论