図1●Opteron 875とPentium Extreme Edition 840の内部構造
米Advanced Micro Devices社のOpteron 875はマルチプロセッサの調停機構を集積している。一方米Intel社のPentium Extreme Edtion 840の調停機構はチップセットにある。前者は調停が2.2GHz動作のプロセッサ内で完結するのに対し,後者はFSB 800MHzのチップセットを介する必要がある。
図2●デュアルコア動作時の性能伸び率
1コア動作時のテスト結果を1とした相対性能。実アプリケーション性能を測定する米Futuremark社の「PCMark04」を使用した。Opteron 875とPentium Extreme Editionでデュアルコア動作時の効率に大きな差は見られない。
 1チップに二つのx86CPUコアを集積したデュアルコア・マイクロプロセッサ。2005年4月18日に米Intel社がクライアント向けの「Pentium Extreme Edition 840」を,同4月21日に米Advanced Micro Devices(AMD)社がサーバー向けの「デュアルコアOpteron」の出荷を相次いで開始した。

 前者はPentium 4ベースのCPUコアを二つ集積。動作周波数は3.2GHz。仮想マルチプロセッサ機構のHyper-Threading(HT)による論理コアを合わせると,最大4スレッドの同時実行が可能だ。Pentiumブランドの最上位製品という位置付けで,単価は999ドル(1000個ロット時)である。

 後者には4~8プロセッサ構成に対応するOpteron 875(動作周波数は2.2 GHz)/870(同2GHz)/865(同1.8GHz)がある。このほか2プロセッサ構成が可能な275(同2.2GHz)/270(同2GHz)/265(同1.8GHz)を2005年5月下旬に出荷する。価格帯は1000個ロット時で,9万3610~29万1390円だ。

 さっそく両社のデュアルコア・マイクロプロセッサの実力を検証したところ,大きな差は見られなかった。比較したのは,デュアルコア動作時の効率。つまり,CPUコアを2個動かしたときに,1個の場合に比べどれだけ性能が高まるかである。デュアルコアの場合,二つのCPUコアが持つキャッシュのコヒーレンシ維持とバスの調停(アービトレーション)をしなければならない。この処理のオーバーヘッドをどこまで抑えられるかが効率向上の鍵を握る。

 AMDとIntelの違いは,キャッシュ・コヒーレンシ維持やバス調停の機構をオンチップに集積しているかどうかにある。AMDは2000年に投入したOpteronプロセッサに,あらかじめ調停機構を組み込んでいた(図1(a)[拡大表示])。一方IntelはPentium 4のCPUコアを単に二つ並べた構成を採り,CPUコア間の調停はチップセットに任せる(図1(b)[拡大表示])。

 両者を比較すると,デュアルコアOpteronはキャッシュのコヒーレンシ維持やコア間の調停をプロセッサ内で処理できるため,外部のチップセットに頼るIntelに比べると性能面で有利だ。当初からデュアルコアを想定していたAMDと,当初投入予定だったPentium 4の改良版の開発を2004年5月に中止して,急きょクライアント向けのデュアルコア・マイクロプロセッサ投入を前倒しにしたIntelの違いが,構造に表れている。

2コア動作の効率ではほぼ互角

 マルチコア動作の時の効率を見るために,2コア時の性能が1コア時に比べどれだけ高くなるかを測定した。テストには実アプリケーション性能を測定する米Futuremark社の「PCMark04」を使用。CPUコア数の制御はWindows XPの起動オプション(boot.iniの/NUMPROCで指定)を用いた。Pentium Extreme Edition 840は物理コアを優先して使うため,HT有効時の1コア動作を実現できない。このためHTを無効にした状態で測定した。

 結果を見ると,Opteron 875とPentium Extreme Edition 840で2コア動作時の効率に大きな差は出なかった。デュアルコア構成程度では,キャッシュのコヒーレンシ維持とバスの調停機能の実装手法の違いによって,実アプリケーションの動作速度に大きな差が出ることはないようだ。

 では実装の違いはいつ顕在化するのか。CPUコアを四つ内蔵する時点が一つのポイントだろう。一般にキャッシュのコヒーレンシ維持やバスの調停による性能低下が目立つのは,4プロセッサ以上のマルチプロセッサ構成で,ロックが多発する処理を実行する場合である。そのため,8プロセッサといったある規模以上のマルチプロセッサ構成のマシンでは,四つのマイクロプロセッサでメモリーを共有したモジュールを構成し,そのモジュール同士をバスやスイッチで接続するNUMA(Non-Uniform Memory Access Non-Uniform Memory Architecture)構成を採り,性能が頭打ちにならないように工夫していることが多い。

 ちなみに実験結果をよく見ると,わずかにOpteron 875の伸び率が高い。多くのテストでPentium Extreme Edition 840に対して2%前後の差をつけている。特にウイルス・スキャンの「Virus Scanning」テストと文法チェックの「Grammar Check」テストを同時に実行するテストでは,Opteron 875の伸び率の方が8%高かった。ただVirus Scanningテストはハードディスクへのアクセスが多発するベンチマーク・テストなので,チップセットやデバイス・ドライバなど,入出力の性能差が結果に影響を与えたとも考えられる。

 当然のことながら,グラフィックス描画などマルチスレッド化されていないアプリケーションでは効果が出ていない。そこでAMDはAthlon 64ブランドの最上位製品である「Athlon 64 FXシリーズ」はシングルコア・マイクロプロセッサとして開発を続ける。Athlon 64 FXが主なターゲットとする3Dゲームのプログラムにおいて,マルチスレッド化が進んだ段階でデュアルコアに切り替えるという。

(高橋 秀和)