E X P
  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

      本文技术部分由本站特约作者1096撰写。

      和CPU一样,显卡也可以进行超频,但真正进行显卡超频的人并没有像对CPU超频的那样多。实际上,显卡的超频一直只局限于核心和显存频率,并不像CPU超频那样有趣。不过进入DirectX 10时代后,伴随着NVIDIA统一架构设计的G8X系列显卡的诞生,一种全新的超频方式被提上日程:Shader频率

    本文的主角:Shader频率。

      众所周知,采用统一架构设计的显卡和之前的分离式架构有个非常明显的区别,那就是Pixel Shader(像素着色器,简称PS单元)和Vertex Shader(顶点着色器,简称VS单元)不分彼此而被统称为流处理单元。而且独立出来的流处理单元可以拥有独立频率(Shader频率)这样的性能指标,而不再是象以前那样——只能依靠改变核心频率来改变核心性能。

      今天,我们就来对NVIDIA的Shader频率进行探究,看它有何特别之处,又是如何重新定义超频的。

    GPU遭遇存储器瓶颈,流处理架构诞生

      在摩尔定律的推动下,CPU的速度差不多每隔两年就提升一倍,但是这仅仅是针对PC的运算部件的定律,基本上,由于种种原因限制,内存访问速度每隔六年才提升一倍。因此,这两者差距越拉越大,计算单元空算等待存储器的情况越来越严重。

      对于GPU来说也是如此,一个工作频率在500MHz的GPU,内部每个时钟周期的长度在2ns左右,而我们可怜的显存还在以200~300MHz(2.0GHz GDDR4)的速度工作(GDDR4使用8位预取结构[Octal Data Rate]设计,数据频率是核心频率的8倍)。更加糟糕的是,GPU对显存的存取动作指令也会有延迟周期(CAS,RAS),这样,从GPU开始存取放在芯片外面的DRAM,到第一个Data送出的时间差最小也有几十个ns,以GPU内部的时钟频率而言可能会有几十到上百个周期的损失。如果将GPU比作一个工厂的流水线,那么这就意味着,整个流水线大部分的时间都是空闲着,因为不能获取需要处理的原材料。

      为了解决这种状况,NVIDIA和ATI很早就开始尝试深化流水线或者引入多线程机制来隐藏这些延迟。伴随着DX10的发布,NVIDIA发布全新一代G8X产品更是对显卡核心的架构进行翻天覆地的改变。这里面最重要的变化就是抛弃了近六年来一直使用的Pixel Shader(像素着色器,简称PS单元)和Vertex Shader(顶点着色器,简称VS单元)分而治之的方案,将两者进行了结合,也就是我们常说的统一架构。

      传统的图形芯片架构中,生成图像时先由顶点渲染管线中的Vertex Shader(顶点着色器)生成几何图形的骨架(由三角形构成),然后再由像素渲染管线中的Pixel Shader(像素着色器)进行填色,最后才是像素渲染管线中的纹理单元进行贴图。而新的统一架构,Pixel Shader和Vertex Shader被合二为一,称为流处理器(Shader Processor,简称SP),它将同时负责顶点着色和像素着色,还充当新增加的Geometry Shader(几何着色器)。也就是说现在每条渲染管线都由流处理器和纹理贴图单元组成,其中流处理器身兼顶点着色、像素着色和几何着色三职,这样解决了以往因顶点着色和像素着色任务不均造成的资源浪费。

      从G80显卡开始的,到目前主流的G84、G86系列产品上也全部采用了这种统一架构的方式,如下图所示:

      与之前所有的GPU不同的是,G8X系列首次提供了一种更接近纯数学运算的架构,称之为流处理架构。流处理架构包括以下几个主要部分:指令派发和仲裁机构(Thread Dispatch)、片内缓存(Cache)、运算簇(TPC)以及TMU、Crossbar总线和光栅操作处理器(ROP,Raster Operation Processor)。G8X流处理架构分为流级与核心级。流级硬件主要负责访存,主要由流控制器(Thread Manager)、纹理拾取单元(TMU)、流存储系统(Constatne Reg File/On Chip Shared Memory)、数据总线(Crossbar Switch)、光栅操作处理器(ROP,Raster Operation Processor)组成。而核心级硬件负责计算,包括运算簇(TPC)和运算簇内的控制单元(Thread/Instruction Dispatch)以及TPC内部的Cache和寄存器资源等。

      G8X流处理的核心思想就是将计算和访存两种互相干扰的特性分开来,通过多线程(Multi-Threading)和各种分级的片缓存将带宽和延迟需求分解消耗掉。G8X通过Gigathread多执行诸技术(Multi-threading)将计算分割成一个个的步骤(Kernel),GigaThread线程处理器根据工作负荷分配流处理器完成各种指令,配合标量架构设计,达到面对不同的图形接口,都能够以更高的工作效率运作。

      G8X将核心部件分为数学运算和固定功能单元两种规格,并且两种功能部件都有自己独立的时钟频率。而对性能影响最为关键的部分,如运算簇中的流处理器将以超过核心时钟频率两倍以上的速度运行。整个设计都基于这样一种思想:GPU的算术运算指令延迟都很小,因此核心运算部件不会有涉及显存的操作。几乎所有的访存动作(读写显存的动作)都是由TMU这个部件产生的。如果将访存部件的操控运作独立出来,两种部件都能独立运作,期间通过一种缓冲体系与核心部件沟通,核心运算部件就能够不受干扰的非常有效率的运作,频率也可以脱离GPU主频(时钟发生器频率)定得更高。

      G8X的这种设计非常适合于数据并行性好、全局数据重用较少的计算密集型应用(图形渲染)。在处理器和存储器之间速度差距越来越大的情况下,G8X的流处理架构实际上硬件级对访存进行优化,较有效地实现延迟隐藏,使计算与大部分访存的执行相重叠。

    解读Shader频率

      在G8X显示核心内,流处理器与光栅操作处理器的工作是分别独立出来的,流处理器负责变换x、y、z、w(X轴,Y轴,Z轴的坐标和它们共有的说明W)坐标的数值,将数据转换成对应的颜色,完成象素着色;光栅操作处理器负责将已着色的象素光栅区域化,形成完整的图象信号并输入显存。

      在DirectX 10之前,所有图形显示核心都采用Pixel Shader和Vertex Shader分离的架构,图形核心的时钟频率,往往就是指它们的频率,如ATI Radeon X1950XTX的核心频率为650MHz,实际上就是说Radeon X1950XTX的48个像素处理单元和8个顶点处理单元的频率为650MHz。我们前面提到,NVIDIA的G8X系列图形核心彻底抛弃了保守的分离式架构,而使用了更好的统一架构,因此G8X系列的显卡在频率上的定义也有所不同。除了显存频率和核心频率(外围流级硬件的光栅操作处理器频率=时钟发生器频率,因此还被称为核心频率)外,还增加了一个核心级硬件的流处理器频率,即我们常称的Shader频率。

      Shader频率和核心频率间存在着一种比率关系(详细介绍在下一章节),在对核心频率进行调整的时候,Shader频率也会随之而变化,不过这并不是一种线性的变化。比如,公版8600GTS的核心频率是675MHz,Shader频率是1450MHz,但在Rivatuner里显示的它的实际Shader频率却是1458MHz,当核心超频到750MHz时,按照原有的比率关系Shader应该是1611MHz,可是实际频率却是1620MHz,这些就是常提到的所谓“合理误差”。

      我们在测试中还发现一个有趣的“规律”,Shader实际工作频率基本上都是54的整倍数,无论是BIOS内设定的还是超频后按比率变化的数值,如果最终的结果不是54的整倍数,Shader往往会自动跳到相邻最近的54的整倍数频率运行。在上面的例子中,距离Shader频率1611MHz最近的54整倍数有1566和1620,显然这个数字离1620更近一些。因此,当用修改BIOS的方式进行超频时,最好将Shader频率设定在54的整倍数上,这样实际运行频率就不用自行跳动,也更加符合核心内部频率配比的规范。

      不过,奇怪的是,这个54整倍数的“规律”却不是完全正确,它似乎只对1000MHz以上的Shader频率段适用,而我们测试中曾经得到过729MHz的Shader频率,是54的13.5倍,而不是整倍数。对于这个问题,我们接下来还会继续进行摸索,希望能对它有进一步的了解。

    解读核心频率和Shader频率的比率

      那么核心频率(光栅操作处理器频率)和Shader频率(流处理器)之间又有何硬性关联呢?理论上来说,二者既然已经各自独立工作,就应该完全可以设定在任意不同频率下,可现实中这样是行不通的。光栅处理器和流处理器仍然共用一个时钟发生器。先从BIOS内的默认频率设定观察会发现,核心频率和Shader频率之间总是存在一定范围内的比例关系。例如8800GTX约为1:2.35,8600GTS约为1:2.15,8500GT为1:2.0,Shader频率和核心频率的比率一般为1:2.xx。如果两者分别拥有独立的时钟激发端,那么在用第三方超频软件诸如ATITool和Rivatuner对核心频率进行提升时,Shader频率应该保持不变,可是事实相反。用Rivatuner很容易就能看出,当你改变核心频率时Shader频率也会根据原有的比例变化。

    最新版本的RivaTuner 2.04已经开始支持ShaderClockRatio的调整。

      在功能方面,流处理器负责将CPU处理器完成的2进制框架数据转化为色彩代码,这就是俗称的“着色”过程,在输入显示器之前,这些代码还需经过光栅操作处理器转换成能被显示器识别的视频信号。由于流处理和光栅操作处理器在数量、执行效率和带宽上的差异,将两者的频率维持在适当的比例更能有效地利用整个GPU资源。因此, NVIDIA让核心中这两大部件从同一个发生端产生频率,并通过BIOS中的频率设定产生的系数关系来共同增减,以达到维持二者之间均衡的目的。

      虽然ATI和NVIDIA都在新一代产品中采用了统一架构,加入了流处理器这个概念,不过对于Shader频率的比率问题,两家厂商的设计也不尽相同。在ATI方面,流处理器运行频率是与显卡的和核心频率相同设计的,比值为1:1;而NVIDIA的GeForce8系列的流处理器频率则是设定在核心频率的两倍多一点。

      以下是我们从NVIDIA官方网站上得到的GeForce8系列GPU的规格:

      整理的核心频率和流处理器频率的比率如下:

      事实上,NVIDIA对于流处理器的频率设定是开放的,显卡厂商完全可以根据自己的需要进行设定,可以针对不同的产品设定不同的比率,而在NVIDIA下一代的nTune软件中用户甚至可以单独对流处理器频率进行调整。

      不同的显卡厂商和产品对于流处理器频率的比率也表现出不同的态度,有部分厂商直接采用NVIDIA默认的比率进行设定;还有部分厂商推出的超频版显卡在提升了核心频率的同时也提升了该比率,如我们本次测试的富士康N86SM202-OC720-2260显卡核心/流处理器频率为720/1620MHz,比率为2.25,比公版8600GTS显卡2.15的比率要高;更有显卡厂商采用了绝对SHADER频率的做法,在有限的核心频率下通过提高SHADER频率来达到最佳性能,如影驰的8600GTS HDMI悟空、8600GT HDMI悟空、8500GT HDMI悟空三款显卡的流处理器频率均设置在1500MHz。

    公版8600GTS显卡核心/Shader频率的比率为2.15。

    如何对Shader进行超频:BIOS修改法

      NVIDIA显卡的核心/显存频率平时可以通过Rivatuner等工具软件进行超频,甚至通过破解之后直接就可以用驱动控制面板进行超频,那么对于Shader我们应该如何超频呢?

      由于NVIDIA并没有开放对于Shader频率进行调整的接口,目前暂时还没有工具软件可以单独对Shader的频率进行调节,不过我们可以通过对显卡BIOS的调节来达成这一目标。

      先进入DOS,使用NVFLASH把显卡的BIOS保存下来,DOS执行的命令是nvflash -b xxx.rom:

      再用NiBiTor导出该显卡BIOS,可以看见该显卡的Shader频率为1600MHz,我们将其修改为1728MHz,重命名后保存起来。

      接下来,我们将新的BIOS文件刷进显卡,DOS执行的命令是nvflash -4 -5 -6 xxx.rom:

      重启后进入Windows,使用Rivatuner进行查看,可以看到Shader频率已经变成了1728MHz,而核心/显存频率则保持不变。

    如何对Shader进行超频:Rivatuner

      通过修改显卡BIOS的方法对Shader频率进行超频的方法毕竟还是过于麻烦,而且风险也相对较高。不过,通过最新的NVIDIA Forceware驱动和Rivatuner可以在Windows下调整Shader频率的比率。

      目前最新版本的RivaTuner 2.04已经开始支持ShaderClockRatio的调整,据Rivatuner 2.04更新说明指出,它是通过调用NV新驱动的API接口来调整Shader频率比率的,目前只支持Vista的ForceWare163.67版,至于最新的163.69WHQL版本也可使用,但兼容性上不如前者。

      下面就来看看具体的操作流程:

      首先安装安装Forceware 163.67驱动和Rivtuner 2.04,重启进入系统后运行Rivatuner 2.04。打开硬件监控,可通过监控面板观察各种频率和温度的变化。

      在Power user高级用户页面里,找到Rivatuner NVIDIA Overclocking一栏,展开后就能到“ShaderClockRatio”的选项,双击该选项后就可以输入想要的比率。需要注意的是,Rivatuner 2.04中该选项的默认值是空的,表示超频时Shader频率不会随着核心频率变化,这一点有别于以前的版本。如果想要让显卡保持默认的联动状态,那么需要用户自行设定。

      设定好比率之后,并不会立即生效,需要打开超频选项,对核心频率进行调整才能让Shader频率按照新的比率波动。

      将核心频率随便提高几MHz,点击“Apply”后,就能在监控面板中发现流Shader频率会按照比率提升。

    测试平台

    测试说明

      · 在BIOS中,将关于C1E和EIST的选项设为Disable
      · 在BIOS中,将PCI Express的频率设为100MHz
      · 内存运行在标准的DDR2-800(即FSB:DRAM比率为5:6);
      · 内存小参[tCL-tRCD-tRP-tRAS-CMD]设置为4-4-4-12,Command Rate设置为1T,其他选项为主板“Load Optimized Defaults”状态下的默认值。

      测试的显卡我们选择了富士康的超频版GeForce 8600 GTS,该显卡的核心/显存/Shader频率为720/2260/1620MHz,远较公版GeForce 8600 GTS显卡的675/2000/1458MHz要高,同时它还具备一定的超频能力,可以很好地满足我们的测试意图。

    Shader频率对效能的影响

      我们知道,提高核心和显存频率后显卡的性能会得到提升,那么提升shader频率是否对性能有所提升,这个影响会有多大呢?下面我们对此进行测试。

      首先,我们在保持核心/显存频率不变的情况下,对Shader频率的比率进行调节,并测试由此而来的性能变化。

      可以看到,随着Shader频率的提升,测试的成绩也越来越高,为了更加直观地展示这种变化,我们抽取了部分成绩出来做成折线图:

      很显然,伴随着Shader频率的提升,性能也有着线性提升的趋势。

      接下来,我们只对核心频率进行调节,而保持显存/Shader频率不变,测试结果如下:

      为了更加清晰的表明Shader频率对显卡效能的影响幅度,我们将上述的测试成绩制作成下表:

      显而易见,核心频率和Shader频率提升相同的百分比,Shader频率带来了更大的的效能提升,由此可见,对于NVIDIA的GeForce 8600 GTS显卡来说,Shader频率对显卡效能的影响要远大于核心频率

    分析:提升Shader频率是提升性能的最有效的方法

      为了更进一步的说明上述关于Shader频率对显卡效能的影响要远大于核心频率的观点,我们做了一个有趣的测试。我们通过修改显卡BIOS将核心和Shader频率的比率调整为1:1.0125,然后再对核心频率进行软超频,由于核心和Shader频率的比率关系,Shader频率也会同步上升。最后,我们得到了1494/1512MHz的核心/Shader频率。

      1494MHz!非常惊人的核心频率,在目前市售的显卡当中,还没有任何一款显卡能有如此之高的核心频率!不过,这个惊人的核心频率是通过降低核心和Shader频率的比率、牺牲Shader频率而来的,最终在1494/1512MHz的核心/Shader频率下的3DMark06 1280×1024@32bit的得分仅为6190,比该显卡默认的720/1620MHz的6630分还低上不少。

      为什么会这样呢?核心频率提升了一倍多,仅是Shader频率降低了108MHz,性能却还下降了7%!

      在前面,我们进行过分析,在G8X中核心级硬件(流处理器)以超过流级硬件(TMU、ROP)两倍以上的时钟频率工作。如果我们改变核心硬件和流硬件的频率,将会对整个架构造成不同的影响。

      核心级硬件负责主要的算术运算功能,如果我们单纯的增加核心级硬件(流处理器)的频率,那么G8X的算术运算能力将得到提升。在当今游戏越来越依靠GPU算术运算性能的情况下,提升流处理器频率对于总体效能的提升具备极大的帮助。但是如果单纯的增加流级硬件的频率(TMU、ROP的频率,即核心频率),变化则不会太明显,因为访存单元的延迟本来就很大,游戏中它们成为瓶颈的可能性微乎其微。

      总的来看,由于G8X系列显示核心架构上的变动,现在的核心频率对整体3D性能的影响大不如前了,因为图形处理中最重要的着色过程已跟它毫无关联。并且由于对G8X进行整体超频所能达到的超频幅度有限,因此除非是较老的游戏,或者是CPU限制,否则直接提升Shader频率将是提升G8X性能的最有效的方法

    Shader频率对GPU温度的影响

    ATITool的Show 3D View对显卡的工作负荷相当之高,能让GPU发热量最大化。

      通常来说,频率的提升会导致功耗和温度的提升,哪么提升Shader频率后,会对图形显示核心的温度带来多大的影响呢?我们对此进行了测试,我们在保持显卡核心/显存频率不变的情况下,对Shader频率进行调整,然后使用ATITool工具分别读取系统空闲时和在“Show 3D View”高负荷状态下GPU稳定的温度。

      首先是默认状态下的温度:

      Shader频率1728MHz状态下的温度:

      Shader频率1836MHz状态下的温度:

      为了进一步验证Shader频率对GPU温度的影响,我们还找来了一片Foxconn GeForce 8800 GTS 640M进行测试。首先是在默认的频率下(Core 513MHz/Shader 1188MHz/Mem 1584MHz)的温度状况:

      接下来,我们保持核心频率513MHz不变的情况,将Shader频率超到了1620MHz,较默认的1188MHz提升了36%。从下面的测试截图中,我们可以看到,在待机状态下GPU的核心温度为55摄氏度,而满载状态下则为73摄氏度,和默认频率状态下的温度相比仅仅是待机温度提高了1摄氏度。

      我们将上述的测试结果整理如下所示:

      从上述的结果可以看到,单纯对Shader频率进行超频并不会带来GPU温度的显著变化,可以放心进行超频。

    核心频率和Shader频率的黄金比率?

      由于架构的不同,G8X上流处理器频率对整体性能影响更大,不过只是单纯增加核心级硬件(流处理器)的频率而流级硬件频率不予改动,也将造成双方速度差距的加大,因此实际上是拉大了延迟。虽然核心级硬件本身就被设计得对延迟不敏感(延迟被流处理架构隐藏了),但总的来说同步的提升所有部件的频率,获得的性能提升将是最大的。

      我们前面分析过Shader频率和核心频率之间的比率关系,因此追求极限性能的话,那就需要把Shader和核心频率同时提高到最高水准,此时就需要把Shader和核心频率的比率调到最合适状态。

      对于这个最佳比率的问题,不同的厂家有不同的见解,据耕升的技术资料显示,耕升的工程师认为显卡的核心和Shader频率比例为1:2.3是个黄金比率,这个比例下显卡产品性能将能领先竞争对手同类产品并超越公版,同时不会影响显卡的超频能力。另外还有个别厂商则认为1:2.15才是黄金比率,而NVIDIA对显卡厂商在这个比率上的设定是完全开放的。哪么对于消费者来说,是否真的存在这么一个黄金比率呢,哪一个的说法更加可信呢?

      我们对此进行了简单的测试,通过修改显卡BIOS的方式调整显卡的核心和Shader频率的比率,然后使用ATITOOL对显卡的核心频率进行超频,由于核心和Shader频率的比率关系,Shader频率也会同步上升。我们通过ATITOOL的“Show 3D View”高负荷测试对超频的稳定性进行验证,测试标准为通过“Show 3D View”10分钟测试。

      提示:ATITool的“Show 3D View”对显卡的工作负荷相当之高,能让GPU发热量最大化,其测试非常严格,是验证显卡超频后稳定性的最佳软件之一。我们的测试显卡的核心/Shader频率能超频到828/1620MHz并完成3DMark的测试,但是却无法通过“Show 3D View”测试。

      从上面的测试结果可见,在核心和Shader频率1:2.7的比率下,测试显卡在超频后拥有最高的性能,需要注意的是,1944MHz的Shader频率正好是该测试显卡的极限。

      为了进行更深入的验证,我们对另外一片Foxconn GeForce 8800GTS 640MB显卡也进行了测试:

      测试结果显示,对于该显卡来说,1:2.5是最佳的比率。

      对于上述的测试结果,无疑会令人感到混乱。的确,由于测试的取样样本数量有限,我们很难对核心和Shader频率的黄金比率问题下一个准确的结论,不过,显而易见的是,黄金比率是的的确确存在的,并且对于不同的品牌、型号的显卡产品来说,该比率存在个体差异,可以说是“因卡而异”,用户需要细细进行摸索。

    小结:显卡全新的超频世代

      通过上文的分析和介绍,相信大家对NVIDIA的流处理器架构和流处理器超频有了更深入的了解,同时也认识到如今Shader频率对显卡效能重要性。我们来回顾一下前面的测试结论,Shader频率对显卡效能的影响要远大于核心频率;提升Shader频率是提升性能的最有效的方法;对Shader频率进行超频并不会带来GPU温度的显著变化;核心频率和Shader频率间存在着黄金比率,该比率下超频后能让显卡效能最大化

      G8X系列图形核心崭新的统一架构和流处理器架构,彻底更新了我们对于显卡超频的观念,显卡超频不再仅仅只是核心频率和显存频率,还有更加重要、更加值得把玩的Shader频率。

      毫无疑问的是,Shader频率将会成为显卡上的焦点,越来越多的厂商已经认识到Shader频率的重要性,我们在市场上已经可以见到大量在Shader频率上大做文章的产品,并且NVIDIA下一代的nTune中提供直接超频Shader频率的功能,相信将会掀起新的超频热潮,毕竟相信大部分玩家都已经厌倦了只有核心和显存超频的模式了吧。

    ×
    热门文章
    1小米SU7正式发布,售价21.59万元起
    2TRYX创氪星系品牌发布会:推出AMOLED屏水冷及海景房机箱
    3小米SU7卖21.59万元只是交个朋友,配件才是真赚钱?
    4AMD Granite Ridge ES发货清单被发现:Zen 5架构6/8核心,TDP为150/170W
    5Xbox Series X白色数字版现身,微软打算在今年内发售
    6英特尔下代GPU进一步曝光:两款芯片,对标RTX 4070/4060
    7微星发布SPATIUM M580 FROZR:带有塔式散热器的PCIe 5.0 SSD
    8乔思伯推出新款HP-600下压式风冷散热器:12CM薄扇+回流焊6热管,售价179元起
    9技嘉发布Z790/B760主板新版BIOS:支持14代酷睿CPU关闭CEP功能
    欢迎参与评论,每一条合规评论都是对我们的褒奖。
    登录快速注册 后发表评论
    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明