|
|
最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:' [! k$ v, n% o2 _% v5 V) |
0 q. z. g% N# |5 G8 c' @3 P k CPU總頻率 = CPU外頻 X CPU倍頻
. O7 U& o5 b2 {+ ~ c' ?1 I; b9 J! g. r6 R M3 ~( ~$ \7 I
一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:
3 \; p, n/ K4 |$ k0 D2 m9 b. Y# F: Q$ P3 J. ?
更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
* c0 `8 X* ^& x! }* E3 E9 g0 K補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:8 P# i, J7 i7 r6 N$ _- w
1. 有 2 bytes(即所謂的M,N)來決定 VCO
( J J9 {; Q7 s# m2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
9 x/ j# S, J: b# S4 b: v% x3. VCO / div = frequency8 Z) }3 X) D# s1 @
8 G# |4 Y8 K- U, p
這裡我有幾個疑問:
5 M$ ^0 S W% z8 `, F& s1.VCO 是怎樣通過M,N算出來的呢,有計算公式嗎?3 F" f; I' w2 h0 C' z
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。) O2 y" n9 E- {) A
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
: T; n$ T' R* J( E) c4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?0 O2 w6 c. e/ @" G' G B9 B. H
% Y; D' x' G S, B
還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
* p& d; M8 l7 N* K! n }: F: r5 U FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?9 f0 m0 G! Q9 w& R1 R
(具體看vckbase.com/document/viewdoc/?id=465[/url])7 ]+ M2 O5 ?( u
; F9 o8 X3 s# S' F) d) I- j8 l" r
還望這裡的高手指導指導小弟一下,小弟不勝感激! |
|