|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:$ Q" R0 e# [4 l7 u" z
1 Z7 { }( @, z4 x$ a# H9 o
CPU總頻率 = CPU外頻 X CPU倍頻
; B3 @- t7 s0 }' h5 ~+ y& X
+ p- z9 j+ `3 ^0 H* {. c' F一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:* A( C" l+ S. z) o4 U8 B' f, H
2 }3 [( x4 `8 M% L 更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider) & u8 Y/ ~4 V" l Q
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:, L8 A+ V! Z7 F3 U: [! O4 s) ?( E g
1. 有 2 bytes(即所謂的M,N)來決定 VCO
$ y$ o' [9 T5 M+ L& |- o2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
4 t# b/ k* j0 x3. VCO / div = frequency1 S$ R4 p% n7 ?1 f0 T3 s
/ p1 h: G+ x+ K2 z
這裡我有幾個疑問:- B. ^6 ^0 U9 d! {
1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?
% v2 X" z: t/ z& C# i4 {2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
" q6 U& {) j# H0 C% U3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
3 r0 [" ~3 A' E+ j0 D% x0 ~3 X4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?
, J z. O5 r+ \ B& U
4 ]. f$ ?% i' X* q4 A* O% A 還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
G7 q a) U# l. a FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?: ]# a& R; S' K0 B' ]
(具體看vckbase.com/document/viewdoc/?id=465[/url])9 _* O# y* V/ f a4 ~9 f4 h/ K6 j' c
- @' u: S5 d% p% ~; a+ y3 H還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|