|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:5 G; C( J0 t& f& j
2 O8 G! ]. ~! e6 o9 t CPU總頻率 = CPU外頻 X CPU倍頻
6 O0 n, \) q5 M; e7 o _" `# @. N( A
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:& f% @: z; q( b1 ?( I# L
% w. E* A. j* N9 g) u% k 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 1 |& y. u% E5 {! v+ }: \
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:7 y+ j8 U9 Y7 e, |/ \5 W
1. 有 2 bytes(即所謂的M,N)來決定 VCO2 n' k7 r$ ?5 D' u/ J" V
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
9 Q# l, e7 J4 a, C& ]7 M3. VCO / div = frequency0 m4 \ g' K9 K3 ~& w% C" A5 E J/ O
+ }: w/ @! f& H( l5 o# q% d0 ^
這裡我有幾個疑問:# q1 ^1 C7 s# A6 p) M6 v9 f
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?( Q& q6 B' D1 w3 \. e/ _, F& h
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。( p( E* O2 j" J3 ?) F9 e( K
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?0 j+ X x4 A& W# Q! h6 k
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
( B' ?& Z; J" R/ k5 [; t0 [) ?7 I* W4 f
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
$ y, }7 ^+ M, F: B FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?2 g- k4 I5 k- [' V
(具體看vckbase.com/document/viewdoc/?id=465[/url])6 y8 c, n0 F, C1 R
$ A# P' q/ Q0 v7 g% c還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|