Opteron
Opteron （オプテロン）はアドバンスト・マイクロ・デバイセズ (AMD) が開発・製造・販売を手がけるマイクロプロセッサのシリーズの1つ。
AMDが定義したAMD64命令セットを採用し、サーバ・ワークステーション用途を念頭に置いて開発されていた（Opteron Aシリーズを除く）。オプティオンとの日本語表記が正式発表されていたが、2003年4月22日以後に非公式ながらオプテロンに差し替えられている。英語表記からそうは読めないための改変だと思われる。
Athlon MPの後継にあたり、同社製コンシューマ市場向けプロセッサAthlon 64またはPhenomの上位モデルに位置付けられる。
コアは長くAMD FXと同系列であったが、新たにOpteron XシリーズでAMD APUと同系列のコアを、Opteron AシリーズでARMアーキテクチャの非x64/x86コアを採用した。
当初のモデルでのAthlon 64との相違点は下記の通り。これらの相違により、Athlon 64とOpteronの間では物理的・電気的な相互互換性がなく、CPU・メモリ・マザーボードについて別途用意する必要が生じた。
当初はユニプロセッサ構成専用のOpteron 1xx、デュアル(2)プロセッサ構成対応のOpteron 2xx、そして最大8プロセッサ構成対応のOpteron 8xxの3シリーズがラインナップされ、モデルナンバーの百の位が、システムで構成できるプロセッサの最大数を示していた。
もっとも、ユニプロセッサ対応のOpteron 1xxについては、2chのDDR SDRAMインターフェイスを搭載するSocket 939の制定前には、メモリインターフェイスが1chのみのSocket 754に対応するAthlon 64の上位規格として性能面で合理性が存在したが、Socket 939の制定後はこれに代えて各部品が必然的に高コストとなるSocket 940を使用するメリットはほぼ皆無となった。このため、2005年8月2日のAMD発表でOpteron 1xxはデスクトップパーソナルコンピュータ向けソリューションであるSocket 939に移行し、メモリはアンバッファードDDR SDRAMインターフェイス2ch対応に変更され、HyperTransportも1本に制限されることとなった。この変更は実質的には機能の格下げであり、従来可能であったコンパニオンチップをOpteronに2つ並列で接続する構成が不可能となった。しかし元々ユニプロセッサ専用でなおかつ2系統のHyperTransportが実装されたマザーボードは存在しておらず、機能的な制限が問題となるケースは事実上皆無であった。それに対し、対応するメモリの種類が特殊かつ高価なレジスタードから一般的かつ廉価なアンバッファードへ変更されたことで、コスト面ではPCメーカー・ユーザー共に大きなメリットが得られたことになる。
Opteronを含む初期のK8系プロセッサはシングルコアプロセッサであった。だが、当初より将来のシングルダイでのデュアルコアプロセッサ化を前提として設計されており、チップ内部の演算ブロックとメモリインターフェイスやHyperTransportインターフェイスとを結ぶクロスバー・スイッチ部分にもう1基分の演算ブロックを接続可能な構成とされていた。また、ソケットの仕様も冷却系の仕様を含めてデュアルコア化による電力消費の増大を睨んで決定されたものであるが、これはその後のクアッドコア化には対応しきれないことが明らかとなった。
その後、DDR SDRAMより高速化の容易なDDR2 SDRAMが一般化し、メモリインターフェイスを内蔵するK8系の仕様上、これに対応するにはソケットそのものの仕様変更が必要となった。そのためラインナップ各モデルのソケットの変更が決定され、マルチプロセッサ対応モデルではクアッドコア以上のマルチコア対応に伴う消費電力量増大を念頭に置いて従来の940ピンから1207へと大幅にピン数を増加し、CPU側にピンがあった - 方式からマザーボード側にピンがある (Land Grid Array) 方式に変更されたSocket Fへ、ユニプロセッサ対応モデルでは939ピンのSocket 939から940ピンのSocket AM2へそれぞれ変更され、これに合わせてモデルナンバーもユニプロセッサモデルがOpteron 1xxx、2プロセッサ対応モデルがOpteron 2xxx、そして8プロセッサ対応モデルがOpteron 8xxxとなった。
初代K8コア搭載モデルでのAthlon MPからの主な改良点は、メモリコントローラーの内蔵と、AMD64というx86命令を64ビット拡張した命令の実装の2点である。このAMD64では、ストリーミングSIMD拡張命令2 (SSE2) 相当のマルチメディア拡張命令も標準でサポートされ、後のモデルでは同3 (SSE3) も追加実装されている。
マイクロアーキテクチャーの改良も行われていて、フロントエンドでは分岐予測の改良を行っており、ローカル分岐予測については、命令キャッシュに組み込まれたBranch-Selectorを用いて行う。グローバル分岐予測器については、K7の4倍とも云われる、16K-entryの分岐履歴を保持できる。ただし、分岐先ターゲットバッファ(BTB)はK7と同じ数である。
命令パイプラインにも改良が入っており、デコーダについては、2分割命令まではダイレクトパスデコーダで扱えるように改良しており（K7ではダイレクトパスデコーダで扱えるのは分割しない命令のみで、2分割命令以上はすべてベクタデコーダで処理していた）、3分割命令以上がベクタデコーダでの処理となっている。
スケジューラーでは新たに"Pack"ステージを設けMACRO-OPのレーン切り替えを行っているようである(K7ではプリデコーダーが命令を投入するデコーダーを決定する段階で実行パイプラインのレーンが決まり、後の変更はされない)。
(リザベーションステーション)RSは3つに分かれており、それぞれのRSは8エントリー持ち、合計24エントリーのMACRO-OPを保持する。RSにはALUとAGUが対になって接続され、それが3本束ねられた状態と言える。
RSは1サイクルあたりで1entryのMACRO-OPを発行できる。つまり、ALUとAGUがMACRO-OP化されている状態のみ同時発行できるということだ。同じRSの異なるentryから、並列度を抽出してALUとAGPそれぞれへmicro-opの同時発行が出来ないので、6 micro-opが自由に発行可能という事ではない。ALUを使うmicro-opと、AGUを使うmicro-OPがMACRO-OPされていないと、パイプライン1本あたり1サイクルでALUかAGUどちらか1 つの発行になるため、合計3 micro-op発行が上限になる。異なるRSから、異なるRSに繋がれているALUとAGUに発行するのはもちろん無理だ。
その他、スケジューラエントリーの増加、物理レジスター数の増加、TLBエントリー増加なども行われている。
Athlon･AthlonXP/Duron･Sempronなどといった旧来のプロセッサは、集積度や歩留まりの問題などから、メモリコントローラー機能をチップセットに持たせていた。この構成ではチップセットを介することでメモリアクセス時のレイテンシが増え、キャッシュがヒットしていない状況ではCPU側の内部処理がアイドリング状態となりやすいなど、メモリアクセスに伴うオーバーヘッドが大きいという問題がある。そのため、チップセットのメモリコントローラーの処理能力がそのままCPUの処理能力のボトルネックとなっていた。そこで、AMDはOpteron、Athlon 64ともにメモリコントローラーをCPUに内蔵することで、「CPU→チップセット→メモリ→チップセット→CPU」となっていた経路を「CPU→メモリ→CPU」と短縮し、CPUのメモリ読み込み要求からデータ受け取りまでのレイテンシを大幅に低減させた。これは分岐予測の効きにくい、処理の複雑なアルゴリズムを持つアプリケーションや、アクセス回数の少ないデータをメモリ上で大量に取り扱うようなアプリケーションに絶大な効果をもたらす。またこの方式はアプリケーション側でソフトウェア修正などの対応を特に必要としないため、古いアプリケーションも新しいアプリケーションもメモリアクセスの頻度に応じて大きく高速化させることが可能である。一方、安全性の確保のため、CPUとメモリの組み合わせによっては、CPU内部動作周波数の逓倍率の関係から、メモリの動作周波数がSPDなどメモリモジュール側で規定される定格動作周波数よりも低くなってしまうことがあり、メモリ規格の変更がCPUソケット規格やCPUコアそのものの設計変更を必要とするという問題もあった。
また、チップセットにGPUが内蔵された、いわゆるオンボードGPUのケースでは、GPU→メモリ→GPUという経路からGPU→CPU→メモリ→CPU→GPUとなり、メモリコントローラがチップセット側からCPU側に移動した場合にオンボードGPU性能の低下がみられる点には留意すべきだろう。
Opteronではサン・マイクロシステムズ、ヒューレット・パッカード、IBM、デルというアメリカの4大サーバメーカの採用を勝ち取った。特に過去のいきさつからインテル製CPUのみを採用し続け、インテルの水平分業モデルの優等生と言われたデルの方向転換は、大きなインパクトを与えた。
これは、インテルが過去の資産を全て無に帰してVLIW命令セットを基本とする別のアーキテクチャ (IA-64) を備える、x86に比べて高コストな64ビットCPUを普及させようとしたのに対し、AMDは十分に安価でこなれているx86プロセッサの処理能力を高める、というシナリオを望んでいた業界のニーズに的確に反応し、x86アーキテクチャを素直に64ビット拡張して、従来の16/32ビットアプリケーションもそのまま動作するAMD64のアーキテクチャを投入することにより、市場のニーズに合致した製品を出荷、これが4大メーカーの強い支持を受けるに至ったものである。また、Microsoft WindowsがAMD64対応を発表したことで将来性も安定したものとなり、普及に弾みが付いた。これによりIntelは、今までの互換プロセッサを作られる立場から、AMD64互換のCPUを作る立場となり、アーキテクチャの主導権をAMDが奪取したことは大きなインパクトを業界に与えた。
サーバ市場への参入は以前からのAMDの悲願であったが、Opteronの登場により大々的かつ広範囲の参入が可能となり、利益率の高いエンタープライズ市場でハイパフォーマンスCPUを高額で売ることによって収益を確保し、ボリュームゾーンであるコンシューマ市場での価格競争力を維持するという、Intelが採っているのと同様の収益構造を構築することが可能となった。
2011年11月に発表されたスーパーコンピュータの性能ランキング第38回TOP500では、インテルのXeon搭載システムが上位10台中5台を占める一方でOpteron搭載システムは上位10台中4台を占めている。
同一世代の Opteron のラインナップで通常モデルよりも低い TDP を保証するモデルで、モデル ナンバーの末尾に EE と HE を付けられる。EE は Energy Efficient、HE は Highly Efficient の頭文字である。これにより熱密度が大きくなりがちで冷却に制約のあるブレードサーバや1Uラックマウントサーバなどでの利用も容易となった。性能は通常モデルよりも若干低下するが、価格は比較的高価に設定されている。
また EE/HE とは逆に同一世代の Opteron のラインナップの最上位の位置付けとして高クロック、高 TDP 仕様の SE が存在する。SE は Special Edition の頭文字で、通常モデルに比べて TDP が若干高く設定されている。
以下のCPUコアの名称はAMD内部での開発コードネームである。
2003年4月にリリースされた。130nmのSOIプロセスで製造され、1MBの2次キャッシュを搭載する。拡張命令は3DNow! Professional (SSE) とSSE2に対応する。
2005年2月にリリースされた。製造プロセスが90nmのSOIプロセスに微細化され、対応するHyperTransport バスのクロックが1GHzに高速化され、新たにSSE3もサポートした。2次キャッシュはSledgeHammerと同じく1MB。
なお、「Athens」はモデルナンバー800番台の製品に、「Troy」は200番台の製品に、「Venus」は100番台の製品にそれぞれ付けられたコードネームである。
2005年5月にリリースされた第2世代のリビジョンEのOpteronの中で、Athens/Troy/Venusと同等の機能を持ったCPUコアをダイの中に2つ搭載するデュアルコア構成を採用する。「Egypt」はモデルナンバー800番台の製品に、「Italy」は200番台の製品に、「Denmark」は100番台の製品にそれぞれ付けられたコードネームである。
2006年8月にリリースされた。Socket Fを採用し、モデルナンバーは12xx/22xx/82xxのように各プロセッサの拡張性を表す数値「1」・「2」・「8」に、対応ソケットを表す「2」を付与した形で一新している。下2桁xxの数値が大きければ大きいほど、同Opteronシリーズ内で相対的に性能が高いことを示している。Santa Rosaは8200番台および2200番台、Santa Anaは1200番台に相当する。ハードウェア仮想化拡張技術 AMD Virtualization が追加された。
2007年9月10日に発表された。初めての K10 Opteron で初めてのネイティブ クアッドコアのサーバー用プロセッサである。発売直後にステッピング A および 2 の Barcelona は問題があったため出荷中止となった。2008年にステッピング 3 のもの販売再開となった。モデルナンバーは変更されていない。Budapest は 13xx シリーズで、Barcelona は 23xx と 83xx である。ハードウェア仮想化拡張技術 AMD Virtualization に Rapid Virtualization Indexing が追加された。
2008年11月13日に発表された。L3キャッシュが増量されており。またSmart Fetchによるアイドル時の消費電力低下している。Suzuka は 13xx シリーズで、Shanghai は 23xx シリーズと 83xx シリーズである。
2009年6月1日に発表されたネイティブ6コアを持つOpteronである。新たにHT Assist (HyperTransport Assist) が追加された。これはL3キャッシュ1MBを使用してCPU間でのキャッシュのプローブトラフィックを軽減し、データベース処理等を高速化する機能である。モデルナンバーは24xx、84xxとなった。
2010年3月29日に発表された。ソケット形状は1944ピンに増やされ後に出るコードネーム Bulldozer にも対応予定のSocket G34を採用。モデルナンバーはそれまでの千の桁が対応ソケット数を示す規則から変わり61xx。2ソケットまたは4ソケットに対応し、1パッケージあたり8個または12個のコアを持つ。HyperTransportのリンク数が従来の3本から4本(1本がチップセットへ、3本が他のCPUへ)へと増加し4ソケット環境ですべてのCPU同士を直接HTで繋ぐことが出来るようになった。リンクスピードは、6.4GT/sec。またHT Assistも更新され、L3 2MBを使用する。メモリコントローラーはクアッドチャネルのDDR3-1333まで対応する。省電力機能としてC1Eステートへ対応した他、AMD CoolSpeed technologyと呼ばれる限界温度を超えた際にPステートを自動的に下げる機能を新たに加えた。
2010年6月23日に発表された。ソケット形状はSocket C32を採用しモデルナンバーは41xx。4コアまたは6コアを持ち、2ソケットまでに対応する。メモリはDDR3-1333までのデュアルチャネルをサポートしている。HyperTransportは末尾 EE が2.0GT/sec、それ以外が 6.40 GT/sec。
2011年11月14日に発表された。Bulldozer マイクロアーキテクチャを採用した最初の Opteron。Interlagos はモデルナンバーは 62xx メモリはDDR3-1600のクアッドチャネルをサポート最大4ソケットに対応しソケット形状は G34 を採用；Valencia はモデルナンバー 42xx メモリはDDR3-1600のデュアルチャネルをサポート最大2ソケットに対応しソケット形状は C32 を採用；Zurich はモデルナンバー 32xx メモリはDDR3-1866のデュアルチャネルをサポート最大1ソケットに対応しソケット形状は AM3+ を採用。
2012年6月4日に以下のモデルが追加された。
2012年12月4日に発表された。Piledriver マイクロアーキテクチャを採用した、Bulldozer マイクロアーキテクチャの改良版。Abu Dhabi はモデルナンバーは 63xx、最大4ソケットに対応しソケット形状は G34 を採用；Seoul はモデルナンバー 43xx、最大2ソケットに対応しソケット形状は C32 を採用；Delhi はモデルナンバー 33xx、最大1ソケットに対応しソケット形状は AM3+ を採用。
2014年1月22日に発表された。"Abu Dhabi"の改良を、省エネ版。