|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:0 u1 o2 P/ K& R& m
( x5 Q% a7 @& D' N! N
CPU總頻率 = CPU外頻 X CPU倍頻: P8 ^0 N# O3 Z, u; \9 }
3 Q: Q. ?( H8 v6 F) A2 o3 k
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
3 a6 A& [! S! t5 F/ }9 X* d
; @" g. W& ]6 j' y$ s C 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) , A" C& x9 j+ ~2 j
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
M* W4 E- \) Q8 o/ B; Y& Q1. 有 2 bytes(即所謂的M,N)來決定 VCO2 P# l( A$ G: z0 w6 Z1 h3 U
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
; p, o% ?1 j# S$ P3. VCO / div = frequency& X& E1 u& \: Z
) n. J% `3 Y" [2 ]& C3 a這裡我有幾個疑問:( z8 {* J- ~" S% a; R2 x
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?0 j0 I! r. J2 @* {/ i
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
) y: j `1 i- N; i+ r- P3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
# j. p: G$ f6 C. h6 ^3 ~. G( c4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
1 c+ p1 u. R3 E( R. I" F
* `& d: ]! n* W* g( }! S" ~ 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:, [$ V3 ^6 X/ ^+ D8 [1 b! z
FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?+ k; j# o3 J$ i7 ?8 Q0 n
(具體看vckbase.com/document/viewdoc/?id=465[/url]): B# p1 j2 s, d7 `" B2 p% V
+ @; P* z" w9 b! |' C! E
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|