除頻數(divider)的難題
除頻數(divider)的難題
我們所設的DDR2記憶體速度,例如Athlon 64 X2 4400+處理器下的736 MHz速度,並不是隨便亂設的,這是處理器所指定的數字。回到先前DDR1記憶體介面搭配以前的Socket 939處理器時,我們發現處理器利用除頻數(divider)將處理器時脈轉成正確的記憶體速度來讓記憶體得以順利定址工作,其記憶體內部則採用DDR400速度(200 MHz)。以下是實際的範例。
Athlon 64 X2 4200+: 2200 MHz / 11 = 200 MHz (DDR400)
Athlon 64 X2 3200+: 2000 MHz / 10 = 200 MHz (DDR400)
因為這個設計,超微只銷售整數時脈速度的處理器,也就是能夠整除得到200 MHz的處理器時脈的產品。
但轉移到DDR2記憶體時,超微處理器時脈增加帶來額外的難題,因為像DDR2-800記憶體固定用400 MHz時脈運作,但是先前處理器時脈反而無法全部被整除,所以變成最高的速度會可能無法到達400。
但是處理器的時脈面臨無法被順利整除而用到最大的記憶體時脈時,會有什麼反應呢?
超微用了一個聰明的解決辦法,也就是當除下來的時脈數字超過JEDEC相容標準的記憶體時脈時(400, 533, 667, 800),其就會自動選取下一個除頻數(divider),以免超過最大記憶體時脈,舉例來說:
Athlon 64 X2 4800+: 2400 MHz / 6 = 400 MHz (DDR2-800)
Athlon 64 X2 4000+: 2000 MHz / 5 = 400 MHz (DDR2-800)
Athlon 64 X2 5000+: 2600 MHz / 7 = 371 MHz (DDR2-742)
Athlon 64 X2 4400+: 2200 MHz / 6 = 366 MHz (DDR2-733)
於是就產生一些奇怪的記憶體時脈數值,例如DDR2-742和DDR2-733等,這個自動選擇的機制是無法被關閉或更動的。
因此,我們建議躍躍欲試的使用者在購買隻前要先拿一台計算機算一算處理器時脈可以用多少的除頻數(divider),這種狀況會造成你縱使買了200MHz記憶體時脈的記憶體模組,但是因為處理器時脈能夠被整除的數字受限,而可能實際上根本無法發揮最大效能的窘況。立如以下的例子所示。
Athlon 64 X2 4200+: 2200 MHz with DDR2-733
Athlon 64 X2 4000+: 2000 MHz with DDR2-800
如果因為上述的原因,將原本2200 MHz處理器強迫降低其記憶體時脈的效應,造成整體效能反而比價格便宜的4000+處理器時脈剛好可以整除的2000 MHz還差,那你可能得問自己,到底誰會搞清楚發生了什麼事。
以下是整理出再標準時脈速度之下,所有可能記憶體設定。