|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
8 s+ D. u; T( J4 O7 T; t3 H1 V
1 v* ^/ y" |' W( `" Q CPU總頻率 = CPU外頻 X CPU倍頻
G: c: {" j$ E: m5 U
2 O9 G3 @1 _: ~2 A! g一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
& X& G0 I8 c% J4 g) k
5 l; R9 K' F& R& b4 b- I 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) * m0 H, r0 U; G H' ^0 r
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:, h$ \# n3 v2 {6 x# H% K% r
1. 有 2 bytes(即所謂的M,N)來決定 VCO
+ R# E: q5 @+ s8 h, J6 P2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div" Z. W* U0 j# \, F2 A- O
3. VCO / div = frequency$ U2 E$ Q, _3 W* ]. q4 d
' i- | h1 ?4 ?! p7 p這裡我有幾個疑問:
) N; T8 E+ K* w# D; E- f* F2 [1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?7 a0 d. Y# V: g" \% O
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。1 b- q# h; z& e$ t6 F
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
4 g! v# o) {; [, G k9 I1 a4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?5 A/ x- H- o( A- S
" I) K& N6 D7 G6 |/ v) [+ r
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:, Q) V j9 M% F2 I5 d) Q( x
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
3 P! k T+ e6 {. v! d(具體看vckbase.com/document/viewdoc/?id=465[/url])
" A6 I$ h5 S# X. v& @/ A9 g+ L$ f7 } B9 Q; R
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|