开普勒架构全解析 GeForce GTX 680详尽性能评测

2012-03-23 15:34:36 来源:驱动之家 作者:未知 编辑:迦偌 浏览:loading

开普勒排头兵:GK104架构深入解析(4)

5、SMX的设计细节

以上我们从宏观视角了解了SMX的功能单元数量、排列方式以及和上一代SM的差别,下面我们从更加微观的底层角度一探究竟。以下内容比较晦涩难懂,但只有了解这些才能真正看到Kepler的改进之处。

游民星空_

正如上图所示,为了安排SMX的执行单元,每个SMX都配备了4个Wrap调度器,每个调度器在单位时钟每可以处理两路指令,而且可以并行执行。相比之下之前的SM仅有2个Wrap调度器,每个调度器只能处理一路指令,显然在指令调度方面SMX更有效率。

游民星空_
Kepler和Fermi调度流程对比示意

在指令调度分配上,Kepler和Fermi拥有功能类似硬件单元,包括用于高延迟操作(纹理和载入)记录的寄存计数器、内部Wrap调度决策单元(比如在待选Wrap之中选择最佳候补者)以及线程群组级别的调度单元(比如GigaThread引擎)。但是,Fermi用于防止数据通道意外的硬件调度流程过于复杂,多端口寄存计数器会对任何寄存器进行追踪,即便那些还未填充合法数据的也不例外,而之后的附属检测模块会再次基础上通过大量完全编码的Wrap指令流分析该寄存器的用途,最终才决定哪一个会被合法利用。

一般来说,数据管线的延迟不会改变,那么就有可能在指令排队等待之前就利用编译器去确定该指令的去留,并且可以将该信息标记到该指令上。这样以来,就能使用简单的硬件模块去摘取事先决定的延迟信息,利用它在内部Wrap调度阶段就挑选出来合法的Warp,从而省去了许多复杂而且耗费功耗的硬件模块,大大提升调度效率,而这就是Kepler相对Fermi在调度过程中的改进之处

此外,根据NVIDIA的说法,在提升能耗比方面Kepler也针对处理执行单元进行了全新的优化,每一个处理单元都是为最大化频率处理效率和最小化电路和延时消耗而精心设计的。最明显的改进之处就是取消了我们以往常见的Shader频率,Shader频率在DX10 G80时代随着统一着色器架构的到来而出现,成为继核心频率、显存频率之外的另外一个性能指标,后来一直延续到Fermi架构(近两年一般为核心频率的两倍)。(限于时间关系,有关Shader频率的来龙去脉这里就不在过多介绍,感兴趣的玩家通过参考之前的文章研究。)

一般来说Shader频率越高,象征着执行单元的频率越高,在有限数量的执行单元下可实现既定目标的数据吞吐量。但与此同时,更高的Shader频率也意味着需要更多的功耗消耗,频率变为两倍意味着管线阶段也变为两倍,如果每一个执行单元都以两倍的频率运行,那功耗将变为原来的四倍。在这种情况下,即便既定吞吐量只需要半数的执行单元,那管线阶段依然会消耗原来两倍的功耗。

上文中我们就提到,Kepler设计之初就优先考虑能耗比的问题。所以在架构设计上,Kepler进行了诸多关于功耗方方面的优化,即便是在多耗费一些逻辑核心面积(并非实际核心面积)的情况下。下面这个例子就是很好的说明。(ps.关于更多的细节NVIDIA没有过多透露,仅有图示一张。)

游民星空_

就目前来说,Kepler架构设计上相比Fermi的重大改进可以简单归纳为两点:1、性能/功耗比值大幅提升;2、执行和调度效率上大幅提升

上一页 1 2 3 4 5 6 7 8 9 10 11 下一页
友情提示:支持键盘左右键“← →”翻页
文章内容导航
人喜欢
游民星空APP
随时掌握游戏情报
code
休闲娱乐
综合热点资讯
单机游戏下载
好物推荐
游民星空联运游戏