消費電力

最後にちょっと消費電力について。Previewでも簡単な形で消費電力の比較を行ったが、この時はシステム全体の消費電力という形での結果となっている。そこで、CPUのみの消費電力はどんなものか、をちょっと測定してみた。

方法は簡単で、CPUとビデオカードに電力を供給するEPS用の8pinコネクタに流れる電圧と電流を、デジタルテスタとクランプメータでリアルタイムに測定して記録するだけである。

従来のマザーボードの場合、電源回路は概ね図14の様な構造になっていることが多い。2×4pinの12VコネクタからはCPUやGPUの様に負荷変動が大きく、かつ大電流が必要なデバイスへ供給を行い、24pinの電源コネクタはDIMMやチップセット、オンボードデバイスなどに電力を供給するという仕組みだ。このため、厳密に言えばGPUの分も一緒に計算することになってしまうが、3Dをバリバリ動かしている時はともかく、2Dアプリケーションを動かしている時には、それほどたいした消費電力とはならないだろう。

さて、ここでCore i7というかDX58SOの特徴だが、BIOS Setupの中で何コアを同時に動かすか、を設定することが可能だ(Photo07)。そこで、1/2/4コアで、かつHTを有効/無効に切り替えることでどの程度消費電力が変わるか、も一緒に試してみた。

Photo07: ALLは4コア全部、1は1コアのみ、2は2コアのみとなる。3が無いのが残念

グラフ78がその結果である。テストはSandraのArithmetic Benchmarkに絞って実施した。このテストの場合、前半がALU(SSE4.2、という表記になっているが、殆どはALUのようだ)を使ってのDhrystone、後半がFPUまたはSSE3を使ってのWhetstoneとなっている。

さて、グラフをみるとコアの数と消費電力が見事な比例関係を描いている事が見て取れる。また、HTの有効/無効による消費電力の変化もわかりやすい。

そこで、これをちょっとコアの数と消費電力、という関係で描き直したのがグラフ79と80である。

点が実際の測定値、点線は線形近似をかけてみた結果だが、見事なほどに綺麗に数値が出てきている。近似値の横に、それぞれの近似式を記してあるが、コアが0個、つまりCPUが全く動いていない場合で8.65W(HT無効の場合)ないし9~10W(HT有効の場合)。Sandra Intの場合コアあたり18.0W(HT無効の場合)ないし22.4W(HT有効の場合)。Sandra Floatだとコアあたり13.7W(HT無効の場合)ないし18.9W(HT有効の場合)という事になる。HTを有効で、4コアをフルに使って概ね100W位といったところか。

ただ、この数値はUncoreの消費電力が異様に少ない気がする。UncoreとはつまりL3 Cacheと3chのMemory Controller、それにQPIのI/Fで、これを全部あわせて8~9Wというのは、いくらなんでも少なすぎる気がする。実際、ここから更にGPUへの供給分が幾分かあることを考えると、Uncoreの分は1Wとか2W位しか残らない事になる。

ここからは筆者の想像であるが、どうもCore i7向け(というか、少なくともDX58SO)では、図15の様な電源供給になっているのではないかと想像される。つまり2×4pinから供給されるのはCPUのCore部分のみで、Uncoreの部分は24pinの側の12Vから供給されるという仕組みだ。こう考えると、2×4pin側が待機時にかなり電力が減る事も腑に落ちるし、TDPが130Wといわれてもなるほどと思える。

ところでもう一つ、HTの有効/無効で結構大きく消費電力が変化するのは面白い。まず性能についていえば、4コアをフルに使った状態で、

HT有効 HT無効 性能向上率
Sandra Int 84860MIPS 73951MFlops 14.8%
Sandra Float 74939MIPS 46737MFlops 60.3%

となって、IntはともかくFloatでは目覚しい性能アップが実現できているのだが、Core部の消費電力比で言うと、

HT有効 HT無効 消費電力増加率
Sandra Int 99.0W 80.9W 22.4%
Sandra Float 85.5W 63.7W 34.2%

となり、FloatはともかくIntでは明らかに分が悪い。Core i7ではパフォーマンスと消費電力のトレード比を1:1にすることを目指した筈で、Intに関してはこれが守られていない様だ。