|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:. I$ }1 ?; ]$ d" H) O9 Z0 C
0 B2 n+ a( z7 m6 Q0 {# C4 r) n
CPU總頻率 = CPU外頻 X CPU倍頻2 l0 l! c& F' ?9 F V+ K: h+ q5 k
2 u/ f7 W, W* K) I: m, X一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:6 c% E! ?; F2 }5 U8 F1 ?( P
K( t7 ?& e$ I8 B1 m4 p% m( n 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) & ^5 i% |3 c3 h3 {% b
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
) y1 S) C( ?) G7 {; g4 B6 R1. 有 2 bytes(即所謂的M,N)來決定 VCO
$ \1 J6 ~, o$ H! J7 q% s1 ]9 q6 W* U2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
1 P$ E: x6 `4 @/ [ N3. VCO / div = frequency) J. K" c) O6 a3 k# S8 v
" N3 o d; k2 a0 k+ v. S, Z* D
這裡我有幾個疑問:" N- |# O9 ?3 k( `# E3 r _
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
% s$ }$ I: h. s, A$ [9 N C2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
# J- H# D5 e, Y3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?! \0 O" k6 ?* ]
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?$ `* J5 {- Z% B: j, @* b# _- m
! Q7 H( ^% g. a- t- t0 Y( N; k8 R7 t
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
- y- T+ f t( t1 o; | FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
$ L. D( ?6 y% L* u' i; b' z(具體看vckbase.com/document/viewdoc/?id=465[/url])
6 {) F. q! w( }4 u& |
. }& j: W+ S) z) f: E2 O還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|