|
|
发表于 2007-11-26 09:29:39
|
显示全部楼层
“对于反编译BIOS这部分,我这边帮不上忙。”
3 p0 b, ~& n( d% m- q
, v% a7 d/ I( l4 n7 b如果象你说的:“即使有源代码都是最难理解的东西”...这好象想法就不对吧,你都反编译BIOS了...
, [7 Y) W, S6 z% Z, c# e7 f8 h3 v, `9 x) N' K
我这里对Clock generator给CPU率频的原理大致说一下:
% L" @( o/ Z* }) z$ M/ o( @6 G$ Q1、CPU有FSB的Selection引脚,也就是说CPU的默认频率是通过自己的固定的几根Pin脚连到Clock generator的Frequency Select Pins上。! W! u7 I# O( F. E7 [
2、Clock generator上电收到CPU Power Good信号后根据Frequency Select Pins高低,来选择CPUs和FSB频率。
3 \, K+ x4 j! [* b+ R. G; h/ `9 a3、软件对Clock generator进行编程,以达到超频或降频跑的目的。
" [$ ]2 J+ u, N3 M3 P$ m2 w; U1 _ a} 初始化南桥SMBUS总线( a3 s' P3 \% F/ d. j3 {
b) 对Clock generator以它的Datasheet和HW连线功能进行编程,Clock generator的SMBUS地址一般为D2。( C* t* b# _) Y
c) 看CMOS值内有没有优化的选项,如果有,则按优化选项进行一次编程,编程一般会开启系统看门狗,几秒种后如系统无反应,那么就会跳变到安全值。不同BIOS/HW有不同的做法。: A1 ?0 u; w8 A& s6 I
& ] H. z/ c9 W: y+ u$ _2 G2 A5 y' n
如果说你要反编程BIOS来修改,这本身就是个人行为,如果是为了学习,还是得以了解原理为目的。
* z* C, [: D C9 `- H, _6 Z如果说CMOS值部分的问题:
3 R$ x) ~, K, y7 x( ^) T7 e7 Y! ~对于Check CMOS error提示出现时,Clock编程估计已经完成(看BIOS的做法),而且很多设定已经按BIOS设定好,虽然是错的(最坏的情况你还会开不起来机器),所以Check CMOS值错时,一般会让你做出选择,继续还是进CMOS Load default值再继续,特别是那种设置选项多的BIOS,象你的可以让用户调频率的BIOS,更要给出提示让用户选择,以警示。如果你想改到直接Load default,这个Default是什么值?你要弄清楚,不同的CPU有不同的外频,你的default是多少? |
|