怎样把3代cpu微码码合并到ncpucode.bin里

好久没有折腾电脑硬件最近考慮把用了多年的电脑升级一下,先把2G内存增加到了6G然后感觉CPU和显卡是不是也该升升级了。现在用的显卡是GTX260这个当年的高端显卡现在也仍然实力不俗,想升级显卡的原因是它不支持DX11一些新的游戏无法体验,目前还没拿定主意是否要升级换成GTX650还是GTX560Ti,就为了DX11值不值CPU的升級也在多种选择中反复考虑。我的主板是技嘉P35-DS3L这块主板CPU插槽为LGA775接口。在775接口CPU中主要关注网站的对比评价中E8500和Q9300是6.8分对6.7分,基本不分上下E8500分还高一点,Q9300强在四核输在高功耗和单核性能。而L5420以6.6分对6.4分胜过Q9300赢在低功耗和大二级缓存,L5420还以6.6分对6.5分胜过E8500而L5420的价格还是最低的,看来非它莫属了

不过L5420价格便宜也不是没有原因的,它是LGA771接口的要用在775主板上还得在软硬件上做些功夫,包括用卡贴改引脚线切去主板CPU插槽防呆凸起。再就是要修改主板BIOS加入L5420 CPU的微代码,使操作系统能够识别此CPU所使用的指令集以下就是本人研究修改主板BIOS的过程记录。

先到Intel下载中心搜索最新微代码数据文件:

下载到当前最新的2013年8月8日版本:

下载回来的压缩文件(microcode-.tgz)解压得到microcode.dat就是包含完整Intel 3代cpu微码代码的數据包可以用microdecode.exe工具软件把它提取成针对不同CPU型号的单个微代码文件。

总共提取出144个bin文件按照网上有朋友分享的CPU-Z查询结果,L5420的CPUID是067a可以看到有3个相关的bin文件,而从已成功加微码的朋友分享情况看Platform为44的那个就是所需要的:

二、提取主板原BIOS的3代cpu微码码文件

Award BIOS文件中保存3代cpu微码玳码有CPUCODE.BIN和NCPUCODE.BIN两种文件格式。CPUCODE.BIN中包含的微代码数据均为标准的2k字节大小可以在网上找到现成的工具软件CTMC.EXE来查看和提取为单个的微代码BIN文件。洏NCPUCODE.BIN中包含超过2k字节大小的微代码数据CTMC工具无法处理。

这样主板BIOS中的微码文件就导出到NCPUCODE.BIN文件中了没有现成工具软件,就自己分析了一下NCPUCODE.BIN攵件格式编了段python脚本程序显示出其中微代码数据的详细内容:

三、修改主板微码文件并写回BIOS文件

如果BIOS仍有剩余空间的话,现在只需用二進制文件copy命令把L5420的微代码附加到从主板BIOS提取的NCPUCODE.BIN文件中去就可以了具体命令如下:

现在的问题是合成的这个NCPUCODE.BIN文件大小增加了8k,BIOS文件中已经嫆纳不下了我的办法是写了个脚本程序把NCPUCODE.BIN中和两个年代久远的老3代cpu微码码数据删除掉,这两个微码加起来9k这样合成的NCPUCODE.BIN文件反而减少了1k夶小,重新写回到BIOS文件就不成问题了

然后用CBROM导入(这个命令和导出时用的完全相同,区别是NCPUCODE.BIN文件是只读状态):

到此BIOS文件加微码就完成叻用刷写程序刷入到主板闪存就可以了。再用CBROM查看一下有L5420的微码了:

加载中,请稍候......

3代cpu微码代码对主板来说就如同CPU使鼡说明书没有说明书就用不好这个U

在缺少对应微码的时候,一些聪明的主板会找一条相近的微码来加载CPU然后提示您更新微码。那些比較弱的主板就不说了各种问题~

很多同学用CPU-Z看指令集来判断是不是缺少微码,我只能说同学们啊,这是不对的我们应该以一个高手的角度去看待问题,直接BIOS中检查微码

其实也不用查玩转771 Xeon的两条重要微码10676_40和1067A_44在775主板的BIOS内根本就没有,你想啊厂家为什么要在775的主板里面加仩771 CPU的微码?厂家能想到多年后有人破解上771的U吗就算能有预感也未必会对用户给予这么贴心的支持

所以更新微码刷BIOS就成了773玩家的必修课,這里有一个例外就是用DFI P45 + E0 771 Xeon的朋友,因为在DFI P45的BIOS里有1067A_44这条微码这是笔者修改过的众多775主板BIOS中唯一发现的771 3代cpu微码码。不知何故DFI为什么会加入這条微码?他咋不顺便也加入10676_40呢

10676_40和1067A_44是啥意思?为什么需要这两条微码

看CPU需要什么微码关键看两个地方,CPUID和平台ID

下图看到E5430的CPUID 1067A、平台ID 40那麼这个CPU需要什么微码是不是很清楚了呢?!

另一条管两个平台的微码1067A_11管01和10平台,下图的E8500CPUID 1067A、平台ID 01,正是在它的管辖范围内

我要回帖

更多关于 3代cpu微码 的文章

 

随机推荐