MS-DOSでCPUのクロックやコア電圧を設定可能最小値にするプログラム

COREMIN Ver. 0.95 使用説明書

Copyright (C) 2011-2017 DOSsoft

1. 目的

 MS-DOSで使っているときにはCPU負荷が大きい状態におかれます。 省電力機能のある最近のCPUでも、クロックやコア電圧は定格まで 上昇してしまいます。MS-DOSで使用するときにそれほどのCPUパワーは 要りませんので、CPUクロックやコア電圧を最小に設定しておけば 無駄な電力消費を抑えられます。クロック倍率は一般にはマザーボードの BIOSで設定すればよいのですが、それが不可能なマザーボードも多いことや、 DOSで使えるクロックダウンソフトウェアがないことから、本プログラムを 作成しました。無駄な電力を省いて夏を乗り切りましょう。

2.対応CPU

 intelのデスクトップ用COREシリーズ(Core2、Core-i 相当)のみに 対応します。モバイル用Coreシリーズではまったく検証していないので、 動作結果がどうなるかわかりません。対応外とします。 Pentium4/PentiumD以前のCPUや、AMDのCPUではいっさい動作しません。 無理に実行した場合、結果がどうなるもかわかりません。

※ 2017.4.1現在 Core-i3/5/7 第1世代のCPUは持っていないためVID表示は検証できません

※ 2017.4.1現在 Core-i3/5/7 第4,5,6世代のCPUは持っていないため対応していません

※ 現時点で確認されていないCPUはPentiumII/IIIと表示されますが何も行われません

3.使い方

 まずはダウンロードしたLHAアーカイブファイルを解凍して、 COMREMIN.EXEを適当なディレクトリに取り出しておいてください。

 MS-DOS または Windows 9x のconfig.sysファイルの先頭行にdevice文 として以下のように記述して下さい。メモリ関係のデバイスドライバよりも 先に記述する必要があります。himem.sysや emm386.exeよりも先です。

[記述例]

★起動ドライブのrootディレクトリにある場合(フロッピーなど)

device=COREMIN.EXE

★COREMIN.EXEを C:\Windows\Commandのディレクトリに置いてある場合。

device=C:\Windows\Command\COREMIN.EXE

 要するにCOREMIN.EXEファイルが存在するpath名をつける必要があります。

CORE-i の場合(※)、倍率の値を指定することもできます。

device=COREMIN.EXE /MUL 20

 のように、/MUL の後にスペースを空けて数値を書くと、 その倍率になります。ただし指定できる値はCPUのモデルによります。 最大はCPUのもつ能力に依ります。コア温度が低ければTurboBoostの上限までは 設定できるようです。

 i5-2500K のような倍率ロック解除のCPUでは、/MUL のパラメータ指定に 既定倍率以上の値を指定できます。本プログラムは省電力化のために 作られましたが、DOSで一時的にクロックを上げたい場合でも使用できます。
※ Core2でも機能しますがVIDを最低値にしてしまっているため動作しない場合があります。また0.5倍単位の設定はできません。

4.動作結果

 DOS起動時点でクロックが最小化されます。 Core2ではFSB(100,133,166,200,266,333,400MHzなど)の6倍に、 Core-i第1世代ではFSBの9倍(基準FSBは133MHzなのでクロック2000MHz)に Core-i第2世代ではFSBの16倍(基準FSBは100MHzなのでクロック1600MHz)に なります。Core-i第3世代ではなぜか8倍に下げることができるようです。 (EIST,C1Eでは16倍までしか下がりませんが)

 またやコア電圧のVIDも最小値になります。ただしVIDは実際のコア電圧 とは必ずしも一致しません。マザーボード上のボルテージレギュレータの コントローラが、独自にコア電圧を設定している場合があること(いわゆる オーバーボルテージ機能で)や、当然起こりうる電圧ロスがあるためです。

 本プログラムではミリボルト単位でVIDを表示しますが、 CPUによっては正しい値にならないかもしれません。VIDを読み出す ことができるMSR(モデル固有レジスタ)の仕様に関する公式的情報が ないので、独自に調べた情報をプログラムに組み込んであります。 そのため実際にテストしていないCPUではどうなるかわかりません。 なおCLOCK倍率の設定にはMSR 199hのEAXを使用し、VIDの読み出しには MSR 198hを読んでいます(CPUによってbitの意味はまるで違うようです)。

5.注意

 CPUの判別はあまり厳密にはおこなっていません。Pentium以前の CPUで使用することはないものと仮定して設計されています。

 config.sysの先頭で記述してください。少なくともHIMEM.SYSよりは 前に置いてください。EMM386より後ではまったく実行できません。 なお仮想86モード下でなければ、コマンドラインでの実行もできます。 そのためEXE形式のファイルとなっています。

 マザーボードによっては、あるいはそのBIOS設定によっては、本プログラムで クロックを変更できない場合があります。このようなときはマザーボードの BIOS設定で次のいずれかのことを試みてください。
・C1Eを無効にする
・EISTを無効にする
それでもダメなら
・マルチコアでなく強制的にシングルコア動作にする(設定があれば)
・割り込みモードを拡張APICではなく従来互換にする(2007年頃以前のマザーボードにこの機能がある場合があります)

 マザーボードBIOSのオーバークロック機能を使用して電圧変更を おこなっている場合、すなわち電圧を既定値よりオフセットで下げていて、 かつC1Eを解除して動かしている場合は、十分な注意が必要です。 VIDも連動で最低となることによりコア電圧が既定より著しく下がって しまうため、本プログラム実行後にCPUが動作しなくなる可能性があります。 電圧の下げすぎには注意してください。

6.お約束

 このプログラムは「フリーソフト」ですが、著作権は作者にあります。 著作権者の意向を無視したことはしないでください。たとえば不特定多数が ダウンロードできる場所への無断転載は禁止とします。

 本プログラムを使用する場合は、無責任・無保証とします。すなわち このプログラムを使用したことによるあらゆる損害、被害、などについて、 一切当方は責任を負わないものとします。また使用できなかった場合に ついても同様です。

7.改版履歴

版  日付    内容
0.90 2011. 8.15 第2世代Core-i 3/5/7の普及に合わせて公開
0.93 2011. 8.17 デバイスドライバ時コマンドラインが効かなかったのを修正
0.94 2012. 5.25 第3世代Core-i 3/5/7に対応
0.95 2017. 4. 1 第1世代Core-i 3/5/7に対応

[戻る]