2003年4月にAMDがOpteronプロセッサを発表すると,それまでインテルの独占状態だったx86サーバー市場の勢力図が激変した。AMD Opteronがx86サーバー市場にもたらしたものは3つある。(1)動作周波数に頼らない性能向上アプローチ,(2)64ビット拡張,(3)マルチコア--である。
AMD Opteronはx86互換プロセッサであり,インテルXeonに特化したチューニングを施したアプリケーションでもない限り,インテルXeon向けアプリケーションがそのまま動作する。ただし,プロセッサの性能向上策は全く異なる。
非常に単純化すれば,プロセッサの性能は以下の式で表せる。
<性能> = <動作周波数> × <クロックあたりの命令数>
インテルXeonは当時,動作周波数の引き上げにより性能を高める「NetBurstマイクロアーキテクチャ」を採用しており,高周波数化が容易な,段数の多いパイプラインを採用していた。
それに対して,AMD Opteronでは,クロックあたりに実行できる命令数を増やすため,短いが並列処理が可能なパイプラインを採用している。ただし,一般的に,パイプラインが短くなるほど動作周波数は向上させにくい。
加えて,XeonとOpteronとでは,メインメモリーや入出力コントローラとの接続方式など,システム・アーキテクチャが大きく異なる(図1)。

Xeonでは,複数のプロセッサが1つのフロントサイド・バス(FSB)を共有しており,すべてのメモリー・アクセスやI/OアクセスはFSB経由で行う。このため,プロセッサを増やすとFSBのデータ転送量が増え,拡張性に難があった。また,メモリー・コントローラをプロセッサの外部に配置しているため,メモリー・アクセスもそれほど速くない。
一方,AMD Opteronでは「ダイレクトコネクト・アーキテクチャ」を採用している。ここで特筆に値することが2点ある。第1に,メモリー・コントローラをプロセッサに統合し,メモリー・アクセスを高速化したことである。
第2は,「Hyper Transport」と呼ばれるポイント・ツー・ポイント方式の接続方式で,プロセッサ同士やプロセッサとI/Oコントローラの間を結び,拡張を容易にしたことである。実際,筆者が当時(2005年)行った,Webサーバーやファイル・サーバーでの性能検証でも,AMD Opteronのほうが,インテルXeonよりも性能が15%程度高いという結果が出ている(図2)。
