そして故障…【AthlonXPの温度とAsus PC Probeの嘘】

■K7DDR の謎
■前回残された疑問点
 崩壊そして復活では,あれこれ試行錯誤した 後に,『下駄+Cooler Master DRACO-XP+Mobile AthlonXP 1800+』という構成で, 安定稼働に漕ぎ着けました.そして,検証中に様々な疑問点が沸き上がって来て いましたが,とりあえずは『動いたから良しとする』と,あまり深く追求するのは やめておこうかな…と,考えておりました.しかし,その後ある方からメールが あり,AthlonXPのコア温度に関する意見交換をするうちに,やはりきちんと検証し た方が良いだろうという結論に達し,以下の事柄を調べてみることにしました.

  • Asus PC Probe の報告する CPU 温度は正しいのか?
  • Asus PC Probe および BIOS は,きちんと CPU 内蔵のサーマルダイオードから CPU 温度を取得しているのか?
  • 下駄付きの場合は CPU 温度が低く表示されるというのは本当か?
  • 本当に C.O.P 機構が働いて電源が落とされているのか?

 当初は複数の環境で温度を測定するだけですので,1,2時間もあれば一通りの データが取れるのではないかと考えていました.しかし,結果的には予想外の結果 が確認され,また,CPU を巻き込んでの M/B 故障という事態に陥ってしまいました…

■AthlonXP のコア温度の謎
■CPU コア温度の検出方法
 昔の M/B では,CPU 温度を検出するために,CPU ソケット裏もしくは CPU スロットの近くにサーミスタが取り付けてあり,これを用いて温度測定をしてい ました.そのため,実際の CPU 温度が計測することは無理であり,常に実際の 温度よりも低い温度が報告されていました.

 しかし,現在の Intel および AMD ,VIA製の CPU には,CPU コアにサーマルダイ オードが内蔵されています.そのため,CPU ピンに出力されているサーマルダイ オード端子両端の電位差を計測することにより,より正確に温度を測定することが 可能です.また,電位差は一定の定数で温度差に比例して低下します(反比例と書いた 方が良いかも…)ので,特定の 温度で分解能が落ちたりすることはありませんし,また,コア温度の上昇および 下降に敏感に反応します.

 この辺りの話は,おの氏の CPUの内部温度を測定しよう に非常に詳しくかつ分かりやすくまとめられているので,一読をお勧めします.

■C.O.P 機構
 Athlon 系 CPU を長く使用されてきた方であれば,冷却能力の低いCPUクーラー を使用したり,クーラーの故障により CPU が焼損してしまう事故について 聞いたり,あるいは自ら体験したことがあるかと思います.一時期頻発していた, 『Thunder Birdコア Athlon の焼き鳥』事故です.Intel の Pentium3/4 系の CPU であれば, オーバーヒートした際には自動的にクロックを下げて焼損を防ぐ保護回路が 内蔵されているために大事には至りませんが,Athlon の場合は存在しないため, 大事に至る可能性があります.

 その後,Palomino コアの AthlonMP からサーマルダイオードが内蔵される ようになり,AMD 製の CPU であっても,CPU の実際の温度をきちんと計測可能に なりました.しかし,依然上記のような保護回路は CPU に内蔵されていないため, M/B 側でこれをハンドリングし,保護策を講じる必要があります.これが Asus の場合は C.O.P (CPU Overheating Protection)という技術で実装されて います.CPU が高温になった場合,自動でハード的に電源を落とす機構です. M/B 製品紹介のページなどを読んでみますと,95度を閾値として,この機構が 機能するようです.

 なお,このような保護回路が無い場合,どのような事態になるかに関しては, 最新プロセッサの発熱問題 を見てみると良いでしょう.実際に目の当たりにすると,その怖さが分かると 思います.(公開された翌日,私の元に,『例のアレ,見た?すごいよね. 煙出てるよ〜』と,沢山のメールが届きました)

■K7DDRはどのように CPU 温度を検出しているのか
 AMD 系 CPU を使用する Asus 製 M/B では,いくつかの実装方法が存在する ようです.1つは古い方式,つまり CPU ソケット近くのサーミスタで計測する方法. そしてもう一つは,サーマルダイオードで温度を計測する方法です.しかし,おの氏 のページにもある通り,サーマルダイオードで温度計測が可能な M/B であっても, 必ずしもそれを使用しているというわけでは無さそうです.

 基盤のパターンを追っていくのが最も確実だとは思いますが,今回は時間が 限られていた ため,Motherboard Monitor(MBM)を 使用し,ソフト的な方向から確認してみました.なお,ソフト本体は英語版ですが, ダウンロードページ から,Language packをダウンロードし,MBM インストール後に日本語の エクステンションをインストールすることにより,メニューなどの日本語化が可能 です.

 MBM を起動し,左のメニューから『温度』を選びます.すると『Sensor1〜』の 表示に,どの『出力データ』を表示するかを設定できます.そしてこの『出力データ』 は,MBM が M/B をスキャンし,自動的に利用可能なものをリストアップします.

 
K7DDR では,ITE8705F SuperI/O chip の1〜3ラインの他,W83L785TS-Sが見える

 そして実験に先立ち,以下のように各センサーをアタッチし,表示するようにしました.

センサー名アタッチした内容
Sensor1ITE8705F-1
Sensor2ITE8705F-2
Sensor3ITE8705F-3
Sensor4W83L785TS-S Diode

 MBM の表示画面は以下のようになります.

 
MBM表示画面

 そして MBM 起動後,Asus PC Probe を起動し,CPU 温度および M/B 温度を確認 してみます.MBM の Sensor1,Sensor2 表示が Asus PC Probe の表示する CPU,M/B 温度と同じであり,何か PC 上で操作を行うと,連動して上下することが 分かると思います.

 
Asus PC Probe の温度表示画面
(MBM 画面と異なるタイミングのスナップショットのため,表示温度は異なります)

 一方,Sensor4 は『ダイオードモード』で W83L785TS-S の出力をアタッチ しましたが,これはその他の出力はダイオードモードではまともな値を表示し なかったためです.そして,おそらくこの出力が AthlonXP の CPU 内蔵サーマル ダイオードではないかと当たりを付けました.検証方法は至って簡単です.ちょっと した CPU 負荷をかけると連動して急激に温度が上昇し,負荷を無くすと同じく 下降するかを調べるだけです.

 「午後のこ〜だ」で負荷をかけて試した所,Sensor4 が CPU 内蔵サーマル ダイオードの出力ということでほぼ間違いないだろうという結論に達しました.

■検証実験
■実験の概要
 さて,それでは実験の方法ですが,以下の5パターンの実験を計画しました.

構成名 ケースファン CPUクーラー CPU
構成1 ノーマルファン(回転数MAX) DRACO-XP Mobile AthlonXP 1800+
構成2 ノーマルファン(回転数MAX) サーマルコンポーネント Mobile AthlonXP 1800+
構成3 ADDAファン サーマルコンポーネント Mobile AthlonXP 1800+
構成4 ノーマルファン(回転数MAX) サーマルコンポーネント AthlonXP 1900+(Palomino)
構成5 ノーマルファン(回転数MAX) DRACO-XP AthlonXP 1900+(Palomino)

 まずケースファンに関して補足説明をしますと,MBM を起動することにより Q-FAN が利かず,ケースファンは最大回転数になってしまいます.そのため, 構成3はケースファンを ADDA のファンに交換し,『ノーマルファン+Q-FAN』 での最低回転数と同程度の風量を再現します.そして構成4,構成5では,下駄 の影響を見ようという実験構成です.

 そしてこれらの構成で K7DDR を起動し,負荷をかけるために,午後のこーだ で10分間の耐久ベンチを行い,各温度の上昇を記録しました. なお,厳密には温度を定間隔でチェックした方が良いのですが,今回は結果的に 『上昇が顕著になったタイミングで温度を控える』方法になりました.そして MBM のポーリング間隔は1秒間とし,可能な限り逐次アップデートして表示する ように設定しました.

 ちなみに室温は 21度の状態で計測を行いました.

■構成1の実験
 まずは,先日のトライで安定稼働状態になった, CPU ファン付きの構成での実験です.

センサー名 実験開始前[℃] 3分後[℃] 10分後[℃]
Sensor1 36 37 39
Sensor2 42 43 44
Sensor3 51 64 22
Sensor4 58 64 65

 このように,おそらく CPU のサーマルダイオードの値を示していると 思われる Sensor4 の値は,Asus PC Probe が CPU の温度として報告して いる温度よりも遙かに高い値を示しています.また,各時刻のΔ(温度差) を見てみると,例えば開始前から3分後間で Sensor1 は 1度であるのに対 し,Sensor4 は 6度.そして 3分後から 10分後の間で見ると,それぞれ 2度と 1度です.

 このことから,Asus PC Probe の報告する CPU 温度は全くあてにならないのと同時に,この値はサーマルダイオード の温度を元に,何らかの計算を行った値ではなく,どこか(おそらく CPU ソケット付近?)の気温を測定しているのではないかということが 推察されます.

■構成2の実験
 次にノーマルファンを最大回転数で回転させた(MBM 起動時の副産物では ありあますが)際に,サーマルコンポーネントを使用して CPU ファンレス稼働 させた際の温度変化です.

 なお,前に行った実験で,普通にサーマルコンポーネントを取り付けると FDD に干渉して若干コアから浮き気味に取り付けられる可能性が示唆された ため,今回は取り付け方法を変更しました.サマコンを下の方にずらし,PCI スロットの上側1本にオーバーハングする状態で取り付け,FDD に干渉しない ようにしています.

センサー名 実験開始前[℃] 1分後[℃] 10分後[℃] 終了後30秒[℃]
Sensor1 41 41 42 42
Sensor2 43 42 42 41
Sensor3 52 49 46 40
Sensor4 72 79 83 73

 このように,10分後に CPU コアの温度が 83度にまで上昇しており, 非常に危うい状態と言えます.また,今回は負荷をかけるのを停止した 後,どのように各温度が下がるかも 1回だけ測定してみました.Sensor1 は下降する気配がありませんが,Sensor4 の示す CPU コア温度は一気に 低下しています.

 このことからも,Asus PC Probe の表示する CPU 温度は,サーマル ダイオードを利用していない可能性が高いと言えます.

 また,ノーマルケースファンの最大回転数と同程度の風量を得られる ファンであれば,辛うじて CPU ファンレスが可能かもしれないという 可能性を示唆しています.ただし,この状態ではファンの巻き 起こす騒音が非常に激しいため,静音化とは相容れないものがあります. また,今回は室温 21度の環境で実験を行いましたが,夏場での使用を 考えた場合,室温30度以上になることが考えられます.つまり,各温度が それぞれ+10度底上げされることになりますので,夏場の利用はまず無理 です.

■構成3の実験
 この構成は,ノーマルケースファンを Q-FAN で回転数制御し,CPU ファンレス で動作させた状況に近い状況を再現しています.以前の実験で,ケースファンの 回転数は CPU 温度の上昇に連動して高回転化しなかったほか,ADDA ファンを使用 した際に,この状態と同程度の温度でしたので,ほぼ同じ状態 を再現できていると思います.また,静音9cmファンは ADDA 製ファンと同程度の 風量ですので,静音ファンを使用したシチュエーションも再現していると思います.

センサー名 実験開始前[℃] 1分後[℃] 3分後[℃] 7分前後[℃]
Sensor1 43 44 46 47
Sensor2 45 45 46 47
Sensor3 37 43 55 64
Sensor4 77 85 88 90

 最後は C.O.P 機構が働き,強制シャットダウンされました.

 最後に読みとれた Sensor4 の値は 90度でしたので,測定誤差などを考え ますと,『C.O.P はコア温度 95度でシャットダウンを行う』という Asus の説明にも 矛盾は生じません.つまり,このことからも,Sensor4 は CPU コアの温度 (サーマルダイオードの示す温度)を示しており,C.O.P はこの値を使用して 稼働しているという仮説が証明できます.

■構成4,構成5の実験
 結論を先に書きますと,故障により測定できませんでした.

 実験中にジャンジャン電話がなるわ NHK は集金に来るわで集中力を欠いて いたこともあり,実験前に BIOS 設定で Q-FAN を disable にするのを忘れて いたり,サマコンがきちんとコアに密着しているかの確認を怠ってしまいました.

 その結果,BIOS 画面に一瞬移行した後で C.O.P 発動.再度起動するも BIOS 画面にたどり着けず.もう一度…と思って試すも今度は電源が入らず.CPU の問題 かとも思い,手持ちの Duron 1.3GHz を試すも,C.O.P が働いてBIOS 画面にたどり 着けず.

 再び Mobile AthlonXP 1800+ に交換した所,今度は電源は入るが, BIOS POST に移行すらしない状態になっていました.Power LED すら点灯しませんので,深刻 な状態です.また,上記の AthlonXP 1900+ および,Duron 1.3GHz を別のマシンで 試した所,焼死していました…

 なお,過去の実験では,下駄無しで AthlonXP 1900+ を動かした際に,C.O.P. が働く温度は Asus PC Probe の読みで 57度付近である一方,下駄ありの場合は 44度付近でした.C.O.P. が必ず一定の温度で電源を落としているのだとすると, やはり下駄の有無で Asus PC Probe の報告する温度が変化している可能性があります.

■まとめ
 非常に高い代償を払うことになりましたが,多くの示唆に富んだ教訓を得ました. 簡単にまとめると,次のような感じです.

  • Asus PC Probe の報告する CPU 温度は全くあてにならない
  • C.O.P. は CPU 内蔵のサーマルダイオードから CPU 温度を取得しており, 90度+αに達した段階で,ハード的に電源を落とす
  • K7DDR で CPU ファンレス構成での静音化と両立させた使用は非常に困難または危険
  • C.O.P. という保護回路が搭載されていても,CPU や M/B を 100% 故障から 守るものではない.最悪のシチュエーションである,発火や発煙を防ぐ機構と 考えた方が良い
  • NHK の受信料は,家に訪問して集金という形態に戻ったようだ(口座引き落としは別)

 結局後に残ったものは,無惨にも焼死した CPU 2個と故障した K7DDR,NHK の受信料の領収書でした.K7DDR は修理に出す手配が済んでおりますので, 今後しばらく手元を離れることになりました.Mobile AthlonXP 1800+ が生きて いただけでも幸いとするべきかも…

 ちなみに,K7DDR に取り付けてあった機器類は,Terminator Tualatin 2号機 に引き継がせました(medioさん ありがとう).パフォーマンスは大幅ダウン (これには Celeron 1.4GHz を乗せている)ですが,安定性という面では安心感があります.ただ,組み上げる 際に,BIG WAVEII という CPU ファン付きのクーラーを乗せてしまった辺りは, 『羮に懲りて膾を吹く』といった感じかもしれません…

 なお,Terminator Tualatin で MBM を実行してみたところ,ITE8705F に3ライン 温度監視センサが接続されているのが確認でき,Asus PC Probe が CPU 温度と して使用する Sensor1 に関しては,CPU 内蔵のサーマルダイオードに接続されて いるのが確認できました.そのため,Terminator TU に関しては,Asus PC Probe の報告する CPU 温度の値を信じて良いと思われます.


『Asus Terminator 活用メモ』 へ戻る