|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
5 B. O6 k) R" K8 ]6 k4 ~' g9 `1 h" u! M! f" h
CPU總頻率 = CPU外頻 X CPU倍頻0 \/ w/ J8 m( g' q# k( Q2 D
: h& x9 W R, h) w0 ~7 M一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
, p( f. e" Q$ z4 @2 j
5 z3 _2 p. B: d! @# g3 q9 D' K4 a9 a 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 6 y3 \6 j! x \0 A4 X( H+ u
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:0 I) S4 E/ ]" r# T. @. w+ s; U
1. 有 2 bytes(即所謂的M,N)來決定 VCO
* L6 X6 J7 `" u+ V2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
0 [0 U) d7 T# G9 B2 n) n3. VCO / div = frequency
: a; G, L- q) p2 [/ w) \4 E( g) Y4 ~0 |6 Y5 o) ?! Z, L3 g: z; B! D
這裡我有幾個疑問:0 Z9 {8 T5 ^( b
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?' [4 u7 h/ [3 N4 {* R
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
9 N6 K. b5 T6 ]3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
& p; h) r1 t% p# u4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
$ s) z9 |) _. J% q$ @: j7 h9 [ O
2 m9 X) p p2 c( d9 s 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:% x* ?& N( \8 q. S9 v1 y( p
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?* ]8 b) |% {. ^4 ], _) p
(具體看vckbase.com/document/viewdoc/?id=465[/url])
3 ^: Y' P' P( a! ^. L) `8 |" p# t9 o) C9 s3 M6 }& R
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|