|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:5 T s$ q1 j: j ]9 X0 _- N5 t
7 Z; V* q# e7 ^2 V CPU總頻率 = CPU外頻 X CPU倍頻# E% E% d4 k, Y, G/ F1 C
& S" c+ d& k" ]/ ?% {3 p一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
$ h6 w' u6 N& G% o; i8 R. U" d0 y3 ?$ [/ ^& B! Q
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) & x" _) B* @' [/ D9 b% |8 _# w
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:% O1 y( c) G0 ` f
1. 有 2 bytes(即所謂的M,N)來決定 VCO: v0 x- M. x: m* p" i9 d- F
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
% ~( \6 {. x5 F6 r3 {* v3. VCO / div = frequency/ S5 J8 {0 Z( N$ R9 Y- u
7 A" S; |' _( U; [這裡我有幾個疑問:
9 v$ u" K0 d) I. P) S. k7 }1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
9 T$ m7 u4 ?$ c8 M" J5 {2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。4 l8 H# ?" r# r8 F
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?3 S2 E" L. \2 q6 R8 ], b
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?' ?- O2 U, T6 v2 @) x
' ~& x0 E) J8 m2 s+ t! y5 Q 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
5 @; ?, ? k+ H; i FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?. W! G$ d, H$ G
(具體看vckbase.com/document/viewdoc/?id=465[/url])
+ o7 u9 P; j3 o4 a. S* a+ C! N9 I, D) O7 _+ E' K
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|