初出 2001.02.17
改訂 2001.03.03
このサイトでは過去に2回「thermal diodeの個体差」と題するページを作っています。
1回目のthermal diodeの個体差では、たった4個のCPU(それもCeleronのみ)をデジタルテスターのダイオードテストモードを使って常温で比較しただけのものでした。
2回目のthermal diodeの個体差その2は、結局のところ机上での計算にすぎません。
実際のCPUに内蔵されているthermla diodeがどれだけの個体差を持っているのか、W83782Dなどのモニタチップによる測定ではどれだけの誤差を覚悟しなければならないのか、気になります。
それに、Intel CPUのthermal diodeにも書きましたが、Deschutesコア、Katmaiコア、MnedochinoコアのCPUとCoppermineコアのCPUでdata sheetのn_idealityの値が違っているというのも気になるところです。
そこで、とにかくできる限りたくさんのCPUでもう一度個体差を測定してみようと考えました。
これが測定したCPUたちです。ここには17個のCPUが写っていますが、実際に測定したのは2001年2月16日現在で23個です。
一体どうやってこんなにたくさんのCPUを集めたのか? ご安心下さい。このCPUたちのほとんどはジャンク:つまり動作しないものなのです。CPUとしてはジャンクでもthermal diodeは生きているものばかりですから、今回のような実験には最適です。
白状します。一時期yahooオークションのジャンクCPUの相場を引き上げたのは私です。すみませんでした。(笑)
一応、Celeron、PentiumII、PentiumIIIを各種取りそろえ、Deschutes、Katmai、MnedochinoとCoppermineの比較もできるようにと考えました。ただ、残念ながらこの程度の数のCPUでは統計的処理をするのには不足です。もっとたくさんのCPUを測定したかったのですが、財力も時間的余裕も底をついてしまいました。
でも、一応の傾向は出たようですので、測定結果を公表することにしました。
測定の方法は、以前のthermal diodeの温度特性での方法とほとんど同じです。釣り用のクーラボックスを断熱箱にして、その中に発熱体として白熱電球を入れ、白熱電球を制御する事によって、クーラボックス内の温度を変化させようというものです。
ただ前回の測定での温度管理は、カー用品の温度計をにらみながら調光器で電球を調節するという、人間の目と人間の手だけが頼りの家内工業的手法でした。この方法では、ちょっと気を許して目を離すといつのまにかクーラボックス内の温度が大きく変化してしまって、うまく思った温度にまで持っていけないと言う大きな欠点がありました。
そこで、今回は温度の自動制御に挑戦をしました。
使用したのは、秋葉原の千石電商で売っているサーモコンパレータキットです。その取扱説明書によれば、2つのサーミスタを使用した温度比較器や、どちらか一方のサーミスタを固定抵抗にして温度スイッチが製作できます。温度比較器はペルチェ素子を利用した常温維持装置などに、温度スイッチは一定温度に保つ用途などに応用できます。とあります。
今回は、温度スイッチとして一定温度に保つ用途に使用するわけです。
サーモコンパレータキットはオペアンプとトランジスタスイッチを組み合わせたものです。だいたい左のような回路になっています。
オペアンプというのは、差動入力の直流増幅器ですから、左の図ではA点の電圧とB点の電圧の差が出力C点に反映されます。
ここで、A点の電圧がB点よりも高い場合はC点はマイナスになり、逆にA点の電圧がB点よりも低い場合はC点はプラスになります。
オペアンプの出力側は、トランジスタスイッチにつながっています。この回路のトランジスタスイッチの場合、C点がマイナスになるとトランジスタスイッチはONの状態でリレーに電流が流れリレーがONになります。逆にC点がプラスの場合は、トランジスタスイッチはOFFでリレーもOFFです。
このように入力側の電圧の状態によって、リレーをON/OFFすることができる回路ですが、入力側はサーミスタの両端電圧と比較用抵抗の両端電圧ですから、結局はサーミスタと比較用抵抗の抵抗値を比較していることになります。
つまり、サーミスタの抵抗値が比較用抵抗よりも大きい(温度が低い)場合はリレーはON、逆の場合は、リレーはOFFになるわけです。
比較用抵抗をうまく調節してやれば、決められた温度以下でリレーがON、決められた温度以上になればリレーがOFFになりますから、これで電球を制御してやればクーラボックス内の温度を一定に保つことができるはずです。
今回は、クーラボックス内を20℃から70℃まで10℃きざみで変化させて測定することにしましたので、半固定抵抗を6個用意し、ロータリースイッチで切り替えて、温度制御を行うことにしました。
右の写真が完成した温度制御機構です。左側の部分がサーモコンパレータで、右側の部分は半固定抵抗とロータリースイッチになっています。半固定抵抗の調整に少し手間取りましたが、一度調整してしまえばあとは決めた温度でリレーがON/OFFしますので、測定は非常に楽になりました。
余談ですが、これからサーモコンパレータキットを組み立てようという方へのアドバイスを。R8に並列に数μF程度の電解コンデンサを入れた方がいいです。(2.2μF程度、極性はオペアンプ側がマイナス、トランジスタ側がプラス)
このコンデンサがないとリレーがバタつくことがあります。ひどいときにはリレーがブザーのように鳴ってしまいます。
上の写真の左側が測定風景です。見難いかとは思いますが、クーラボックスの中にはCPU、電球、温度計用のセンサ、サーモコンパレータ用のサーミスタが入っています。クーラボックスの左側にあるのは古いパソコンから取り外した電源で、サーモコンパレータ用の12V電源として使用しています。こういう実験の時には結構便利な電源です。
その前にあるのが、サーモコンパレータキットを使用した温度制御機構、その右は電流調整&ダイオードの電圧降下測定用回路(真ん中の写真)です。thermal diodeの電圧−電流特性で紹介している回路にもう一個微調整用の半固定抵抗をつけたものです。
クーラボックスの前にあるのは、調光器(右の写真)で、今回は温度調節にこれも併用しました。
その前にあるのはデジタルテスターで、電流と電圧の測定用です。
最後に、クーラボックスの上に乗っかっているのが、デジタル温度計です。前回の測定ではカー用品温度計を使っていたのですが、今回は熱帯魚などの水槽で使用するものを使いました。棒状水銀温度計で比較してみたところ、こちらの方が誤差が少なかったのです。
測定は20℃から70℃まで10℃きざみで、ダイオードの電流10、25、50、100、200μAについて行いました。今回は「5回測定してその平均を取る」というポリシーは脇へ置いておきます。そんなことしていたら、冬が終わる前に測定が終わらなくなってしまいます。室温が20℃以下でないとこの測定はできないのですから。
下の表が今回測定したCPUたちです。
| | CPU | S-SPEC | 製造週 |
製造地 | コアタイプ | Stepping | CPUID |
| 1 | Celeron 300A | SL2WM | 98.49 |
MALAY | Mendochino | mA0 | 0660 |
| 2 | Celeron 300A | SL36A | 99.26 |
MALAY | Mendochino | mB0 | 0665 |
| 3 | Celeron 333 | SL2WN | 98.45 |
COSTA RICA | Mendochino | mA0 | 0660 |
| 4 | Celeron 333 | SL36B | 99.08 |
MALAY | Mendochino | mB0 | 0665 |
| 5 | Celeron 366 | SL376 | 99.07 |
COSTA RICA | Mendochino | mA0 | 0660 |
| 6 | Celeron 400 | SL39Z | 98.51 |
COSTA RICA | Mendochino | mA0 | 0660 |
| 7 | PentiumII 400 | Q739ES | 98.46 |
??? | Deschutes | | |
| 8 | PentiumII 400 | SL2U6 | 98.51 |
MALAY | Deschutes | dB0 | 0652 |
| 9 | PentiumII 400 | SL2U6 | 99.03 |
MALAY | Deschutes | dB0 | 0652 |
| 10 | PentiumII 450 | SL2U7 | 98.44 |
MALAY | Deschutes | dB0 | 0652 |
| 11 | PentiumIII ??? | ??? | ??? |
??? | Katmai | | |
| 12 | PentiumIII 450 | SL35D | 99.36 |
COSTA RICA | Katmai | kC0 | 0673 |
| 13 | PentiumIII 500 | SL365 | 99.05 |
MALAY | Katmai | kB0 | 0672 |
| 14 | Celeron 533A | SL46S | 00.15 |
MALAY | Coppermine | cB0 | 0683 |
| 15 | Celeron 566 | SL46T | 00.12 |
MALAY | Coppermine | cB0 | 0683 |
| 16 | Celeron 566 | SL46T | 00.13 |
MALAY | Coppermine | cB0 | 0683 |
| 17 | Celeron 566 | SL46T | 00.27 |
MALAY | Coppermine | cB0 | 0683 |
| 18 | Celeron 633 | SL3VS | 00.20 |
MALAY | Coppermine | cB0 | 0683 |
| 19 | Celeron 633 | SL4NY | 00.38 |
MALAY | Coppermine | cC0 | 0686 |
| 20 | PentiumIII 500E | SL3R2 | 99.45 |
MALAY | Coppermine | cA2 | 0681 |
| 21 | PentiumIII 700 | SL45Y | 00.20 |
MALAY | Coppermine | cB0 | 0683 |
| 22 | PentiumIII 800 | SL4MA | 00.41 |
PHILIPPINES | Coppermine | cC0 | 0686 |
| 23 | PentiumIII 850 | SL47M | ??? |
??? | Coppermine | cB0 | 0683 |
なかなかに壮観でしょう?Mendochino Celeronが6個、Deschutes PentiumIIが4個、Katmai PentiumIIIが3個、Coppermine Celeronが6個、Coppermine PentiumIIIが4個です。このほとんどがジャンクなのですが、もし動作品だったら一財産なんですけどね。
23個のCPUについて、10、25、50、100、200μAでの温度特性の測定をしましたので、測定データはかなり大量なものになってしまいました。見づらくなってしまいますので、このページにはデータを載せることはいたしません。測定データをご覧になりたい方は、こちらからダウンロードできます。excell型式のデータをLHAで圧縮してあります。解凍してお使い下さい。
まず、このデータによって作成したグラフです。
5本の塊はそれぞれが23個分のグラフの集まりです。下から動作電流が10μA、25μA、50μA、100μA、200μAの時のデータです。
特性の偏差は、温度が高いほど大きくなっており、70℃近辺では温度の測定誤差にして5℃程度ありそうです。温度の低いところでは、これほど偏差は大きくなく、20℃近辺では3℃程度に収まっています。
グラフの黒い線はCoppermineコアのCPUのもので、赤い線はMendochino、Deschutes、Katmaiコアのものです。こうしてみると、やはりCoppermineとそれ以外のコアではthermal diodeの特性が少し違っているようです。黒い線は下側に、赤い線は上側にかたまっています。
そこで、Coppermineとそれ以外のコアとの差を数値的に比べてみるために、CPU1個毎にこんなグラフを作りました。
Excellには近似曲線を作成する機能がありますが、その時に近似式も表示させることが可能です。この機能を利用して温度を絶対温度表記とし、温度特性直線の特性式をグラフに表示させたものです。
便利になったものですねぇ。昔は電卓片手に最小二乗法の計算を必死になったやったものですが、全く文明の利器というものは有り難い。これだけの量のグラフを電卓で計算していたら徹夜では終わらないでしょうね。
で、Excellに計算させた特性式 y=ax+b のa、bをCPU、動作電流毎にまとめたのが次の表です。ここで、aは直線の傾斜、つまりdiodeの特性の温度傾斜で、bは絶対零度の時のdiodeの電圧降下です。
なお、測定の際の有効桁数が3桁であるため、下の表も有効桁数3桁として4桁目を四捨五入してあります。
| CPU | タイプ |
温度傾斜 (mV/oK) |
電圧 at 0 oK (V) |
| 10μA | 25μA | 50μA | 100μA | 200μA |
10μA | 25μA | 50μA | 100μA | 200μA |
| Cele300A | Mendochino |
-1.98 | -1.91 | -1.83 | -1.79 | -1.71 |
1.21 | 1.21 | 1.21 | 1.22 | 1.21 |
| Cele300A | Mendochino |
-1.99 | -1.91 | -1.85 | -1.78 | -1.74 |
1.21 | 1.21 | 1.21 | 1.21 | 1.22 |
| Cele333 | Mendochino |
-1.94 | -1.86 | -1.80 | -1.75 | -1.68 |
1.20 | 1.20 | 1.20 | 1.21 | 1.20 |
| Cele333 | Mendochino |
-1.92 | -1.84 | -1.78 | -1.71 | -1.65 |
1.20 | 1.20 | 1.20 | 1.19 | 1.19 |
| Cele366 | Mendochino |
-2.00 | -1.92 | -1.87 | -1.79 | -1.72 |
1.22 | 1.22 | 1.22 | 1.22 | 1.22 |
| Cele400 | Mendochino |
-1.97 | -1.89 | -1.83 | -1.77 | -1.70 |
1.21 | 1.21 | 1.21 | 1.21 | 1.21 |
| Pen2 400 | Deschutes |
-2.01 | -1.91 | -1.86 | -1.80 | -1.74 |
1.22 | 1.21 | 1.22 | 1.22 | 1.22 |
| Pen2 400 | Deschutes |
-1.97 | -1.91 | -1.83 | -1.77 | -1.70 |
1.21 | 1.21 | 1.21 | 1.21 | 1.21 |
| Pen2 400 | Deschutes |
-1.97 | -1.89 | -1.83 | -1.77 | -1.72 |
1.21 | 1.21 | 1.21 | 1.21 | 1.21 |
| Pen2 450 | Deschutes |
-2.00 | -1.91 | -1.85 | -1.78 | -1.72 |
1.22 | 1.22 | 1.22 | 1.21 | 1.21 |
| Pen3 ? | Katmai |
-1.97 | -1.88 | -1.82 | -1.76 | -1.68 |
1.21 | 1.21 | 1.21 | 1.21 | 1.20 |
| Pen3 450 | Katmai |
-1.98 | -1.90 | -1.82 | -1.78 | -1.70 |
1.21 | 1.21 | 1.21 | 1.21 | 1.21 |
| Pen3 500 | Katmai |
-1.97 | -1.89 | -1.83 | -1.77 | -1.69 |
1.21 | 1.21 | 1.21 | 1.21 | 1.21 |
| Cele533A | Coppermine |
-2.04 | -1.95 | -1.89 | -1.83 | -1.76 |
1.23 | 1.22 | 1.22 | 1.23 | 1.22 |
| Cele566 | Coppermine |
-2.05 | -1.96 | -1.86 | -1.83 | -1.76 |
1.23 | 1.23 | 1.21 | 1.23 | 1.22 |
| Cele566 | Coppermine |
-2.02 | -1.95 | -1.89 | -1.81 | -1.77 |
1.22 | 1.22 | 1.22 | 1.22 | 1.23 |
| Cele566 | Coppermine |
-2.05 | -1.96 | -1.90 | -1.84 | -1.78 |
1.23 | 1.23 | 1.23 | 1.23 | 1.23 |
| Cele633 | Coppermine |
-2.01 | -1.94 | -1.88 | -1.81 | -1.74 |
1.22 | 1.22 | 1.22 | 1.22 | 1.22 |
| Cele633 | Coppermine |
-2.01 | -1.94 | -1.87 | -1.82 | -1.73 |
1.22 | 1.22 | 1.22 | 1.23 | 1.22 |
| Pen3 500E | Coppermine |
-2.01 | -1.93 | -1.87 | -1.81 | -1.74 |
1.22 | 1.22 | 1.22 | 1.22 | 1.22 |
| Pen3 700 | Coppermine |
-2.01 | -1.92 | -1.87 | -1.80 | -1.72 |
1.22 | 1.22 | 1.22 | 1.22 | 1.21 |
| Pen3 800 | Coppermine |
-2.02 | -1.96 | -1.88 | -1.81 | -1.74 |
1.22 | 1.23 | 1.22 | 1.22 | 1.22 |
| Pen3 850 | Coppermine |
-2.06 | -1.96 | -1.90 | -1.85 | -1.77 |
1.24 | 1.23 | 1.23 | 1.23 | 1.23 |
面倒なことをやってみた甲斐はあったというものです。Coppermineとそれ以外では明らかに数値が違っています。
この冬の間ほとんど3ヶ月をかけてこの測定を続けていました。23個という数は多いようで本当は十分な数ではないのですが、一応の結果がでましたので、終了しようと考えています。
それに、もうすぐ暖房なしで室温が20℃を超える季節が来ようとしています。室温が20℃を超えてしまえば、この測定はできなくなってしまいます。クーラボックスを暖めることはできても、冷やす方法をうまく考えつかないのです。単に氷を入れただけでは望む温度に一定させることができるとは考えられませんから。
ただ心残りは、Pentium4の測定をやっていないことです。data sheetによれば、Pentium4のthermal diodeのn_ideality値はMendochinoやKatomaiともCoppermineとも違っているのです。その意味で上の表はまだ未完成です。
上の表を完成させるためには、最低でも5個のPentium4の特性を測定したいところです。でも、Pentium4を5個も買う余裕は私にはありません。
そこで相談なのですが、どなたかPentium4を私にくださる方はいませんでしょうか。(笑)