|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:# _/ W% P' g4 c6 M3 | {
6 q8 R- \; K" Y9 B
CPU總頻率 = CPU外頻 X CPU倍頻* X0 l# S4 n* A( A h1 p" m2 u; D
. u& o: h% E7 x0 R一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:. C! \+ ^, P* O2 x& n
7 Y: k2 J7 g$ t2 M
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 0 P/ j/ J! z6 ^6 _: L
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:1 M1 T" w6 N1 z% [# R3 [" O, I# e/ @# s7 T
1. 有 2 bytes(即所謂的M,N)來決定 VCO
6 c8 V2 N. l) P+ u" i1 H. X. {2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div9 U2 W0 u; f; H/ @0 R1 ~+ c& E3 h- \
3. VCO / div = frequency( b: L5 z* U5 @$ M
# G! M$ P" O' y6 [# g1 _這裡我有幾個疑問:
! G! `7 Z; m0 L: m1 m- \- |- ^1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
) ]3 z) O& o' L8 I2 B8 Y$ k2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。' ]- ]: ]& I! F
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?; v9 u6 o9 S' _
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
3 j4 `1 T4 v( M) `# H7 i) _' a+ f
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
6 T+ s0 R7 m( Q2 P# v! _ w FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
" g( f. f- A$ q9 @* T! H/ F(具體看vckbase.com/document/viewdoc/?id=465[/url])' F+ {' B$ e( E
2 O1 B0 T/ S5 c
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|