|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:' Y0 e0 O8 d4 f1 N
" w7 o; G8 s# P9 c# I
CPU總頻率 = CPU外頻 X CPU倍頻
5 y' J! Q0 s0 m* O' O& J$ G$ V
; Q5 X* a5 Y8 \一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
8 r0 _3 {2 U7 m9 V& [) V0 {: w
3 P( V+ Y/ F/ L5 ~2 U' n 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
7 l. S0 E! m1 e+ c補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
/ h5 R- L5 t* p1 k G4 T1. 有 2 bytes(即所謂的M,N)來決定 VCO
' k# }% W0 a+ @, R2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
3 I$ U! L/ a0 @. g3. VCO / div = frequency
3 @9 ^" Q. k1 J" R3 p
: Y5 x H, v. x8 }5 ?這裡我有幾個疑問:1 M5 [, O, l8 x% F: o% D* u
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?1 N& a: j. A* w
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。2 X0 P7 D) K0 O" a- J, `
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
5 W2 U+ v' |0 \' ^. j3 i& T8 h5 P4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
" Q& k* b) ^; p- V2 w N3 m' K: I8 J3 X* V. V0 n0 j: d
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
7 _$ s. i% M! U* Q FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
( ?7 v' w/ {7 D' h u(具體看vckbase.com/document/viewdoc/?id=465[/url])% ^) |7 w0 y9 \/ B6 K! s
4 f2 Y8 v2 X5 K+ ~+ u1 a
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|