|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
4 T/ o$ O# X$ Q+ @, m+ S5 K: } N5 T% _' c8 {; m5 J& w3 e
CPU總頻率 = CPU外頻 X CPU倍頻
4 e2 D4 r$ _9 L: s! D
1 R/ c3 |! k7 o+ b# {+ S一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:8 D' w: [( W. Y; {! |- z
/ w9 y. ^% i( ]' r% B
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 5 o2 e4 B6 q4 L' O2 ]% I
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:' c( O; |( V" R" B" R: r, k
1. 有 2 bytes(即所謂的M,N)來決定 VCO7 t$ H: T+ Z1 X. V6 n8 X
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
- y) ]3 H! K8 i: E+ n3. VCO / div = frequency
' {6 f/ h* i. i, l0 Y- N* w4 }2 ^
) h8 H% m' b5 a4 n1 M4 ~& u這裡我有幾個疑問:/ K; l; o- C# T; R: Q+ @
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
! _, o3 `& _. q3 m) n' s. R2 y2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。6 G5 ], o% [3 |' J6 H% \1 p, j6 _, N
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
: s; m0 }% D1 l( ]& s3 C4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
4 x m+ y3 H; A' S% H g$ R! [2 ~1 J; g$ ]: l5 q
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:9 W2 k. F0 T7 [( x. V
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?" S' J: c( \7 ^" T9 ~
(具體看vckbase.com/document/viewdoc/?id=465[/url])
, e0 x# \3 G. _5 c6 T P# e" U7 U) N+ f/ a- O4 s
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|