|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:- Q5 l# b. @1 f0 [! R* u3 ^5 a
1 x: E; y: g. _) J CPU總頻率 = CPU外頻 X CPU倍頻
5 Z% _. M' r4 O7 |; M5 k% k
$ [- v9 m: Q) E& p" E! G l一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
* n3 Q* c q8 |* Z+ ~( n3 o5 U* r1 d- z6 E+ N) o* K
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
4 Y* c# h7 M: }" ]! m5 x$ l0 M6 }補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
7 ?) G* t) t y4 `1. 有 2 bytes(即所謂的M,N)來決定 VCO
' j6 o- f- e0 {4 m* A2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
/ G3 }8 w8 G& a$ t' @& z7 h3. VCO / div = frequency, b8 A( I, y- k0 O9 x
8 u6 c% h. N( R/ k
這裡我有幾個疑問:, Y) h& v* V! p2 [9 t& u
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?5 Y% @: E R3 @$ [/ o$ }
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。6 ^( G) K, {3 o' M4 m2 O
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?: q [! |$ i: j' w' e' R
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
9 k9 S' {! m. ?! D% ^" Y3 D1 n
+ d$ t! m7 F( { 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
" y) J: C: M& h5 F. b' ] FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
, y8 S0 N& ?8 [& t! z6 @(具體看vckbase.com/document/viewdoc/?id=465[/url])
! w7 ~- k9 ^! J! A
: u( `# A8 e" ~3 n6 z7 B+ I還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|