前回は,米Intelの「Xeon 51xx」(開発コード名Woodcrest)が搭載するCoreマイクロアーキテクチャの新機能について述べた。Woodcrestで行った重要な改良には,このほかに,システム・バスとメモリーの改良がある。今回は,このシステム・バスとメモリーについて取り上げたい。

 メモリー・アクセス性能(メイン・メモリーとキャッシュ間のデータ転送)が結果を左右するベンチマーク・プログラムであるHimenoベンチマーク(FORTRAN 77+MPIによる並列化,計算サイズはLarge)*1を実行した結果を表1に示す。計測には,2個のプロセッサと8Gバイトのメモリーを搭載した高性能PCを使用した。WoodcrestとDempseyはデュアルコア・プロセッサ,旧Xeonはシングルコア・プロセッサだ。システム・バス(FSB:Front Side Bus)の動作周波数は,Woodcrestが1333MHz,Dempseyが1066MHz,旧Xeonが800MHzである。

表1 Himenoベンチマークの結果。結果の単位はMFLOPS
CPU 動作周波数 結果(1コア) 結果(2コア) 結果(4コア)
Woodcerst 3.0GHz 1481 2618 2525
Dempsey 3.73GHz 1445 2222 2310
旧Xeon 3.6GHz 1369 1462

 旧Xeonの2ウェイ・システムは,1つのシステム・バスと1つのメモリーを2つのプロセッサが共有する。そのため,メモリーに頻繁にアクセスするアプリケーションでは,メモリー・アクセス速度がボトルネックとなる。実際,ベンチマークの結果を見ると,プロセッサ(コア)が1個から2個に増えても,性能がほとんど向上していないことが分かるだろう。

 Woodcrestの開発に当たって,Intelは2つの独立したシステム・バスを持つチップ・セットと,次世代DRAMモジュールを開発した。同社はまず,次世代DRAMモジュール規格であるFB-DIMM(Fully-Buffered DIMM)の開発にとりかった。FB-DIMM規格では,レイテンシ(データが要求されてから出力するまでの時間)を少し犠牲にする代わりに,最大データ転送速度を約2倍に高めようとした。こうして,従来の800MHzのシステム・バスと比較して67%増しの,1333MHzのシステム・バスに対応できるDRAMが開発された。

 Coreマイクロアーキテクチャを搭載したWoodcrestと,2つの独立したシステム・バス+1つのFB-DIMMメモリーの組み合せは成功したかに見えた。WoodcrestもDempseyも旧Xeonも,コア当たりのCPUの性能はほぼ同等なので,システム・バスの動作周波数の最も高いWoodcrestが最も高い性能を得ている。コアが2つの場合も,Woodcrestでは順当に性能が向上している。

 しかし,表1を見る限り,コアが2つから4つに増えても性能の向上は見られない。これは,メモリーのバンド幅が足りないためである。1333MHz対応のFB-DIMMメモリー1個ぶんのバンド幅では,4個のコアをサポートするのは無理と言える。

 一方,メモリー・アクセス性能が極端に要求されないアプリケーションではデュアルコアによる性能向上が生かされている。化学,生化学,物理化学の分野において,量子化学の基本的法則を基に,分子構造,分子特性,分子系の振動数,エネルギーを予測し分子や反応などの研究に幅広く使われているGaussianという分子軌道計算プログラムがある。このプログラムを利用したベンチマーク(test397)を,1つのコアを使って実行させたときの性能を1とすると,2つのコアでの性能は1.98倍,4つのコアでの性能は3.01倍となった。

 来年には4つのコアを搭載するプロセッサが登場する。Intelの次世代チップ・セットに期待したい。

 もう一つ,64ビット対応についても課題が残っている。32ビット・アプリケーションを実行する限り,Coreマイクロアーキテクチャを搭載したWoodcrestやCore 2 Duo/Extremeは素晴らしいプロセッサだ。しかし64ビットの場合,x86命令を1次キャッシュから読み込むときのデータ・バス幅が16バイトでは狭すぎる。また,比較命令と条件分岐命令などを融合するMacro-Fusion機能が,EM64T Long Modeで使えないのも問題だ。Coreマイクロアーキテクチャのさらなる進化が望まれる。