Andyxie 发表于 2007-11-25 02:14:22

开机load 优化值的巧妙方法

前段时间帮朋友修改一个 盈泰 bios, K8 AM2 主板,要锁定cpu 外频(如190MHZ,220MHz),
mod 修改缺省就可以了,但不进cmos 存盘一次出来,它 仍然跑200MHz,特别是清cmos 后,按F1 进入绝对是跑200MHz。

第一次用一个很笨的方法,检测到是 cmos error , 就直接进入cmos,等待用户自己退出cmos,如果存盘就ok 了。

今天,一个朋友帮我弄一个PIII bios,清理思维,发现一下方法更巧妙,
1。检测到是 cmos error , 就软件复位一次,自然消除
2。第二次启动好像自己 load 优化值了

这里请教高手,
1。award bios 在哪里load 优化值, ami 呢?
   就是说,检测到 cmos error, 不复位,而是直接load 优化值,怎么做? 不要进cmos 存盘!
2。有些 K8 bios 外频选项是 150~300MHz, 有些是200~450MHz,
   如果不用mod 改缺省(仍然是200MHz),比如 想设置220MHz,让bios load 优化值时候,偷偷修改为 220MHZ,
   因为,每个时钟芯片操作都是不一样的,即使有源代码都是最难理解的东西,
    所以,我们判断的地方应该是程序比较那个外频可选的范围的地方,
    就是说,mod 设置的外频缺省为 200MHz, load 优化值时就把200 存到某个单元,然后调用设置时钟的子程序,
    现在,我们并不mod 外频,仍然是 200MHz, 我们能不能把那“某个单元”修改成 190, 或者 220,
    这样,我们就可以不管时钟芯片的差异。

bini 发表于 2007-11-26 09:29:39

“对于反编译BIOS这部分,我这边帮不上忙。”

如果象你说的:“即使有源代码都是最难理解的东西”...这好象想法就不对吧,你都反编译BIOS了...

我这里对Clock generator给CPU率频的原理大致说一下:
1、CPU有FSB的Selection引脚,也就是说CPU的默认频率是通过自己的固定的几根Pin脚连到Clock generator的Frequency Select Pins上。
2、Clock generator上电收到CPU Power Good信号后根据Frequency Select Pins高低,来选择CPUs和FSB频率。
3、软件对Clock generator进行编程,以达到超频或降频跑的目的。
    a} 初始化南桥SMBUS总线
    b) 对Clock generator以它的Datasheet和HW连线功能进行编程,Clock generator的SMBUS地址一般为D2。
    c) 看CMOS值内有没有优化的选项,如果有,则按优化选项进行一次编程,编程一般会开启系统看门狗,几秒种后如系统无反应,那么就会跳变到安全值。不同BIOS/HW有不同的做法。

如果说你要反编程BIOS来修改,这本身就是个人行为,如果是为了学习,还是得以了解原理为目的。
如果说CMOS值部分的问题:
对于Check CMOS error提示出现时,Clock编程估计已经完成(看BIOS的做法),而且很多设定已经按BIOS设定好,虽然是错的(最坏的情况你还会开不起来机器),所以Check CMOS值错时,一般会让你做出选择,继续还是进CMOS Load default值再继续,特别是那种设置选项多的BIOS,象你的可以让用户调频率的BIOS,更要给出提示让用户选择,以警示。如果你想改到直接Load default,这个Default是什么值?你要弄清楚,不同的CPU有不同的外频,你的default是多少?

China 发表于 2008-1-14 16:38:21

有源代码就看咯,
找关键字,关于setup不同情况下load值的判断,没那么难的。
页: [1]
查看完整版本: 开机load 优化值的巧妙方法