|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:
. t% U ~* w4 E6 Z& I5 k3 }* ^
* y) U9 d% q6 ^0 u8 p# b3 _ CPU總頻率 = CPU外頻 X CPU倍頻
) ^2 Y7 Q& ]% g9 d
, x7 A9 k/ j1 k( w+ Z$ E一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
9 h( g) ~4 c1 r6 _3 N2 F8 f8 I8 F+ q& j' H
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) ' m8 X- u( N4 o; K `4 P
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
5 U- I3 \; m. r" y) r" _) I1. 有 2 bytes(即所謂的M,N)來決定 VCO
* ~% C, y7 r: l/ T2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div1 O& \4 J' ?- O+ I
3. VCO / div = frequency3 i) \0 J. @$ C: U$ c% Y
* Q+ A. ?, Z4 e+ f這裡我有幾個疑問:
8 B$ q; p& @3 y5 G* t T9 V3 n3 I1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?+ I/ r$ y: F; H
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
; I* p6 `& ^' M8 U, X. C3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?: h: a+ x5 I- d3 L) Y! M) z4 `' @
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?; g, {4 P" f) b/ m$ z* Q a6 Z
) a( J9 P8 o4 F' c& @8 ~% ?
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:# }, H6 c$ I8 W& R
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?5 i& O) v/ _9 g) o
(具體看vckbase.com/document/viewdoc/?id=465[/url])& i, l) m; X& P- b8 a! P9 D4 B
3 d( o- r$ @* h+ E* h7 O( ?6 |; ^3 q
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|