Soft Cooling in Summer

「夏をのりきる冷却の工夫(2)」は、SoftWareクーリングがテーマです。
ソフトクーラーの紹介と、秘伝o(^-^)o! Win98へのACPI導入です。

    2000.06.18  Takapen Signed  


ソフト・クーリングとその効果。

CPUは、絶えず全力で演算動作をしている必要はありません。
やる仕事のないときには、休止しておき、全力疾走を要求されるときにがんばってくれればいいのです。

まずは、その都度紹介する、わたしのマシンの温度変化を、あらためてごらんください。

熱関係の、主要諸源は以下の構成です。

ケース    Freeway FW-OTX-XS 250W
ファン    背面:排気8cm + 電源ファン(排気) 前面:吸気8cm
CPU     Celeron533A@896MHz
クーラー   アルファPEP66T+山洋6cmDC PicoAce25(回転数センサー付)
ビデオカード Creative GB RIVA TNT Core115/Mem125MHz、α4.5cmシンク+4cmファン
HDD     Quantum LM20 7200rpm、FBEX-6400A 5400rpm、IBM DTTA371010 7200rpm
マザー    ASUS P2B-F



実験日は、6月10日、室温23度(ちょっと涼しい日)でした。

  π
419
idling
π ⇒
1677万
実行




idling
idling

Temperatureの
赤線:CPU1は、ヒートシンク(コア横)
緑線:CPU2は、ビデオチップのヒートシンク
青線:M/Bは、マザーの監視チップ

FanSpeedの
Caseは、ケース背面の8cmファン
CPU1は、ヒートシンクの6cmファン
CPU2は、ケース前面の8cmファン

<テスト条件>
起動後、1分間アイドリング後に、π419万桁を実行。
アイドルリング。
温度安定後、π1677万桁実行。
温度上昇のピークを確認し、ケースの横蓋を開ける。
温度安定後、ケースの横蓋を閉じる。
πが終了し、温度安定後、再びケースの横蓋を開ける。

<わかること>
1)ケースの蓋を開けると、5度下がる。
  いかに熱排気がケース内にこもるかがわかる。
2)アイドル状態になると、CPU温度は急激に下がり、
  マザーの監視チップの温度と(ケース内温度)、
  同等まで、短時間で下がる。

このアイドル時の急激な温度低下が、CPU休止の「HLT命令」(※)の効果です。
  ※(次の実行命令がくるまで {Idle状態}、CPUの動作を停止 {Suspend Mode} し、節電をはかる命令)
このHLT命令の処理は、たぶんナノ秒単位で制御されていると思いますので、
ベンチや、3Dゲーム、MP3エンコーディング、など、多量の演算処理を連続して実行する必要のない、
通常の使用(ビジネスアプリやインターネット)であれば、絶えず細かに停止状態になっています。
通常使用であれば、CPUの温度が上昇することがないくらい、効果があります。

Windows98 では、通常インストールされる「APM」の電源管理では、Hlt命令の発信は行いません。
ですから、特別な処置をしなければ、CPUの温度は上がりっぱなしになります。
新たな演算処理がなくても、クロックに合わせて空動作で、通電し続けます。

どんな効果があるかというと、
1) PCの通常使用時の、CPUの常態温度を下げる。
2) 電気代が浮く。しいては環境に少しはやさしい。
3) マシンを安定させやすい。

3)については、特に、オーバークロックさせていて、ベンチも通るのだけれど、
インターネットをしているときなど、普通に使っている時に、突然固まることがある。
といった経験のある方は、ぜひ導入してみてください。

(CPUが高温に張り付いたままの状態で、突然負荷がかかると、暴走のきっかけになりやすい。)

一方、オーバークロック時のCPUの耐性向上には、基本的にはなりません。ご注意ください。


クーリング・ソフトあれこれ。

Windows98で、CPUのアイドル時に、休止のHLT命令をだす環境をつくるには、
「クーリング・ソフト」を導入する。
Windows98の電源管理をACPIモードにする。
のふたつの方法があります。

まずは、手軽な「クーリング・ソフト」を紹介します。

CpuIdle http://www.cpuidle.de/ シェアウェア
CpuCool http://members.xoom.com/podien/CPUCOOL.HTM シェアウェア
Waterfall Pro http://www.processor.org/leading_wintech/ シェアウェア
Rain Waterfall Pro と同じ作者で、現在は公開中止。 フリーウェア

「Rain」は、早い時期からオーバークロックにとりくまれた方の、ご用達ソフトでしたが、
98年末くらいで、作者のページでは公開中止となり、今はWaterfall一本になっています。

ところが、インターネット上のダウンロードサイトで、未だにダウンロード可のところがあります。
いいのかな?(><@) とは思いますが、紹介しておきます。いずれはなくなるでしょう。

「 http://www.joybar.de/download.htm 」
http://www.joybar.de/files/rain20.zip

「 http://www.processor.org/files.htm 」
http://www.processor.org/rain10.zip

ftp://ftp.cdrom.com/.1/3dfiles/tweakfiles/processor/rain10.zip

http://cpu.simplenet.com/rain10.zip

Rain10 と Rain20 の違いは、私もよくわかりません。
また、Rainは、私の環境では、ネットワークと相性があるようで、
ネットワーク監視ソフトが固まることがありました。
ネットワーク監視ソフトが、定期的にネットワークの状態を取得しにいくのですが、
なんだかのタイミングで、HLT命令と衝突し、ハングするようでした。


Windows98に、ACPI電源管理を導入する。

もうひとつの、抜本的方法は、Windows98にACPI電源管理を導入することです。

Win98の電源管理は、標準では、APMモードでインストールされます。
これを、ACPIモードでインストールするか、ACPIモードに変更してやれば、
HLT命令を、Windows98 自身が発するようになります。ソフト・クーラーは不要になります。


ACPIモード導入の条件と注意!!

マザーのBIOS、ハードウェア(特に拡張カード類)、OS(Windows98)
の全てが、ACPIに完全対応している場合のみ、実行してください。


ISAバスボードがあると、100%失敗します。
PCIバスボードでも、98年以前の製造の物があると、だめかもしれません。
綿密に調べてから実行しないと、痛い目に会います。当然、自己責任です。

マザーによっては、ACPI対応Biosとなっていても、実際にはWindows98を、
ACPIモードでインストールできなかったり、インストールできても、
サスペンドからの復帰でフリーズするなど、不具合があるものもあります。
事前に情報を集められることを、お勧めします。
情報源としては、マザーの製造メーカーのFAQ、Niftyの改造系フォーラム、
Win98のニュースグループの過去ログ などに、時々でています。

成功すれば、クーラーソフトを使うより、格段に快適で、安定しています。
リソースの消費も少なくて済みます。
 最後にもう一度、自己責任ですよ。

APCIモードの解説については、Microsoftの以下のページを参照してください。
http://www.microsoft.com/JAPAN/support/kb/articles/J046/1/94.htm
http://www.microsoft.com/JAPAN/support/kb/articles/J046/1/98.htm
(英語) http://support.microsoft.com/support/kb/articles/Q189/0/91.ASP


比較的安全な、新規インストール時のSetupオプションの指定での導入。

Win98の新規インストール時に、オプションをつけて強制的に、
ACPIモードでインストールするのが、比較的安全です。
と言うのは、失敗したらあきらめて、ハードディスクを再フォーマットして、
通常(APMモード)でインストールしなおせばいいからです。あきらめがつきます。

ACPIモードでインストールするには、起動ディスクからDOSで立ち上げて、
Win98フォルダの、setuo.exe に、「setup.exe /pj 」のオプションを付けてやります。

なお、Win98のセットアップ時のオプション指定については、
Microsoftの、英語ページになりますが、以下をご参照ください。
<Win98のsetup スイッチ>
http://support.microsoft.com/support/kb/articles/Q186/1/11.ASP?LN=EN-US&SD=gn&FR=0



危険はともなうが、APMモードからACPIモードへの移行方法

インストール後、APMからACPIモードに、レジストリを操作して変更することも、
可能ですが、留意点も多く危険性も高くなります。
方法は、英語になりますがMicrosoftの以下のページを参照してください。
ここが、唯一公式に方法を解説したページで、残念ながら、日本語ページはありません。
(英語) http://www.microsoft.com/HWDEV/desinit/RetailUp.htm

<APMからACPIモードへの移行方法解説>

Windows98のレジストリを直接操作しますので、覚悟が必要です。
レジストリ操作前には、必ずレジストリファイルのバックアップし、
Rest操作で、もとに戻せるようにしておいてください。
また、失敗すれば、Win98は立ち上がらなくなり、再インストール以外に方法はありません。
必要なファイル、もしくは、システム全体(ディスクイメージ)を、バックアップしておいてください。

(転ばぬ先の杖(^^ゞ、ではなくって、転んだ後立ち上がるための杖です(><@))

手順を示します。

Windows98のCD-ROMのWIN98フォルダ以下を、HDDにコピーしておきます。

これは作業途中で、デバイス設定変更のため再起動し、
デバイスドライバ関係を、読み込む工程が何度かあります。
ところがタイミング悪く、CD-ROMが認識不能の状態の時に、再起動がかかります。
この時、インストール元のパスの指定を、前述のCDをコピーしたハードディスクの、
Win98フォルダを指定してやることで、問題回避します。
これを怠ると、CDは読めませんから、次の作業はできず、移行に失敗して、
Win98は、みごとに死んでしまいます。私は、一度目にこの罠にみごとに嵌りました(^^;)


レジストリエディター(regedit.exe)で、以下のレジストリ情報を開き、書き換えます。

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Detect
を選びます。
その状態で、「編集」「新規」「バイナリ」と進んで、バイナリの「新規値」を作ります。
その「新規値」を選んで、右クリックで「名前の変更」で、ACPIOptionに名前を変更します。
次に、作った「ACPIOption」を選んで、右クリックして「変更」を選ぶと、ダイアログボックスがでます。
「値のデータ」のところの、0000 に続いて"01 00 00 00"という値を入力します。

   <レジストリエディターの操作見本>


前述のMicrosoftの英文マニュアルでは、DWARDタイプの文字列追加で、
ACPIOptionを作成し、 データに 「1」 を入力とかかれています。
どちらも試してみましたが、どちらでも変更可能でした。どちらでもよいようです。

レジルトリエディターを閉じます。


コントロールパネルから、「ハードウェアの追加」を選んで、新しいデバイスを「自動検出」してください。

次々にデバイスを認識し、再起動をなんどかうながされ、途中でインストールCDを要求してきます。
そこで、HDDにコピーしたWin98フォルダを指定してやります。

完了したら、デバイスマネージャーで競合状態や、全てのデバイスがインストールされたか確かめます。
問題なければ、めでたくACPIモードのパソコンに変身します。

   <ACPIモードのシステムのプロパティの見本>



ハイリスク・ハイリターン の典型のような作業です。
成功すれば、クーラーソフトを使うより、格段に快適で、安定しています。
みなさんの、ご成功を、心よりお祈りしておりますm(._.)m



追加説明:Q&A

Q1. 自分のPCのWin98が、APMモードか、ACPIモードか、見分ける方法?

システムのプロパティの、デバイスマネージャーを開きます。
APM -> Advanced Power Management (アドバンスドパワーマネージメントサポート)
ACPI -> Advanced Configuration and Power Interface (ACPI) BIOS


Q2. ACPIから、APMモードに戻すには?

「ACPIOption」の「値のデータ」を、0000 に続いて"00 00 00 00" とします。
DWARD指定の場合は値を「0」にします。
「ハードウェアの追加」を選んで、新しいデバイスを「自動検出」してください。
それ以外の手順は、前述と同じです。

ただし、Microsoftから、以下の技術情報が発信されています。
「ACPIを削除する方法」
http://www.microsoft.com/JAPAN/support/kb/articles/J054/1/71.htm
12/31/99 より新しい BIOS Date 持つ ACPI BIOS 搭載のコンピュータの場合は、
"02 00 00 00" にしないと、ACPIを削除できないとのことですので、お気をつけください。


Q3. ACPIにすると、「ACPIバスで使用されるSCI IRQ」が、IRQをひとつ消費する?

ただし、これも通常のデバイスと同様に、IRQステアリング機能を使って、
IRQの共有にすることができます。
IRQ共有によるパフォーマンスの低下は、全く感じません。


Q4. Rain(ソフト・クーラー)を導入すると、
システムモニターの「カーネル:プロセッサ使用率」がたえず100%になる?

HLT命令を出すために、絶えずCPUの稼動状況の応答をとり、
HLT命令を出しつづけているからだと思われます。
一秒間に、人間からみれば、ものすごい回数繰り返しているはずです。
これをシステムモニターは検知して、100%使っていると見誤るのだと思います。
「休め!休め!休め!・・・・」と、休まず命令をだしている矛盾(@_@)。
パフォーマンスへの影響ですが、CPUの動作クロック回数からすれば、
これとて、わずかなものでしょうから、ほとんど影響はないと思います。
ベンチでも、明らかな差がでたことはありませんでした。


Q5. Win98 で、低負荷時にCPUの動作クロック自動で落として低電力クーリングは?

基本的にできないと思います。Win98のACPIの電力低減は、アクティブ・クーリングと、
呼ばれる方式のみサポートしているようです。詳しくは、以下をご参照ください。
http://www.microsoft.com/JAPAN/support/kb/articles/J049/3/43.htm