|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
$ u' X8 s2 K4 t4 I; _8 ]. f) z% }6 n* K0 z7 r3 v0 `) _ p
CPU總頻率 = CPU外頻 X CPU倍頻
# \& C& N+ _% {) i# Q
4 y: X- a" s8 h- H6 I; H! E% S一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:" P {4 ]. @- O% Y
" y1 d( z/ i6 b( I
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) # b3 i% e. {/ n; e" q U
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:0 t# B# `" b8 d/ {- M( s
1. 有 2 bytes(即所謂的M,N)來決定 VCO
8 N) Z* Y, ~4 M; g- W2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
5 n6 @0 ?* C; s6 f. v6 \) w! {9 ]3. VCO / div = frequency
. i1 H# Y5 F+ Y+ o, e& g( H
/ ~; L+ v6 X' Q* ]7 |& a: k這裡我有幾個疑問:" L q* H. \' U/ A# H4 H
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?7 G* c1 U$ I) e
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
5 `7 S: L5 ?, n. i# P) ]9 p3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
' [" c- i4 c7 t; f/ \# i4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?* `0 }3 u1 t% E% i. [( W' `
9 H4 s% x' U# m/ j' G7 L 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
7 C2 `. @9 W, r/ ^5 o- c& c% r& y FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?& E: `! W, k2 @1 W
(具體看vckbase.com/document/viewdoc/?id=465[/url])
' |+ T0 C' V% F. ~9 L* g& |) Z5 N5 {9 k1 S: K# Q
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|