|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:+ n8 R' n' E* [5 |8 C2 F; ^
4 }) _9 ~, ^0 @8 ^3 d- e
CPU總頻率 = CPU外頻 X CPU倍頻
# F1 i1 T; q: ]! p) n* R5 s- k+ o) i& u4 w4 N r4 s5 C! `7 c
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:" S7 i! ?8 f% X; K1 K
! [# P& a$ u# A: \* ~( t, I. _ 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
. Q% o6 z$ R/ X0 o" ^+ J補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中: x" q7 v. n6 R
1. 有 2 bytes(即所謂的M,N)來決定 VCO7 B" _* v; W5 J; x& }/ S: m
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div* q7 [# w1 j" U8 \7 p
3. VCO / div = frequency4 u8 H9 N8 X* p$ @0 h5 M8 p) u
& D: s" V) P) r' K
這裡我有幾個疑問:3 G& F( g0 Z9 X9 u- x
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
- f. h$ _- \+ |6 L6 O2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
$ i7 a4 |( ~# M: b) k/ U, s6 A0 A3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
9 ~9 j4 f, t5 M& f1 @; y) q3 q O4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
. U7 F$ ?9 y3 f8 _- f: D
6 R1 U, l' P4 H' a0 k I 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:- U& j0 q7 V: Y# D0 z4 @- S
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?5 Y! Z. O; Y! Q
(具體看vckbase.com/document/viewdoc/?id=465[/url]), Q) [8 k9 x& m" i; S; m
: _7 i- Y- s, }: z3 [還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|