|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
* {* P, v* W$ ~+ k) B% Y2 k9 x" l @# \; V
CPU總頻率 = CPU外頻 X CPU倍頻
+ _) M0 m; \! D# b
- C/ w# o) `- |一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:: z. ?/ M0 _- `7 Q# d8 ?7 k
4 ^5 j- _/ T/ {( z
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) ! M. E( s7 v: [7 p+ l( _9 o
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:+ r: G7 c7 z, Q0 s1 M
1. 有 2 bytes(即所謂的M,N)來決定 VCO
! [4 T! L: S2 w# ?) }2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div2 r' H2 m6 \. s: O a
3. VCO / div = frequency" l% o' m- |' P7 a% Z
' w' H4 ]2 m) A$ V這裡我有幾個疑問: L6 H6 @# a: ]1 L& g) y! ~ v
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?9 B$ @5 R% w: h _; L
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
& ?2 u3 |4 v+ A& ?/ {3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
% u: ]* H. Q' z+ g4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
: T6 N1 m' C" E4 H) X4 G% E* k7 [& F2 H# A/ G6 T
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:2 c4 @. z! `, ~) I& C
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
) A9 G# \, C4 P( U+ n(具體看vckbase.com/document/viewdoc/?id=465[/url])2 l, R; q4 E) ?: v( ^/ M
' ^# q) Q' w& L' q! l3 A: M$ Q! d還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|