|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:4 d) p7 K: r5 T) C; R" `
0 Q& I$ y, f% |" P Z0 i9 S* l CPU總頻率 = CPU外頻 X CPU倍頻
; O1 b7 y7 _0 n3 E
/ U) ?5 p" `) g一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
" I E) ?1 p' V( l5 }4 w ~2 |1 S) ]. Z" E/ k
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
9 Y; A# F1 H5 [ O" e; M補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
F! t* W7 |& v) H$ g3 o" ]1. 有 2 bytes(即所謂的M,N)來決定 VCO; J% K& ]5 K+ ], Y" w
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
# ~* |$ F4 V/ B- q3. VCO / div = frequency% e2 D+ L1 S: E
7 Q3 j' B* E$ Y( t3 n9 j
這裡我有幾個疑問:/ {1 i" D* L0 ~) \! ?
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?! x; s0 K7 o# X6 @
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
; z' v B4 t' w) v/ n) f3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?" ?( B: o0 u6 T
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
& a% u( K+ e6 q0 f6 }0 a0 f
8 ^7 k9 f6 p! I- f# b, @3 B- r, P; D% Y( T 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:1 w& |9 a$ P0 N1 R
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?1 Q* F3 X( ^) K) G$ E7 @
(具體看vckbase.com/document/viewdoc/?id=465[/url])
4 i+ T- u8 t: u
/ g+ _) C$ W" a5 ^# a1 k% l還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|