|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:/ G* {6 Z" ~; Y+ H2 e
8 T. W+ \2 y/ G9 d c: s, A
CPU總頻率 = CPU外頻 X CPU倍頻
$ u6 I# o' r9 H3 u' Z9 A- s# }" P3 ^2 [. o: q5 Y7 W9 b
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:, x, N6 U. I, i6 X2 n
2 h5 Q; ^# R( h2 w2 D8 C
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) ( v& U V0 m1 a$ p* x1 ]
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
9 b- \# \! H! m6 Y6 }5 J) b1. 有 2 bytes(即所謂的M,N)來決定 VCO
+ R/ F. J$ J% t+ q3 Z+ Q2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
6 L' R* g4 r. I5 v3. VCO / div = frequency7 s7 T1 A7 I/ e% u; z" F" v6 K$ P) B
x* ]* h! S* c7 ?+ s! y- s: n
這裡我有幾個疑問:6 ~- @# b, u* e
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?1 K+ O) y8 F5 A" i7 `
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
% Z' G) [$ n# u$ O8 ]3 E, h/ j3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?( u! X2 @+ d2 B7 g/ Z+ O3 M
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
, J6 u6 I! `$ k6 Y
9 a( }1 M2 y/ V8 I 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:" R1 M/ N% o( D4 P9 r3 P
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?. U" J5 D3 I" l6 ^5 L2 @( {. q
(具體看vckbase.com/document/viewdoc/?id=465[/url])
2 x! d- |7 z% e9 f7 z- n6 }( Q8 L- I0 c0 `3 Z
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|