MCPLive > 杂志文章 > 修改BIOS、提升超频性能

修改BIOS、提升超频性能

2013-02-04张夷捷《微型计算机》2013年1月下

NVIDIA Kepler系列显卡让玩家又爱又恨:虽然性能出众,但BIOS对诸多参数特别是核心电压进行了限制,无法在正常情况下通过软件来提升核心电压,进而提升显卡的超频性能。对于这种限制,我们应该如何解决呢?

修改BIOS、提升超频性能

Step by Step 手把手教你修改BIOS

NVIDIA Kepler系列显卡和以往的显卡相比,核心电压等和超频相关的一些参数都无法通过软件来更改。显然,我们需要通过一些特别的方法来打破这种限制。事实上,本刊曾经多次介绍过使用NiBiTor软件对NVIDIA显卡的BIOS进行修改,从而破解电压上限超频的方法。但由于Kepler系列显卡的BIOS文件结构与以往有较大差异,因此NiBiTor等软件至今都不能支持Kepler系列显卡的修改。不仅如此,Kepler系列显卡较以往的产品除了有核心电压、风扇转速可调范围等限制外,还有一个能明显影响超频能力的参数:功率(也就是我们在超频软件中看到的Power Target选项),这使得Kepler系列显卡的超频变得更加复杂。难道我们就只能等待软件的更新、再进行BIOS的修改吗?事实上,NiBiTor自今年5月21日升级到6.06版本后就一直未曾更新了。因此我们唯有“自己动手,丰衣足食”。

经过笔者的研究及实践发现,完全可以通过修改Kepler系列显卡的BIOS文件来破解Kepler系列显卡的诸多限制。本文将以公版GeForce GTX 680以及华硕GTX660Ti DC2T显卡为例,为大家讲解如何通过16进制编辑器直接修改Kepler系列显卡的BIOS文件,以此释放显卡的潜力。

Step 1:保存BIOS文件

1. 执行“开始菜单→所有程序→附件→命令提示符”的操作,并跳转到nvflash软件所在的位置。

2.输入nvflash-bgtx680_org.rom读取出原始的BIOS文件,其中“xxx.rom”为自定义的文件名,比如gtx680_org.rom等。执行命令后稍等片刻,看到“Savingofimage completed”字样就表示保存成功了(图1)。为防止意外情况发生,一定要备份原始的BIOS文件。

Step 2:开启HxD软件,导入保存的BIOS文件进行编辑

就笔者目前的实践来看,GTX 680、660Ti可以修改的参数主要有:风扇转速可调范围、功率限制、高核心电压、显存频率、核心频率。两款显卡的修改方法基本相同,只是各参数值存储的位置不一样。下面将以公版GTX 680显卡为例进行修改,并在后的表1中列出GTX660Ti参数的具体修改方法。

1.修改风扇转速可调范围

在默认状态下,公版Kepler显卡把风扇转速的可调范围限制在30%~85%左右。破解的方法非常简单,定位到0x810A和0x810B单元格(图2),分别对应低转速和高转速),里面的数值分别为0x1E和0x55(分别等同于十进制的30和85)。为了获得好的散热性能,笔者把大转速修改为100%,也就是将0x810B单元格改成0x64。至于低转速,可以稍微降低一些,这里把0x810A的值改成0x14,对应20%转速。

2.修改功率和Power Target

定位到0x80A6单元格(图3),可以看到连续的三个数值:10 98 02。根据little-endian的原则,这三个值实际代表0x 029810,笔者把它转换成10进制即170000。没错,这里的170000就是GTX680的100%功率(单位:毫瓦),即170W。类似的,笔者把从0x80AA地址开始的三个值E86E03倒过来变成0x036E E8并转换成10进制得到225000(毫瓦),这就是BIOS定义的大功率。由于225000/170000=132%,因此我们在使用超频软件超频时只能把Power Target值拉到132%。也就是说,我们只要修改这两个数值就可以提升GTX 680的功上限。比如把10802改为90D003(0x 03D090=250000), E86E03改为05B8D8(0x D8B805=375000),时我们在软件中看到的Power Targe100%就对应250W,大可以拉150%也就是375W,这个数值对于冷超频来说足够了。

另外对于GTX 660Ti的BIOS,笔者还可以修改“输入功率”限制(后面的测试可以看到,GTX 680也有这样的限制,只是笔者还没有找到解决方法),如图4,只要把4个框内的数值改大就能提升输入、输出功耗上限。只不过笔者手上这款硕GTX 660TITOP显卡的BIOS认功耗值本来就大大高于公版GT 660Ti,在超频过程中并没有遇到发输入、输出功率上限,进而影响超频幅度的问题,因而可以不用修改。但是对于公版GTX 660Ti来说,在保证散热的前提下还是可以适当提升这四个数值的。

3.破解高电压到1.2125v

如图5 ,只要将绿框中的四处308C11(0x118C30,对应1150000uV)改为54 80 12(0x12805对应1212500uV),同时把蓝框中的处E079AF(11500000)改为4803B(12125000)就能获得1.2125V的核电压。为什么不能将核心电压改得更呢?这是因为1.2125V是硬件限制的高电压,在不进行硬改的条件下我们是没有办法突破这个限制的。

4.修改显存频率

如图6,GTX 680的显存频率是根图中两个蓝框中的数值决定的。这两个10进制以后看不出和显存频有什么关系,不过笔者经过摸索找出了以下一些常见组合,修改后就能提高显存运行频率。

BC4B :默认1502MHz( 等效6008MHz)

804C:1600MHz(等效6400MHz)

644D:1710MHz(等效6840MHz)

204E:1800MHz(等效7200MHz)

另外我们也可以修改核心频率和GPU Boost频率。不过由于GPU Boost功能的特性,核心的实际运行频率一般都会比BIOS设定的要高,甚至会超过标称的GPU Boost频率,因此直接修改这两个参数的意义不大。当然,如果你为了在GPU-Z里面获得一个漂亮的参数截图的话,则另当别论。图7中,蓝框和绿框分别是GTX 680的GPU Boost频率、默认频率。不过其中的数值换算过来是我们在GPU-Z里面看到的2倍。比如蓝框中的0x0845=2117,除以2刚好就是GTX680的Boost频率:1059MHz。

在这里,我们不妨研究一下Kepler系列显卡的GPU Boost功能是如何影响频率的。首先我们要知道,Kepler系列显的核心频率不像以往产品那样可以进行逐MHz的调节,而是类似于C PU频率的调节方式:基频×倍频,这里的基频为13M Hz。因此GPU Boost功能在运行的时候是以13MHz为1挡进行增减的。于大能增大到多少则是由BIOS中的上限电压和频率表共同决定的。之前笔者并没有修改频率表(因为修改起来很繁琐,而且这个作用可以由超频软件中的增加频率offset来代替),只提升了高电压。在后面的测试中我们将会看到解锁电压对高GPU Boost频率的影响。

那么究竟是哪些因素在影响GPU Boost频率的运行呢?它们是温度和功耗,在3D模式下,只要没有达到温度或者功耗上限,GTX 680显卡就可以一直运行在高GPU Boost频率。反之,一旦触及了温度或者功耗上限,GTX 680显卡会自动降低1挡频率。如果降低一档频率后,GTX 680仍然达到了功耗、温度上限,那么它的频率会继续降一挡,以此类推。

Step 3:重新计算文件的checksum校验值,并生成终可用的BIOS文件

需要说明的是,按照上文修改后的BIOS文件是不能直接使用的,因为显卡的BIOS文件中都有一个单元用来存放文件的校验码。修改后的文件与校验码不匹配,此时如果强行刷入这个BIOS,会导致系统出现黑屏、无法开机的情况。唯一的解决办法就是重新计算并填入文件的校验码,因此下面的步骤非常关键。

1. 点击HxD软件的Edit菜单→SelectBlock(图8)

2.进入SelectBlock对话框,在“Start-offset”栏输入400,“End-offset”栏输入FFFF后点击“OK”(图9)。

3 . 右键→ Copy( 或者直接“Ctrl+C”)复制选中的文本(图10)点击File→New(或者Ctrl+N)创建一个新文件,把复制的文本粘贴到这个新文件中,并保存为“checksum_fix_tmp1.rom”(图11)。

4.开启Ni BiTor6.06软件,导入刚才创建的checksum_fix_tmp1.rom文件。这时候NiBiTor会弹出Device unknown(无法识别的设备)错误对话框。不用担心,连续点击O K忽略一切弹出的错误提示,直到不再弹出错误对话框后把文件另存为checksum_fix_tmp2.rom。注意这里要选择File-Save Bios来保存,而不要用Save without checksum(图12)。

5 . 回到H xD软件中,打开刚刚用Ni BiTor保存的check sum_fix_tmp2.rom文件,全选(Ctrl+A)并复制(Ctrl+C)(图13)。

6.切换到先前打开的gtx680_org.rom文件,此时0x400至0xFFFF单元格还处于选中(高亮)的状态,直接把checksum_f ix_tmp2.rom中的全部内容粘贴过来。后把这个文件另存gtx680_mod.rom,整个修改的过程就完成了(图14)。

Step 4:刷入修改过的BIOS文件

重新进入命令行模式并跳转到nvflash所在的文件夹,使用nv f l a s h-4-5-6 g t x680_m o d.r o m命令进行刷新。期间会有“Press‘y’toconfirm” (按y键确认)的提示,等出现“Update successful”字样后就可以重启系统了(图15)。

值得注意的是,部分显卡品牌的产品(比如华硕)默认开启了BIOS的写保护机制,在执行刷新命令后会出现错误提示。这时只要运行“nv flash--protectoff”命令解除写保护再刷新就好了(图16-1、16-2)。

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

Step by Step 手把手教你修改BIOS

分享到:

用户评论

用户名:

密码: