|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:# k/ z$ x" U' K$ ]3 U I4 q+ B
! p1 l. a6 `' s6 p; S* P: @ CPU總頻率 = CPU外頻 X CPU倍頻
- k6 m- {- ]' @9 o$ L
0 m4 K* `' K( M2 b! S一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
9 F" D* N9 Q- F9 s; ?7 M$ c: J( S& f5 L
% G% K2 q1 K; y7 T2 t+ S% @: F 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) 9 f! `* @+ l( b: w+ C# ^
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中: u6 n2 M+ V9 r' B3 W3 K
1. 有 2 bytes(即所謂的M,N)來決定 VCO" c l4 Y, `, ]0 d; M4 B
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
1 p6 r( ?6 ~) h# ^- f+ v3. VCO / div = frequency* W+ _8 E& }$ F7 M" e' N
; ]9 c; P! x; h5 X+ p這裡我有幾個疑問:( ?, J) t i5 V+ f
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?4 |7 [' z+ N8 j
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
/ P( K2 p3 U% h5 D0 F: h3 r3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?- V G: N/ T* t. ` b' k1 D
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
4 s7 |4 T+ h$ H) [3 q: M* M; F( z* L
. L/ x7 y, o0 v1 ?; _) P3 f 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
6 a6 M9 q6 z" c+ o, B FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
A0 e7 U3 {$ X, o: o: }( T(具體看vckbase.com/document/viewdoc/?id=465[/url])# ? Z9 S- ^& E& ^6 ]) ~) \( w6 m
# e7 A6 `; r/ e2 g還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|