|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:' }% Y% d) E- L5 S0 ^* R1 P+ K0 \2 ?
+ r( Y% K# _. n: o3 P: o
CPU總頻率 = CPU外頻 X CPU倍頻
6 B+ i m' k4 v8 r7 _. E) E y; Q: n$ m, g2 Z5 a
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:: O6 K% J8 G* u* {- Q x
4 j5 }' N; Z, f3 S* \9 D1 O 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) ! k# `( p# Z7 j& K( D! F
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
) k1 D" ^& L2 r7 W1. 有 2 bytes(即所謂的M,N)來決定 VCO
0 x4 c5 S8 @: c. o3 n a3 v2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
3 g5 k& N2 l# L0 ]1 a6 O0 e. T: N" {# C3. VCO / div = frequency: Y* `! U8 {4 N" o! m" V# G* |4 h9 l
- X( h$ P ~; y
這裡我有幾個疑問:
- u6 x) A7 E( D$ g, K6 H0 Q1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?& i1 {! y/ t; L" Q* j; F
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。: N7 k; }- _1 R @
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?7 h( S/ x$ |: N/ {
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?0 q/ J- e8 [! P6 N. g% z% E! {! g
2 U. d+ A; w, o5 o
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:# Z/ Z' ]* ]3 L$ O b) \
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?( {+ d5 R4 n) t1 u/ R4 L, c
(具體看vckbase.com/document/viewdoc/?id=465[/url])3 J! c* l' |3 Y' f; L
3 @8 |* Q/ J9 x2 m+ H+ y/ B
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|