找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 9034|回复: 2

开机load 优化值的巧妙方法

[复制链接]
发表于 2007-11-25 02:14:22 | 显示全部楼层 |阅读模式
前段时间帮朋友修改一个 盈泰 bios, K8 AM2 主板,要锁定cpu 外频(如190MHZ,220MHz),
: Z  z# D: ^5 L* {0 N1 u3 N' E" Wmod 修改缺省就可以了,但不进cmos 存盘一次出来,它 仍然跑200MHz,特别是清cmos 后,按F1 进入绝对是跑200MHz。4 _* Q; B; V* q5 B: r/ G# @

& P* ?4 Z8 b0 p" X第一次用一个很笨的方法,检测到是 cmos error , 就直接进入cmos,等待用户自己退出cmos,如果存盘就ok 了。3 s; r- ]' X- `1 h; o
3 n4 s; _' i3 G
今天,一个朋友帮我弄一个PIII bios,清理思维,发现一下方法更巧妙,8 E! Z1 {1 ~, j# @% q: G1 m, |! `5 S  m
1。检测到是 cmos error , 就软件复位一次,自然消除' \9 |- C% G5 y+ g
2。第二次启动好像自己 load 优化值了" R  D! @* {3 ]

, ~+ c, I8 }5 O6 Q5 _) j; c; s: c4 o这里请教高手,
- e% y+ L. v7 t9 _8 p1。award bios 在哪里load 优化值, ami 呢?
# L: n5 [. V+ X' u: `1 G; y7 L   就是说,检测到 cmos error, 不复位,而是直接load 优化值,怎么做? 不要进cmos 存盘!
6 X! M0 k8 z$ B" p2 J3 c2。有些 K8 bios 外频选项是 150~300MHz, 有些是200~450MHz,
7 |6 F4 s' n1 H   如果不用mod 改缺省(仍然是200MHz),比如 想设置220MHz,让bios load 优化值时候,偷偷修改为 220MHZ,0 v0 Q. I0 q* a3 X7 h2 D4 b$ W
   因为,每个时钟芯片操作都是不一样的,即使有源代码都是最难理解的东西,
4 M' ?1 f  Y+ F2 D7 ?5 Y# @    所以,我们判断的地方应该是程序比较那个外频可选的范围的地方,
) R* R- P: J' P! m9 \    就是说,mod 设置的外频缺省为 200MHz, load 优化值时就把  200 存到某个单元,然后调用设置时钟的子程序,
& S, K% u4 k2 ~, m( d    现在,我们并不mod 外频,仍然是 200MHz, 我们能不能把那“某个单元”修改成 190, 或者 220,. n0 {! h8 o% Z/ F2 R: N
    这样,我们就可以不管时钟芯片的差异。
发表于 2007-11-26 09:29:39 | 显示全部楼层
“对于反编译BIOS这部分,我这边帮不上忙。”
$ `% k# X) D2 o# b8 o
+ ^; u0 i1 U  P/ p6 l如果象你说的:“即使有源代码都是最难理解的东西”...这好象想法就不对吧,你都反编译BIOS了...$ q1 m7 z# g! ?- ~+ r: L

' H  s- `2 x$ y' t" w  z我这里对Clock generator给CPU率频的原理大致说一下:
$ H& p% P2 _# e' a& f4 r1、CPU有FSB的Selection引脚,也就是说CPU的默认频率是通过自己的固定的几根Pin脚连到Clock generator的Frequency Select Pins上。+ B  v! C" c. Z( E. I. `6 \! H
2、Clock generator上电收到CPU Power Good信号后根据Frequency Select Pins高低,来选择CPUs和FSB频率。( c. {3 I( i9 k) t" P. |: l5 c, p
3、软件对Clock generator进行编程,以达到超频或降频跑的目的。2 I) M- B) J  B1 k) g5 a
    a} 初始化南桥SMBUS总线
/ Z; I4 u( X3 C    b) 对Clock generator以它的Datasheet和HW连线功能进行编程,Clock generator的SMBUS地址一般为D2。9 ^! i: I8 M. ^" Z8 M4 o+ H& W
    c) 看CMOS值内有没有优化的选项,如果有,则按优化选项进行一次编程,编程一般会开启系统看门狗,几秒种后如系统无反应,那么就会跳变到安全值。不同BIOS/HW有不同的做法。) [3 N+ C, f/ a; q0 l
! @0 h! C+ v$ E. |0 v* O; x  [
如果说你要反编程BIOS来修改,这本身就是个人行为,如果是为了学习,还是得以了解原理为目的。9 z" n' C# i/ p) S0 b
如果说CMOS值部分的问题:' l  R4 |" U2 l
对于Check CMOS error提示出现时,Clock编程估计已经完成(看BIOS的做法),而且很多设定已经按BIOS设定好,虽然是错的(最坏的情况你还会开不起来机器),所以Check CMOS值错时,一般会让你做出选择,继续还是进CMOS Load default值再继续,特别是那种设置选项多的BIOS,象你的可以让用户调频率的BIOS,更要给出提示让用户选择,以警示。如果你想改到直接Load default,这个Default是什么值?你要弄清楚,不同的CPU有不同的外频,你的default是多少?
回复

使用道具 举报

发表于 2008-1-14 16:38:21 | 显示全部楼层
有源代码就看咯,, M' w% \0 l, Z
找关键字,关于setup不同情况下load值的判断,没那么难的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 02:51 , Processed in 0.069983 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表