查看: 53674|回复: 1

关于 100/200 系主板魔改支持 8/9 代 CPU 的一些原理级说明

   关闭 [复制链接]

 成长值: 369

新浪微博达人勋

  • TA的每日心情
    闭嘴
    2 小时前
  • 发表于 2019-11-11 18:01:13 | 显示全部楼层 |阅读模式

    新玩家您好,马上注册,结交更多好友,享用更多功能!

    您需要 登录 才可以下载或查看,没有帐号?注册SMXDIY 新浪微博登陆

    x
    本帖最后由 dsanke 于 2021-5-18 09:34 编辑

    0.写在前面
    本文仅针对官方支持 KBL 的 BIOS,最常见的那种,不是用 SKL 源码改上来的,也不是用 CFL 源码改出来的。
    那些 BIOS 的表现行为与本文不同,不具有参考意义,辨别方法看2L。
    这个帖子是供你们查漏补缺用的,讲清楚原理,这样你就能知道手里的 BIOS 到底能支持哪些 CPU,有没有修改完善了。
    对某些 OEM 厂商引入的其他改动(例如ASUS/MSI修改后还可能存在其他问题),此帖不做介绍,感兴趣的可以看看我写的其他帖子。
    此帖的内容可能跟我其他帖子有重复,但不会混淆,如果有概念不清的地方,建议多读几遍,善用搜索引擎。
    此帖欢迎转载,注明出处即可,避免无意义讨论,此处做关闭处理。

    1.ME FW
    我个人测试到版本号最大且能用的版本是 11.6.27.3264,这个是试出来的
    版本号后四位比这个更大的ME,试出来没有一个能用的,但是TXE似乎任意版本都行
    所以要将 ME FW 降级到这个版本之前,但 ME FW 11.0 无法支持 200 系 PCH(包括 Z370/H310C/B365),仅支持 100 系 PCH
    且 ME FW 11.0 搭配 KBL 及以后的 CPU,有最大内存容量的限制(一般是 16G 或者 32G,而非标称的 64G)
    如果 ME FW 版本过高,搭配 8/9 代 CPU 时,开机转一下就停,ME FW 版本过低,内存容量会只识别一半
    推荐版本:11.7.0.1261(能正常使用的情况下,不建议对 ME FW 进行处理,原版本是什么就用什么)
    注:永远不要使用 UEFITool 或各类十六进制编辑器直接替换 ME Region,除非你很清楚地知道这样做的后果
    参考阅读:
    https://www.win-raid.com/t596f39 ... p-System-Tools.html
    https://www.win-raid.com/t832f39 ... e-Repositories.html
    https://www.win-raid.com/t1658f3 ... Initialization.html

    2.CPU Strap
    主板搭配 8/9 代非 B0 步进的 CPU 时,会对 Flash Descriptor 内 Offset 0x307h 处的数据与 0x20h 做 and 操作,结果为 0 就不启动(例如 0x80h and 0x20h = 0x0h,0xA0h and 0x20h = 0x20h ≠ 0x0h)
    修改方法也很简单,将这个字节的数据与 0x20h 做 or 操作,结果写回去即可(只需要改动这一个bit,改多可能会引入其他问题,但具体有什么影响,没找到公开的文档说明)
    0x307h.png
    如图所示,就是校验这一位(bit)是否为1,结果为否,就无法启动非 B0 步进的 8/9 代 CPU
    这个也是试出来的,最初是用 FIT 改 SKU 为 Z370(需注意,直接用 FIT 修改 SKU,会造成部分选项被重置,若真的需要修改 SKU,请保存 XML 以后,在 XML 文件内修改,再重新打开 XML),后来对比华擎给 Z170 OCF 发布的 BIOS,找到了此处不同
    如果此处未修改,搭配 8/9 代非 B0 步进的 CPU 时,开机转一下就停
    这里放两个 GIF 演示一下如何用 Windows 计算器来执行 or 操作:

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图


    3.核显相关,如果你不需要核显(例如无核显的CPU或主板,或压根用不到核显)可以忽略
    不同代的 CPU 需要的 vBIOS 和 GOP 版本不同,版本低了核显就用不了,表现为核显开机无显示输出,甚至卡在自检阶段
    要核显正常工作,只需要按照教程更新即可,这些都是向下兼容的,更新到最新之后,一样能兼容最老的 CPU
    具体某型号 CPU 需要的最低版本是多少,我没统计过,无法回答。若不清楚你将来要用什么 CPU,建议更新到最新。若核显可以正常使用,则没有更新此处内容的必要。
    建议版本:
    OROM vBIOS:1062
    OROM GOP:9.0.1107
    GOP VBT:228
    若 GOP VBT 无法更新,则 GOP 建议版本为 9.0.1080
    参考阅读:
    https://www.win-raid.com/t905f13 ... Intel-BMP-tool.html
    https://www.win-raid.com/t5360f1 ... Driver-modules.html

    4.微码(CPU Patch/Microcode/uCode)
    无微码时,CPU 的 C 状态会不正常,且有可能无法启动,所以,需要用某步进的U,就需要添加某步进对应的微码,没什么好说的,缺微码一般会开机卡在自检阶段(通常是Port 0x80h Debug Code 0x18h),也有卡在开机LOGO或自检过程中就断电的,
    或者开机频率、温度不正常,AIDA64的内存测试也跑不了,数据全是0
    注意,UEFITool 0.25.1 及 0.26.0 在我的测试中,操作微码时,会破坏 PEI Volume,0.25.0 及更早版本没问题,可能是个例,但我个人不推荐使用此软件的高版本,此处有对此 BUG 的讨论,我也给出了能凑合使用高版本 UEFITool 的修改方法。
    BIOS 内的容量不是无限的,有些时候就是放不下太多微码,够用就行,毕竟你一次也只能安装 1 颗 CPU。
    参考阅读:
    https://www.win-raid.com/t4032f1 ... g-UEFITool-Hex.html
    https://github.com/platomav/CPUMicrocodes/tree/master/Intel

    5.PCIE相关
    BIOS内的 PlatformInit/SiInit/PlatformInitPreMem/SiInitPreMem 这 4 个模块内有校验 System Agent 硬件 ID 的地方,若此 ID 不在白名单内,CPU 直连的 PCIE 会不工作(系统和BIOS内你都看不到),有时还会直接卡在自检阶段,且点亮进系统了也会造成频率/电压等不正常,但接在 PCH 上的 PCIE 是正常的
    所以需要跳过此处对这个 ID 的校验,可以看看下面链接的帖子学习
    参考阅读:
    https://www.win-raid.com/t3483f1 ... k-motherboards.html

    6.最大线程数限制
    CpuMpPei内写死了最大 8 线程,处理之后(就是将此模块处理到允许最大 16 线程),大部分 BIOS 可以支持到 12 线程,小部分可以支持到 16 线程,也有一部分还是 8 线程,这是因为在 PlatformInitPreMem 还有额外的限制,一并修改之后就可全部 16 线程。
    另外 ACPI 表内也只写了 8 个逻辑处理器,需要补全,否则睿频会不正常,且设备/任务管理器里面也只有 8 个逻辑 CPU
    超过线程数限制,表现为反复重启、或者卡在自检阶段、卡在开机LOGO等
    具体修改方法可以看下面帖子学习
    参考阅读:
    https://www.win-raid.com/t3835f1 ... therboards-Z-Z.html
    https://www.win-raid.com/t8884f1 ... l-s-mainboards.html

    7.ACPI修复
    接上一条,BIOS内置的DSDT和SSDT仅写了8个逻辑处理器,搭配超过8线程的CPU时,会造成下列一个或多个问题(当然是进入系统以后了,过不去自检不是这里的问题):
    CPU没有睿频功能,或最大睿频只能到全核睿频,再高上不去;
    任务管理器“性能”中显示的CPU频率永远是CPU默频(不论实际频率是多少);
    设备管理器里的CPU个数最多是8个(不论实际有多少个)。
    那么解决办法自然就是补齐它们,300系主板的BIOS里面都是16个,我们一般补到16就够用了。

    8.针脚修改
    针脚定义,6/7代与8/9代B0步进的一样,8/9代非B0的一样
    由于检测CPU是否安装的针脚发生了变化,所以为了正常启动,需要短接,部分主板没这个检测,所以不用短接
    测试的初期阶段直接上机导致有烧针烧供电的情况出现,所以建议屏蔽对应的脚位,后期又对比文档,弄清楚了这些点位到底是干什么用的,也知道了烧针的原因
    不短接,在带有检测的主板上,表现与不安装CPU一样,一般是风扇高速转或者风扇不转
    不屏蔽,非技嘉主板一般烧断两根针,部分技嘉主板会烧断一相VCORE供电,但有的主板没问题
    这个是破坏性实验,所以没做多少,也许有很多主板都没事,但是我不建议冒这个风险去试
    参考阅读:
    https://www.intel.com/content/da ... datasheet-vol-1.pdf
    https://www.intel.com/content/da ... datasheet-vol-1.pdf

    9.重置CMOS
    刷完BIOS,务必拔掉24PIN供电,短接CLR_CMOS之类的跳线(不同品牌主板名称不同,你知道是这个意思就行)半分钟以上,或者移除CMOS电池半分钟以上,再装回去
    如果不重置,可能会出现开机转一下就停、开机直接不通电、进系统之后频率不正常、蓝屏死机等问题
    虽然有人忽略这一步也能正常使用,但我强烈建议这个操作要做,以避免可能出现的问题

    评分

    参与人数 5分享指数 +39 战斗指数 +49 收起 理由
    查无此人 + 10 + 10
    tieniugsq + 9 + 9 神马都是浮云
    Liuhui_keep + 10 + 10 很给力!
    REDGRAGON + 10 + 10 很给力!
    pzhlkj6612 + 10

    查看全部评分

    本帖被以下淘专辑推荐:

    SmxDiy温馨提示:如有遇到疑问可以使用论坛的搜索功能解决。 或者在对应板块发帖求助。
    本站所有帖子均由相应的发帖人发布,本站仅供交流,如有不妥之处可以联系我们处理,同时帖子版权由发帖人所有,如需转载请联系发帖人。

     成长值: 369

    新浪微博达人勋

  • TA的每日心情
    闭嘴
    2 小时前
  •  楼主| 发表于 2020-2-23 17:29:59 | 显示全部楼层
    本帖最后由 dsanke 于 2020-11-29 10:36 编辑

    主楼提到了”不是用 SKL 源码改上来的,也不是用 CFL 源码改出来的“这句话,我来解释一下这是什么意思
    大部分华擎100系主板,那些PCIE都不用修复的,这种就是典型的 SKL 源码改上来的 BIOS,特征是 BIOS 内没有 CpuMpPei 模块,且又能支持 7 代 CPU
    华硕100系的2xxx版本,以及超微大部分的C232、C236也是这样,不过超微和华硕没有像华擎那么暴力,直接把校验(就是PCIE的这个,上文有提到)移除了
    所以它们上8/9代CPU的时候还是要修复PCIE
    这种BIOS的另一个特点是,没有8线程限制,可以直接兼容到16线程,还保留了对6代ES的兼容能力
    总结:1L提到的 CpuMpPei 不存在,自然无需修复,其他与1L提到的内容一致

    有一些主板的BIOS,里面直接就带了906EA之类的8代微码,很有可能就是CFL的源码改出来的,也就是这主板的BIOS本来就能支持8代
    这种的典型特征是 DSDT 里面的 CPU 不是 CPU0 到 CPU7 这样,而是 PR00 到 PR15,而且 BIOS 里面直接有 8 个核心的选项
    这种 BIOS 一般直接就能支持到 12 线程,少部分直接就是 16 线程的,具体还要看 CpuMpPei 里面的代码是怎么写的
    如果是限制到 12 线程,大部分情况下修改 CpuMpPei 就能跑到 16 线程了,但是有些仅修改 CpuMpPei 是不行的,和主楼第6条一样的原因
    这种 BIOS 的另一个好处是 ACPI 也不用修复了,不过有时候 vBIOS 和 GOP 的版本还是太低,要手动升级上去
    且由于源码太老,对于新的8/9代CPU,PCIE一样要修复,且 movax 的工具没有对这些 BIOS 做适配,所以要手动修复,没有自动工具。不过知道原理就不难,要修改的位置都是一样的
    总结:不需要修复 ACPI,大部分情况(用4/6核CPU时)不需要修复 PCIE,甚至大部分情况下,按1L检查一下 CPU Strap 即可完美使用 4/6 核 CFL CPU
    但2/8核心CPU的支持,可能要手动修改,没有现成的工具和手把手教程

    还有一些BIOS的PCIE部分是官方魔改过的(例如华硕100系的3805/3806,铭瑄梅捷H311等),但不是直接移除了校验,而是将8代部分CPU添加进了白名单,
    这类BIOS就容易搭配双核或者八核时没有PCIE,同样还是修PCIE就行
    而且这种BIOS除了白名单多了几个ID外,跟主贴提到的没区别,该怎么改还怎么改
    总结:大部分情况(用4/6核CPU时)不需要修复 PCIE,甚至大部分情况下,按1L检查一下 CPU Strap 即可完美使用 8 线程内 4/6 核心的 CFL CPU,其他情况与1L提到的内容一致
    SmxDiy温馨提示:如有遇到疑问可以使用论坛的搜索功能解决。 或者在对应板块发帖求助。
    本站所有帖子均由相应的发帖人发布,本站仅供交流,如有不妥之处可以联系我们处理,同时帖子版权由发帖人所有,如需转载请联系发帖人。
    您需要登录后才可以回帖 登录 | 注册SMXDIY 新浪微博登陆

    本版积分规则

    Smxdiy与你快乐分享

    关注公众号

    Copyright © Smxdiy (Kaying-Inc) . Powered by Discuz! ( 浙ICP备20004418号-2 ) 浙公网安备 33060202000778号 |Sitemap
    快速回复 返回列表 返回顶部