CPU 温度取得方法 WinRing0 調査結果

メモ書き
 
CPU温度取得思いのほか手間がかかりますね。
 
WinRing0 (各種ハードウェアアクセスライブラリ HiyoHiyo様)
CPUのMSRレジスタを読むことが可能で、このMSRレジスタの中に、DTS(Digital Thermal Sensor)の情報がある。
 
Intelだと
ここのドキュメントに説明があります。
 
このフォーラム中にも記載あり
–抜粋
DTSでは、必要なのはMSR (Intel), NBレジスター (AMD)を読み、簡単な計算式に乗せるだけだ。

AMD CoreTemp = DTS_Value – 49
Intel CoreTemp = Tjunction – DTS
(Core Tempの仕様)

 
でもって、一番わかりやすいのがこちらのページでした。
→ソースコード公開されています。
 
というわけで
Intelの場合 MSRを読んで、それなりの温度表示は可能なようです。
いまひとつ不明なのが、計算式
Intel CoreTemp = Tjunction – DTS
 
のTjunction部分、
CPUデータシートを読んでいますが、、、
あーわからん。
 
その後、
いろいろと調べた結果
たぶんですが、Tjunction(Tj Max)の値は正式には公開されていないようです。
 
あちこちのリソースをあさった感じでは、
[Intel Tj Max]
Core 2 Duo E8000/E7000
100℃
Core 2 Quad Q9000/Q8000
100℃
 
Atom 330
125℃
Atomに関しては、CoreTempのTjMax値による
 
うーん、まーいいか。
 
  1. トラックバックはまだありません。

コメントを残す