watercai123 发表于 2009-4-16 17:00:41

怎樣調CPU的外頻?

最近下載了一個叫ClockGen的軟件,它可調CPU,PCI等的頻率,覺得很挺有意思的,很想知道的它的原理。在搜索了一番,了解到:

   CPU總頻率 = CPU外頻 X CPU倍頻

一般況下CPU倍頻不能修改,而CPU外頻是可以在Clock Generator是調整的!在網上搜到小華的布落格,裡面有講到:

更正:其實PLL 不是單純一個的 div. 鎖相迴路的參數是兩的divider 組成 M(VCO divider)/N(REF divider)
補充:觀念上來說是 PLL所振出的頻率經 div後可得到 desired frequency. 但在 clockgen中:
1. 有 2 bytes(即所謂的M,N)來決定 VCO
2. 有幾個 bits來決定 div;一些主要的 frequency都有相對應的div
3. VCO / div = frequency

這裡我有幾個疑問:
1.VCO   是怎樣通過M,N算出來的呢,有計算公式嗎?
2。div,在哪裡能知道呢?是在Clock Generator的哪個寄存器,我看了Spec,可是還沒找到。
3。如果我們能得到CPU外頻了,那怎樣讀取到CPU的倍頻呢,是在CPU MSR Register裡 得到的嗎?如果是,那怎樣讀取CPU MSR Register呢?
4。不同廠商的Clock Generator產生的CPU外頻計算公式都一樣嗎?有沒有一個標准?

  還要我在VCBase裡看到的一篇文章是這樣計算CPU外頻的:
  FREQ=G*(N+3)/(M+3); 他說G是特定的一常量。這樣對嗎,那這個常量在哪得到?
(具體看vckbase.com/document/viewdoc/?id=465)

還望這裡的高手指導指導小弟一下,小弟不勝感激!

xtdumpling 发表于 2009-4-16 17:56:34

你的问题1和2在clock gen的datasheet里面应该有写的
3. IntelIA-32的CPU,MSR   MSR_FSB_FREQ0CDh 可以读出外频【FSB频率】,读MSR用RDMSR指令
4.没有标准,具体看各个datasheet, G通常是14.318Mhz吧.

pwnissan 发表于 2009-4-16 22:03:08

找到clock generator的data sheet,然后用smbus去修改M,N就可以改变cpu的外频。同是倍频也是可以修改的,看看IA32 3A就知道怎么改.

watercai123 发表于 2009-4-17 08:16:15

我知道是修改M,N,但是我想知道的是怎樣確定M,N的值?或者說M,N與CPU外頻有什麼聯繫,在知道使想要的CPU外頻後,怎樣確定M,N值。

Clydeliu1982 发表于 2009-5-15 10:57:19

Clockgen 的Datasheet上应该有吧,
1. 如你所讲:   VCO / div = frequency;
2.CPU Frequency = G(14.318) x N/M;
所以你的 G一定是个固定的值,也些厂家会把G固定为自己所要的值,CPU Frequency 可以有M,N(Byte 11/Byte12)的值来决定,你可以加大N(Byte12)的值,来加大CPU Frequency ,也可以减小M(Byte12)的值,来增加CPU Frequency,一般为了CPU Frequency 更好的调整,大家都以增加N的值,来增加CPU Frequency,不知道我说的对不对,大家一起讨论下哈。:lol
页: [1]
查看完整版本: 怎樣調CPU的外頻?