|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:4 z! Z5 x1 h Q0 C5 Z
7 [4 j l& A2 b2 d CPU總頻率 = CPU外頻 X CPU倍頻* k' o" O+ h- I- W7 z; Y% E
( U! f$ w6 K0 C3 z& T& Z; [. d
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
; G( ]7 i0 e, K3 Z: \( h, H4 { b( }+ m+ t
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
* h8 b v8 ]4 h3 X補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:8 I& l% {+ T/ d2 I6 y
1. 有 2 bytes(即所謂的M,N)來決定 VCO
% K* i/ p# R- q2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
. Z1 x& ?6 |- m9 `( ]2 Z3. VCO / div = frequency
0 ^/ o* F% C D) ~5 |9 r
& _! ?) g2 o! k0 z! i0 B" w這裡我有幾個疑問:" u' v: y! p b- j
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
' ]& t0 q( t# V2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
+ c3 I! Q$ q3 ]4 Q" Q3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?2 K) d6 ?( `' x% h% ]: ], y
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?' h- H# f7 z/ P, V g
( ~" X+ [$ W7 W, y+ G6 I
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
- h& V, p7 p3 o FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
: C8 F. m' G) |4 L" {3 p6 W(具體看vckbase.com/document/viewdoc/?id=465[/url])
4 |9 n! X2 g, i( U& Y. g; S! x: n: g
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|