CPUの温度取得に関するメモ3

MSR(Model Specific Register) 0x19C Bits [22:16] で温度が取得できることは確認できたが、このセンサーの値は、Tjmax への相対値であることがマニュアルに書かれている。しかし、そのTjmaxの値をMSRから取得する方法がマニュアルに書かれていない。

いろいろ探していたらば、

http://software.intel.com/en-us/forums/deleted-posts/topic/51574/page/1/

で、MSR 0xEE で取得が可能なようだが、undocumented だそうだ。ちょっと古い資料なので、85度か100度と書かれている。

http://www.xtremesystems.org/forums/showthread.php?t=179044&page=23

によると、0xEE の bit:30 で、0=100 1=85 といううわさもある。

一方、Q6600 では、95度らしいという書き込みもある。

http://www.xtremesystems.org/forums/showthread.php?t=179044&page=27

Atom の場合、20度室温で 0x19C Bits [22:16] から88前後が返されているので、100度にしても合わない。

http://download.intel.com/design/processor/datashts/320032.pdf

によると、a catastrophic processor temperature of 125°C (maximum), or if the THERMTRIP#
signal is asserted, ということで、125度とすると、ちょうど37度となり、それらしい値になる。

MSR 0xEE で取得してみると、

000000EE: 00000000 02F90002

となり、仕様が分からない。

http://www.bugtrack.almico.com/view.php?id=1150

によると、

if bit 30 of MSR(0x00EE) is 1 then
  Tjmax=85
else
  Tjmax=100
endif
if CPUID=0x06F2 then Tjmax=100
if CPUID=0x06FB then Tjmax=100
if CPUID=0x10676 then Tjmax=Tjmax+5

こんな情報もある。

それにしても、xtremesystems.org のスレッドがものすごいことになっているのには、驚いた。

いずれにしても、インテルが仕様をはっきり書いていない(NDAを結ばないともらえないらしい)のが悪いということがよくわかった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です