|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
" {8 t/ j# p3 `
' g n1 F: j8 R0 z$ `/ ~% U+ N CPU總頻率 = CPU外頻 X CPU倍頻
8 {+ _# q ]. c" `! p
0 ^' v7 q8 D- F一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:, K. J( `1 X# i1 c# L
l* e* j+ G# W! ] 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 6 E5 z5 V; }1 [5 z8 N3 c
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:! F1 P$ l! P( q7 O
1. 有 2 bytes(即所謂的M,N)來決定 VCO
2 I1 P, q+ `$ h6 w5 u+ H2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
: _9 l7 o- I X+ E( K3. VCO / div = frequency
: P7 x- A7 Q8 H0 L
8 [6 `7 i" A- }* V% B" E這裡我有幾個疑問:
, M" g( S6 h8 J) Q" c0 U _5 s1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?* J$ w3 }# C; V4 j
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
F% ^- z( } l: a9 v, W3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
: g+ F. c% t" z7 W8 c6 J: E4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?" j7 b0 |, \+ x Y6 k
: a* x2 C) r1 w 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:$ i$ l, D9 P* E: A7 P# Z# b! A S
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到? s. V3 G: ]* b
(具體看vckbase.com/document/viewdoc/?id=465[/url])
. u0 b/ z" U' A- T' r3 M$ e( _+ Y/ W, q2 b+ ]+ t; }; F% l8 R: l
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|