Palominoのthermal diode

初出 2001.08.27


さてさて、お待たせしました。誰も待っていなかったかもしれませんが、とにかくお待たせしました。

AMD Athlonの新コアAthlon MP(Palomino)が発売されてから既に2ヶ月半、やっとのことでPalominoに搭載されているthermal diodeの特性測定を終了しました。

もっと早く測定したかったのですが、ちょっとした問題がありましてね。
1 Athlon MPが高すぎて手が出なかった。
2 室温が30℃を超える日が続いていて測定ができなかった。
特に1の問題は大きかったです。私は今までずっとINTEL系のCPUだけを使ってきたため、SocketAマザーを持っていません。マザーを持っていないのに2万円を軽く超えるCPUを購入するのはどうも気が進まなかったのです。
これを機会にAMD系のCPUに乗り換えるというのも、今ひとつ踏ん切りがつかなかったのです。

しかし、「thermal diodeおたく」として、thermal diodeが搭載されているCPUを手に入れてその特性を測定することは義務?というものです。

そこで、とりあえずAthlon MPのジャンクを探してみることにしました。
thermal diodeの個体差 その3でも書きましたように、たとえCPUがジャンクであってもthermal diodeはほとんどの場合生きていますから、何の問題もないわけです。

そして手に入れたのがこの2個のCPUです。

Athlon MP その1 Athlon MP その2

Athlon MP その1 Athlon MP その2

左側のCPUは前の持ち主から相当に惨い扱いを受けたようで、コア欠けがものすごく、その上コアの右にあるコンデンサまでが割れています。右側のCPUは一応外観はきれいです。が、何せ対応マザーを持っていないので、この2つのCPUが動作するかどうか試すことさえできません。でも、今回の目的はthermal diodeの特性測定だけですから、動作する・しないはどうでもいいことですけど。

とりあえず今後の整理のために、左側のCPUをNo1、右側をNo2と呼ぶことにしておきます。

測定方法はthermal diodeの個体差 その3と全く同じです。ただ、ここで上に書いた問題の2が発生したわけです。

クーラボックスに電球を入れて、温度を上げていくことで特性測定をしているわけですから、室温より低い温度での測定はできません。そして、我が家で私が実験を許されている部屋にはエアコンはついていないのです。
特性は、少なくとも30℃からの測定をしておきたいところです。そのためには、室温が30℃を切ってくれないとどうしようもありません。

ということで、もうすぐ秋になろうというこの季節をじりじりしながら待っていたのです。

さて、測定結果です。それぞれのCPUについて2回の測定をしてその平均を取っています。少数以下1桁までの数値を書いてありますが、有効桁は少数以上と見ていいでしょう。
比較のためにCeleron566のデータを青字で記載してあります。このCeleron566はCoppermineコアCPUのthermal diodeの平均に近い特性を持ったCPUとして選んだものです。

 動作電流    CPU   30℃    40℃    50℃    60℃    70℃ 
  10μA   No1   637.0   618.0   598.0   578.0   558.0
  No2   640.0   622.5   602.5   583.0   563.0
 Cele566    610.0   590.0   570.0   548.0   529.0
  25μA   No1   662.0   643.0   624.0   605.0   586.0
  No2   664.5   646.5   628.5   609.0   590.5
 Cele566    634.0   615.0   596.0   575.0   556.0
  50μA   No1   680.0   662.0   644.0   625.0   606.0
  No2   682.5   666.0   647.5   629.5   611.0
 Cele566    652.0   634.0   615.0   595.0   577.0
  100μA   No1   698.5   681.0   663.5   645.5   627.5
  No2   701.0   684.5   667.5   649.0   632.0
 Cele566    671.0   653.0   635.0   616.0   598.0
  200μA   No1   717.5   700.5   684.0   666.0   649.0
  No2   720.0   704.0   687.5   670.0   654.0
 Cele566    690.0   672.0   655.0   636.0   619.0
どうやらPalominoのthermal diodeの特性はPentium系のthermal diodeのものとかなり違っているようです。同一温度、同一動作電流で比較してみると、Palominoの動作電圧は30mV以上大きくなっています。その上に、No1CPUとNo2CPUの個体差も結構あり、3mV〜5mV程度の差が出ています。

とりあえず、Palominoのデータをグラフにしてみたものがこれです。

Athlon MP内蔵theermal diodeの特性

黄色のグラフがNo1CPU、赤色がNo2CPUの特性です。グラフは、下から動作電流が10μA、25μA、50μA、100μA、200μAのものです。

こうしてみると温度特性は直線ですから、INTEL系との特性差を気にしなければPalominoでもダイ温度測定は可能です。

ただ、W83782Dなどのモニタチップは、INTEL系CPUのthermal didoeで温度を測定するように作られていますから、そのままで、Palominoの温度測定をしようとすると実際の温度よりも低い温度が表示されてしまうでしょう。
もちろん、温度読みとりソフト側で補正をかければいいわけですが。

現在のところ、Palominoのダイ温度測定に対応したマザーはまだ売り出されていないはずですが、近い内に必ず出てくるでしょう。そして、その測定用のチップはたぶんW83782Dかその系列のチップになると思います。この時に、マザーボードメーカがW83782DでPalominoの温度を測定するためにはソフト的な補正が必要だと言うことを考えてくれるかどうかが、大きな問題となってきます。心配ですねぇ。何の補正もせずにINTEL系のCPUと同じ方法で測定すれば、実際の温度よりも10度以上低い温度が表示されますから。

ただ、モニタチップとしてMAX1617系を使用する場合は、こんな心配はありません。このことについては、後で書きます。

とりあえず、Pentium系との比較のために上のグラフにCeleron566のデータを加えたのが下のグラフです。

Coppermineとの比較

青いグラフがCeleron566のものです。
重ねると見難くなるので、100μAのグラフだけを抜き出したものがこれです。

Coppermineとの比較 100μA

グラフにしてみると歴然ですが、両者の差は結構大きいものがあります。

試しに、Celeron566で校正した秋月温度計にPalominoを接続してみました。

Celeronで校正した秋月温度計 No1CPUを接続 No2CPUを接続

3つの写真の上側の温度計は室温を表示しています。
左の写真はCeleron566での表示です。校正しているのですから当然室温と同じ温度を表示しています。
真ん中がNo1CPU、右側がNo2CPUです。室温と比較してみても、10℃以上のずれを示しています。

まぁこの程度のずれであれば、秋月温度計をちゃんと校正してやれば使えるようになるはずです。上のグラフでも判るように、Celeronと違ってはいてもその温度特性は直線ですから、秋月温度計の校正によって正確なダイ温度測定が可能になります

最後に、MAX1617での測定について考えておきます。

MAX1617の測定方法は、MAX1617の温度測定原理にも書きましたように、ダイオードに値の違う2つの電流を流し、それぞれの電流でのダイオード両端電圧を比較することによって温度を求めています。この方法の利点はダイオードの種類に関係なく温度測定が可能であるという点なのです。

ダイオード特性の理論式は次の式であることは何度も書きました。
I=Io(exp(Vd*q/nkT)-1)
ここで問題になるのはIoなのです。Ioはダイオード固有の値で、ダイオードの種類が違うと違った値となるのです。

MAX1617の温度測定原理をもう一度見ていただきたいのですが、MAX1617の測定方法はこのIoを消去してしまっています。つまりダイオードの種類に関係なく測定ができるわけです。このあたりがW83782Dなどによる測定とは違っています。

MAX1617での温度測定式は次の式です。
T = (Vd2-Vd1)*q / nk*ln(I2/I1)
ここで、1を10μA、2を100μAとしてみます。2/I1は10になります。
また、qは1.602×10-19kは1.38×10-23です。nはAthlonMPのdata sheetに記載してある標準値の1.008として、10式を計算すると、こんなふうになります。
T = 5.00×(Vd2-Vd1 ・・・ 12
この時の電圧の単位はmvです。温度Tは絶対温度です。
この部分は、ほとんどMAX1617の温度測定原理からのパクりです。nの値までがCoppermineとPalominoで同じになっていますので、計算式は全く同じになっています。
さてこの式と上の測定データを使って温度を求めてみましょう。No1CPUとNo2CPUの測定値の平均を使用してみることにします。
実際の温度 (℃) 10μA時の電圧 (mV) 100μA時の電圧 (mV) 計算による温度 (℃)
30 638.5 699.8 33.5
40 620.3 682.8 39.5
50 600.3 665.5 53
60 580.5 647.3 61
70 560.5 629.8 73.5
実際の温度と計算で得られた温度に多少の違いはありますが、一応、誤差の範囲であると考えます。
このように、MAX1617による温度測定は、ダイオードの種類を選ばない(ただし、シリコンダイオードに限りますが)と言う点でなかなか優れた方式であることが分かります。

結局のところ、Palominoのthermal diodeを使用した温度測定は次のいずれかの方法によることになります。
1 校正された秋月温度計
2 MAX1617シリーズのモニタチップを利用した測定
3 W83782Dシリーズのモニタチップを使用して測定温度を補正
4 Palomino用に開発されたモニタチップを使用した測定
4のモニタチップが開発されるのは(もし開発されるとしても)もう少し先になるでしょう。
3の方法も温度補正を持った読みとりソフトが必要になりますので少し難しいでしょう。だいたい、どの程度の補正をしたらいいのかがいまいちはっきり分かりません。
2の方法の欠点は、MAX1617が非常に手に入りにくいということです。
結局おすすめの方法は1の秋月温度計です。現在のところ、個人で何とかできるのはこの方法しかないと思います。半田付けが必要だというのと校正が必要だというのが少し難点ですけど。
余談
palominoとはどういう意味なんだろうと辞書をひいてみました。「馬の品種の一つ」だそうです。
何だって馬の品種なんか??thunderbirdと一体どういう関係が??

そう言えば、palominoが出る前に幻となってしまったコードネームmustang(ムスタング)があったはずです。
thunderbirdとmustangは両方とも車の名前ですね。そしてmustangは馬の品種(というか野生の馬)でもあります。palominoの次のコアはthoroughbred(サラブレッド)だそうですから、しばらくは馬の品種で行くのでしょうか?

熱暴走によって使い物にならなくなったpalominoは焼き鳥ならぬ「焼き馬」なんでしょうか。(個人的には馬は焼くよりも馬刺にしたほうがいいです。)

Duronの現行コアはSpitfire(スピットファイアー)で、こいつは飛行機です。Duronの新コアMorgan(モーガン)は車です。車も馬も飛行機も「乗り物」という統一ジャンルに入ります。そう言えば、飛行機にもmustangがあったような・・・。

そうそう、辞書によればpalominoの発音は、もっとも近いカタカナで書くと「パラミーノゥ」になります。「lo」は「ラ」に近い発音ですし、「mi」の所にアクセントがあります。これまでずっと「パロミノ」だとばかり思っていました。

前のページへ