更新日期 2008-06-04 17:02
新消息
伺服器選擇
雜談
如何架設網站
超頻+省電
Prime95 地獄特訓
AV 心得篇
影音編輯
場景順序
DVD 字幕
歷史
超頻+CnQ 大法

在 2006-9-1 筆者曾用過 Athlon64 3200+ 0552 週,搭配 RMClocker 2.15 版,寫出此文的第一版。一年過去了,原本對於雙核心毫無希望的 AMD 939pin 平台,突然之間天降甘霖!

啥?復刻版 CPU ?

沒錯,本篇 2007 年版的「超頻+CnQ 大法」,正是採用復刻版 Athlon64 4200+ X2 0718 週,搭配 RMClocker 2.30 版。

截至目前為止,台灣地區代理商似乎沒有販售 939pin 雙核心的動作。如果想在 939pin 平台上購得雙核心 2007 年製造的 CPU,必須透過團購、網拍、友人等等管道 (售價大概是 3500+ 左右,比起當年停產前的天價,可說是便宜許多倍~~~),這批 2007 年生產的 90nm 4200+ X2 939pin (2200Mhz) 體質不錯,幾乎網路上每個買到的網友,都能到 2500Mhz,更甚者可不加壓跑 3000Mhz。

AMD 官方版的 CoolnQuiet

AMD CPU 大都有 CnQ 這個特色,就是隨著 CPU 的使用率,動態的調整 CPU 的頻率與對應的核心電壓,藉由核心電壓的下降,達到省電的目的。一般而言,大多數的電腦都只是上上網、打打字,CnQ 就是最好發揮的時候啦。一但想要打個電動、跑個影像壓縮,CPU 馬上全力輸出,不必重新開機或者調整一些 BIOS 選項。

如何啟動 AMD 官方版的 CnQ 功能呢?以下四個步驟必須確實完成,才能使 CoolnQuiet 發生作用:

  1. 確定你的 AMD CPU 有支援 CoolnQuiet 功能。
  2. 在 BIOS 找到 CoolnQuiet 功能,並且設定為 Enabled
  3. 開機進入 Windows XP 以後,安裝 AMD CPU Driver,目前是 1.3.2 版,然後重新開機。
  4. 再次開機進入 Windows XP 以後,在電源管理部份,設定為「最小電源管理」。
此時,你的電腦已經可以使用 CnQ 功能了。你可以用 CPU-Z 程式來確認執行的倍頻數與核心電壓。AMD CPU Driver (http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_871_9706,00.html)。
CPU-Z (http://www.cpuid.com/download/)。以下是已經啟動 CoolnQuiet 的 CPU-Z 畫面。(打開 CPU-Z 的目的只是確認 CPU 的工作狀態,以後就不用再一直確認了,CPU-Z 也可以不用執行啦)
為什麼網路流傳,CnQ 是超頻殺手?

Cool'n'Quiet 既然是這麼優良的 CPU 特色,為何無法配合超頻使用呢?我們來探討一下真正的原因,只要查出原因,避開重要的部份,仍舊能在超頻時啟動 CnQ 功能。

CnQ 的動作原理,是利用 Windows XP 內背景執行一個軟體,叫做 AMD CPU Driver。然而這個軟體必須在 AMD 網站上下載、安裝、重新開機以後才會發生效力。當我們重灌 Windows XP 以後,也有個 CPU Driver,不過這個驅動程式沒有 CnQ 的功能,所以裝了等於沒裝,沒有作用。

於是很有趣的事情發生了,如果你曾經安裝過 AMD 官方的 CPU Driver 驅動程式,移除以後畫紅框框之處會出現黃色驚嘆號,因此你必須重新安裝 Windows XP 安裝光碟內「無 CoolnQuiet 作用」的驅動程式,反而成了最安全有效搭配使用非 AMD 原廠驅動程式的好幫手!以免 AMD CPU Driver 跑出來攪局~~ (等一下,這個有趣的事情變成救命仙丹)

好,說到此,為何 CnQ 功能搭配超頻使用時,容易出狀況?根本問題就在「AMD CPU Driver 是官方版本的 CnQ 驅動程式,在官方版的設定下,沒有超頻這回事,所以設定出來的參數,都是針對原始 CPU 運作狀態而設定的參數,無法套用在我們使用者超頻的狀況」那麼,使用官方版的 CnQ 驅動程式,會對我們手動 BIOS 超頻設定的參數,造成什麼後果?
  1. HT 倍數遭到修改,筆者遇過的狀況是,BIOS 設定 x4,進入 Windows XP 以後用 CPU-Z 檢查,發現被修改成 x3
  2. VCore 核心電壓也被修改,筆者在 BIOS 內設定 1.4325v (BIOS 內看到 1.45V),進入 Windows XP 後,用 CPU-Z 檢查,發現用的是 1.556v 在跑。
  3. CPU 倍頻數被修改,BIOS 設定 x9,進 CPU-Z 檢查,已經是 x10 了。
為什麼 AMD 官方的 CnQ 程式會有這樣的問題?答案剛才已經講過了,就是官方預設的參數,是針對你手上購買的 CPU 量身打造,以筆者的例子來看,這樣的「不當修改」相當合理:
  1. 在 CPU 基準頻率 200Mhz 的設定下,HT 設定在 x5,超頻後,AMD CPU Driver 找不到合適的 HT 參數,因次調整成 x3 以策安全?
  2. Athlon64 3200+ 實際頻率 2000Mhz 的 Vcore 是 1.400v-1.450v,因此筆者超頻至 2400Mhz 以後,已達 Athlon64 3800+ 的準位,而 3800+ 的電壓預設就是 1.500v-1.550v。
  3. Athlon64 3200+ 的預設倍頻數就是 x10。
縱括上述來講,如果你要超頻,或是你已經超頻,用了 AMD CPU Driver 就等於是自找麻煩,必須更換 CoolnQuiet 驅動程式,才能解套。
CoolnQuiet 的核心動作原理

藉由 Windows XP 內執行的 CnQ 驅動程式,偵測 CPU 使用率,動態的調整 FID:VID 對應參數,達到所謂 CoolnQuiet 的效果。

Q: FID:VID 是什麼?
A: FID 是 Frequency ID,倍頻數。VID 是 VCore ID,核心電壓值。

Q: 那 AMD CPU Driver 的作用是什麼?
A: 此驅動程式幕後偵測 CPU Core Loading Level (核心負載),根據內定的負載程度,把提 CPU 目前執行的 FID:VID 參數,動態的發送給 CPU 的 MSR 指令欄位中,CPU 內部也自動會依據 MSR 指令欄位中的 FID:VID「配合演出」。

Q: 官方的 AMD CPU Driver 可否讓使用者自己定義 FID:VID 對應表?
A: 至少 1.3.2 版仍無法簡單的讓使用者自訂。

Q: 如果能找到一個驅動程式,可讓使用者自行定義 FID:VID 參數表,是否可以突破超頻無法使用 CnQ 的困境?
A: 答案是肯定的,而且已經有這樣的驅動程式了。可以自訂整張 FID:VID 表,可以立即生效,不必重新開機。也不用安裝。

RMClock Utility 的前置作業

如何在超頻狀態下,啟動 CnQ 功能?

筆者自己是用 RMClock Utility 這個 CoolnQuiet 驅動程式。(http://cpu.rightmark.org/products/rmclock.shtml)。此程式可以正確的在 Windows XP 內啟動 CnQ 功能,而且是在 BIOS 關閉 CnQ 功能,也沒有安裝 AMD CPU Driver 的情況下,仍然運作正常。

在繼續往下看以前,有幾件事必須確認:

  1. 確認你目前的超頻,已經是穩定狀態了,譬如說你已經超頻使用了幾天,在這幾天之內,不斷的測試系統的穩定性,如 SuperPI、Prime95、SP2004、等系統總體穩定度測試程式的「摧殘」,都達到穩定不當機的狀態,那麼可以開始進行 CoolnQuiet 的設定了。
  2. 確認 BIOS 內超頻的參數,像是 HT 倍數、CPU 基準頻率 (FSB)、CPU 倍頻數、DRAM 除頻比率、VCore 電壓等。
  3. 確認 BIOS 將以下匯流排定頻,AGP 定頻 66Mhz,PCI 定頻 33Mhz,PCI-E 定頻 100Mhz。
  4. HT 倍數 x CPU 基準頻率 (FSB) 的結果,叫做 HT Link 頻率,這個是 AMD CPU 與北橋晶片溝通的頻率,設定過高會導致北橋晶片有「超頻」的效果。然而市售的主機板,北橋晶片的散熱都僅僅在及格邊緣,北橋散熱已經比 CPU 散熱更重要了,故 HT Link 值必須特別注意,以免北橋過熱當機,你還以為是 CPU 超頻過頭,兩者風馬牛不相干;在 754pin 上必須在 800Mhz 以內才安全;在 939pin 上,最好在 1000Mhz 以內才安全。如果你的北橋晶片有改裝更強的散熱系統,超過標準值也無妨。筆者超到 1070Mhz 都沒關係,好的很,因為北橋晶片散熱已經改裝了。
  5. CPU 基準頻率 (FSB) x CPU 倍頻數的結果,是 CPU 核心工作頻率,根據 CPU 體質不同而有差異,一般而言要提升總體效率,必須將 CPU 倍頻數降低,拉高 FSB,這樣的效果會立竿見影。
  6. 確認 BIOS 內關閉 CoolnQuiet 功能。我沒打錯字,要 disabled。
以上逐一檢查,確認完畢以後,在往下看幾件事。
  1. 如果你曾經安裝過 AMD CPU Driver,請確實移除掉,重新開機。
  2. 移除掉 CPU Driver 以後,裝置管理員會出現黃色驚嘆號,請拿出 Windows XP 安裝光碟,把 M$ 自己寫的那個「沒有 CoolnQuiet」功能的驅動程式安裝進去。(當然你也可以不必理會黃色驚嘆號,根本沒差)
  3. 官方網站拿下 RMClock (http://cpu.rightmark.org/download/) 後,解壓縮到任何子目錄 (但不要放在 RAMDisk 內)。
  4. 把 RMClock Utility 放到你想放的地方,因為這個程式不用安裝。
  5. 如果你曾經執行過 RMClocker Utility,強烈建議執行裡面的 RMClock_WipeOut.reg 將你系統裡面 RMClock 機碼消除。以免錯誤的 FID:VID 參數使你的電腦立刻當機。
  6. 啟動 RMClock Utility。
設定 RMClock 2.30

由於 RMClock 不用安裝,直接執行即可,筆者直接介紹如何使用。

(圖一) 首先轉到設定頁面,主要是掌管 GUI 部分,與 CPU 運作無關。

 

(圖二) 重點注意最小、最大兩個 FID:VID 參數表,這是 RMClock 2.30 回報可以接受的參數範圍。

 

(圖三) 監控頁面,可以從這邊得到整個 CPU 運作的狀態。

 

(圖四) 管理 CPU 核心參數修改策略,從這一頁開始,濃濃的硬體設定已經嗅得出來了~~~終於要進入核心領域了~~~

FID:VID 轉換策略 (P-states transitions)

  • Perform Single-step transitions only: 一階段一階段調整,是比較平滑的切換 CPU 的運作速率與對應電壓,對於節省能源需求較高的人,選擇這一項。
  • Allow multi-step transitions: 允許多階段調整,快速反應 CPU 使用率,經常會一口氣從最低速度跳升到最高速度,CPU 運作速度與核心電壓,經常是直上直下的劇烈反應。

多核心負載平衡 (Multi-core CPU load calc)

  • Maximum of CPU core loads: 切換 FID:VID 是以最高負載那個核心為基準。
  • Average of CPU core loads: 把所有核心負載量加總,平均後,其平均負載量作為切換 FID:VID 的基準
  • Sum of CPU core loads: 加總所有核心的負載量。

使用作業系統負載管理 (Use OS load-based management)

  • 不勾─使用核心負載,管理上述的 Multi-core CPU load calc 設定值,一般而言核心負載量都比 OS 負載量來的大。
  • 打勾─使用作業系統負載,通常此值都比核心負載來的少,應該比較貼近實際使用狀態。

 

(圖五) 整個 RMClock 2.30 的心臟地區!目前先把這一頁的名詞解釋作個整理。

RMClock 2.30 總共可以運行在四種狀態下,分別是

  • 無管理模式 (No Management)。顧名思義啦~~~
  • 省能模式 (Power saving)。此模式下,你只能選擇一種 FID:VID 的組合。CPU 無論工作狀態,都一直在這個 FID:VID 的組合下運作。通常我們為了好記,建議選擇最低檔的 FID:VID 組合,以符合省能源的用意。
  • 最大效率模式 (Maximal performance),同上。建議選擇最高檔 FID:VID 組合。
  • 效能需求模式 (Performance on demand),此模式等同於 CnQ 功能,而且可以非常多個階段,參看圖五的樣子,一般官方版的 CnQ 只有三段,但圖上明顯的至少有 5 段變速。如果每個勾勾都選擇,正如你所想像的,總共有 14 段變速。倍頻接受範圍越的大 CPU,變速能力就越大。參考圖二,可知 Athlon64 4200+ X2 可接受從 4.0X ~ 11.0X 的變速 (包含半倍速)。

(圖六) 舉例最常用的「效能需求模式」,只有這個模式,才允許「複選」FID:VID 組合,而且會自動依照 CPU 使用量改變 CPU 實際的倍頻與核心電壓,這個功能在 AMD 叫做 CnQ,在 Intel 叫做 EIST。

 

(圖七) 由於本篇採用的是 AMD 的處理器,如果你用的是 Intel 的處理器,畫面會與本篇不同。筆者強烈建議採用畫紅線的這個選項,可以建造出最完整的「倍頻變速箱」,Athlon64 4200+ X2 939pin 這顆在此模式下,總共支援 14 段變速~~~

 

(圖八) 雙核心內部時間計數器同步化功能,啟動此功能前,務必確認已經移除 AMD 官方的 Dual-Core Optimizer 驅動程式。設定同步化之後,少部程式的怪現象可以解決,闢如 cfosspeed 的網路流量變成兩倍的問題~~~~就是 TSC 沒有同步導致的。

詳細設定步驟

上面的圖都看完了,現在要動手實際設定了。

  1. 如果你曾經安裝過 AMD CPU Driver,請確實移除掉,重新開機。
  2. 移除掉 CPU Driver 以後,裝置管理員會出現黃色驚嘆號,請拿出 Windows XP 安裝光碟,把 M$ 自己寫的那個「沒有 CoolnQuiet」功能的驅動程式安裝進去。(當然你也可以不必理會黃色驚嘆號,根本沒差)
  3. 務必確認已經移除 AMD 官方的 Dual-Core Optimizer 驅動程式。
  4. 官方網站拿下 RMClock (http://cpu.rightmark.org/download/) 後,解壓縮到任何子目錄 (但不要放在 RAMDisk 內)。
  5. 把 RMClock Utility 放到你想放的地方,因為這個程式不用安裝。
  6. 如果你正在使用舊版的 RMClock,請先關閉 RMClock
  7. 如果你曾經用過 RMClock 或是你升級過 CPU,請先執行 RMClock_WipeOut.reg 這個登錄檔,清除掉所有 RMClock 的設定。
  8. 執行 RMClock
  9. (圖一) Settings 頁,逐步設定每個選項,然後按下 Apply 套用。
  10. (圖四) Mangement 頁,逐步設定每個選項,然後按下 Apply 套用。
  11. 如果你需要半倍頻 (Half FIDs),請切換到 Advanced CPU Setting 頁,由於每顆 CPU 的進階設定不同,請自行找到 Half FIDs 字樣的選項。編按:整數倍頻是 whole FIDs。選擇 whole FIDs 或 half FIDs 支援後,按下 apply,RMClock 程式會重新啟動。
  12. (RMClock 2.30 自動重新啟動)
  13. (圖五) Profile 頁,確認 Current 項目是 No Mangement 的選項,並按下 Default,取得 CPU 的預設 CnQ 參數表。接著按下 apply 套用(此步驟至為重要)
  14. 到此,最關鍵的初始設定已經完成。接下來就是設定 FID:VID 對應的關係,強烈建議把所有 FID 對應的 VID 都設定到正確值。
  15. 設定前,請先關閉 Auto-adjust intermediate states VIDs 功能,此功能會自動調整每一階段的 VID 值,我們超頻時,已經用到「自己定義的 FSB」與「自己選擇 的 VCore」,因此這個功能反而礙手礙腳~~~
  16. 當每一個 FID 對應的 VID 都設定正確後,多檢查幾遍,然後按下 apply 套用
  17. (圖八) Advanced 頁啟動 TSC 同步功能,Core0 or Core1 都可以,按下 apply 套用 (筆者自己是用 Core1,1000ms 每秒同步一次)
  18. 到這一步,基礎設定已經全部完成了,現在要設定效「能需求模式」
  19. (圖六) 選取 P-state 或 ODCM 模式,把你需要的 FID:VID 組合打勾,不需要的取消勾選,然後按下 apply 套用
  20. (圖五) 目前模式設定為 Performance on demand。
  21. 測試系統穩定性。(註一)
  22. 如果你已經確定目前所有 FID:VID 都是運作無誤,可以把 (圖五) 啟動模式也設定成 Performance on demand,順便把 (圖一) 的自動啟動選項打勾,這樣每次開機後,RMClock 就可自動載入,並執行 Performance on demand 的 FID:VIUD 設定組

※註一:由於測試穩定性可能造成電腦當機,造成 RMClock 的設定資料流失,你可以在步驟 16 結束後,先關閉 RMClock,然後在手動啟動,將整個 RMClock 的設定全部巡一遍,看看是否所有設定都是你所要的。

※註二:測試穩定性最理想的工具,就是 Prime95 地獄特訓!筆者另有專文,詳述如何測試每顆核心,高達數百 MB 甚至上 GB 的龐大資料流動,每秒不斷的與各個核心之間強力交換,沒有穩定 CPU 與 Mem 參數設定,幾分秒鐘~幾分鐘之內必定被踢出。反過來說,能通過 Prime95 地獄特訓者,保證 CPU-Mem-NB 之間的資料流動是穩定的,可以適合長時間影像壓縮等等需求,沒有當機的疑慮。

下面兩張圖,是確認 RMClock 已經接管 XP 的電源管理功能,RMClock 2.1 以後會自動進行設定,但為確保起見,還是要巡一下這些設定。

測試電腦穩定性的方法

除了像是 Apple 這種中央廚房生產的電腦以外,大部分都是組裝的,不同製造商生產的零件,兜在一起,難免有細微引發當機的原因,因此測試電腦穩定性有許多層面,以下是一些建議:

為了穩定性測試,最好不要執行一些不相干的東西,例如防毒軟體、防火牆、玩遊戲、看電視、上網語音聊天、等等,這些軟體間的相容性導致的問題,容易誤判是超頻失敗。

觀察測試狀態的程式:

  • CPU-Z (http://www.cpuid.com/download/),請注意,此程式啟動時,會有幾秒到幾十秒沒有任何畫面,別以為是當機了。目前已知會造成當機的衝突的程式,有 iuVCR (看電視)、Speedfan (自動 or 手動調整主機板風扇轉速)、BT 好像也會。建議儘可能單獨執行 CPU-Z,看完了立刻關掉程式避免當機、自動關機等 ACPI 衍生的問題。
  • PerfMonitor (http://www.cpuid.com/perfmon.php)。請注意,啟動 RMClock Utility 之後,再啟動此程式。啟動順序相反,會造成 PerfMonitor 把 HT Link 的數據回報錯誤。反過順序來啟動,就沒有這樣的問題。
測試核心元件 (CPU、記憶體、北橋+南橋) 穩定性:
  • Super PI (http://www.xtremesystems.com/pi/),強調的是 FPU 運算、HT Link、記憶體、硬碟;能夠跑完 2M 是最低要求,理想的是 32M 跑完。
  • Prime95 (http://www.mersenne.org/freesoft.htm),強調的是 packed SSE/SSE2 運算、HT Link、記憶體、硬碟。至少跑 1 HR 不能當機,理想的是能持續 24 HR 不當機。
  • Memorytest86+,這是最理想在 DOS 下直接測試記憶體穩定性的程式,準確度達到 bit 等級,如果 memory 有問題,絕對無法逃避檢查的法眼~~~
※筆者所謂強調的根據,是以 PerfMonitor 測試,看看哪些部分的指令、頻寬佔用的程度明顯根據測試軟體而有大幅度上升而定,例如 Super PI 運作前,FPU 指令幾乎沒有動靜,但是 Super PI 一開始跑,立刻拉到滿檔,Super PI 執行完畢,FPU 指令又靜悄悄的,因次 Super PI 是大量使用 FPU 指令集的軟體。HT Link 是 AMD Athlon64 CPU 與北橋晶片交流的管道,只要 CPU 運作,大部分 HT Link 的速度都會隨著 CPU 使用率而成正比。※坊間測試程式有越來越多的趨勢,順應著超頻玩家的需求而開發,不外乎長時間重度 CPU 運算、大量記憶體資料交換、或是大量資料不斷的硬碟讀寫,為的是知道系統的界線。測試顯示卡 (已經離題了,顯示卡超頻與 CPU 超頻無關,但順便題一下):
  • 3DMark 2003/2005/2006,主要觀察顯示卡熱平衡點是否過熱?有否破圖?
  • VirtualDub 搭配 Avisynth 的 FFT3DGPU,利用 FFT3DFilter 的 GPU 版本,把顯示卡繪圖核心當成 FPU 使用,藉此分擔 CPU 忙碌的狀態,對於壓縮影像速度有立竿見影的果效!(提升幅度因電腦配備而有差異,筆者的電腦上,提升約 47% 左右) (參看影音處理 FFT3dGPU 項目)
Windows XP 無法正確抓到 RMClock 頻率的解決方法

當你設定好 RMClock 以後,可用 CPU-Z 來同步監測電壓與頻率的變化,可是....RMClock 內部的頻率偵測卻沒有改變,始終保持固定在某一個頻率 (通常是預設頻率,開機時 BIOS 所設定的),這到底是怎麼回事?

在 RMClock.htm 裡面,有這樣的解決方法

Q: The core frequency/throttle of my Athlon 64 CPU reported by RMClock stays the same, despite the FID changes. What's wrong?

這段落的內容就是解法

Fortunately, a solution exists for this bug, and it requires editing the boot.ini file found at the root directory of your system disk drive (e.g., C:\boot.ini). To force the OS use the ACPI timer as HPC clock source, you need to add /USEPMTIMER option to your current system settings, e.g.,

"multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect"

should become:

"multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer"

也就是說,你要在 boot.ini 檔案 (通常是隱藏在 C:\ 跟目錄),這是 XP 開機時需要用到的啟動參數檔,加上 /usepmtimer 參數,重新開機後,XP 就會抓到正確的 CPU 頻率。

DDR 400 @ 500+ 的意外

原本買電腦時,沒打算超頻,更沒打算因為要超頻而去買超頻記憶體,不過由於在超頻調整時,意外的發現 Samsung UCCC 顆粒用 3-3-3-8 這樣的預設參數,用預設 2.5v 跑 DDR 480 毫無問題,不過無法進 DDR 500 。於是把參數下修到 3-4-4-8 以後,仍用預設的 2.5v 跑 DDR 535 仍然沒有問題,這算是超頻過程中的樂趣。

遺憾的是,整體效率如果用 SuperPI 2M 來看,提升幅度連 0.5 sec 都很勉強,這得歸咎於 DDR 提供的頻寬,遠比 CPU 的需求來的大,SuperPI 並不是非常需要不斷的大量記憶體資料交換的程式,或許 CAD or Photoshop 類型的程式,高速記憶體的增幅會比較明顯吧?