|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:7 {1 V5 r; W; A1 x' A
) J. d b$ T& C' L6 p( r CPU總頻率 = CPU外頻 X CPU倍頻8 @0 t2 }" C* P5 a% n3 d
6 K0 E( O4 R9 M$ D! J3 Y一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
5 ^% ?2 h% b, A6 S/ @+ q6 c- k6 J. O- `: X8 r7 }
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
( T9 `( A$ Z4 ^ A8 o補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
& P+ X/ X/ y/ s1. 有 2 bytes(即所謂的M,N)來決定 VCO
& ^$ W f& h* Y4 I2 E2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
/ j* V! a( e% U& {3. VCO / div = frequency& P, `2 y: n6 P& |' X( ^ ]
& W- t# ~0 s* x* _這裡我有幾個疑問:$ V4 S+ _+ w5 i$ g% K* q# D
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?7 J8 a& U S3 U, }
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
+ c' `! ?* v$ x5 ?3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?+ p* {9 ?0 m- G) ]8 @9 o
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?4 O8 ]3 a7 x; ?: ^' D) g+ j4 N
) d5 ]) }0 C9 |9 I) ?8 _& `8 y* j
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:4 n# k- U! Z, Q0 i1 U
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到? q8 E+ K( B3 }
(具體看vckbase.com/document/viewdoc/?id=465[/url])
4 a. ^5 f" y) _* N
# T8 g2 e& A6 F( c還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|