Opteron(オプテロン)は、アドバンスト・マイクロ・デバイセズが2003年4月22日に発表した、x86\_64互換のマイクロプロセッサである。

## 概要

AMDが定義したAMD64命令セットを採用し、サーバ・ワークステーション用途を念頭に置いて開発されていた(Opteron Aシリーズを除く)。オプティオンとの日本語表記が正式発表されていたが、2003年4月22日以後に非公式ながらオプテロンに差し替えられている。英語表記からそうは読めないための改変だと思われる。
Athlon MPの後継にあたり、同社製コンシューマ市場向けプロセッサAthlon 64またはPhenomの上位モデルに位置付けられる。

コアは長くAMD FXと同系列であったが、新たにOpteron XシリーズでAMD APUと同系列のコアを、Opteron AシリーズでARMアーキテクチャの非x64/x86コアを採用した。

なお、Zenアーキテクチャ以降はOpteronの名は使用されなくなり、EPYCという新ブランドが立ち上げられた。

### Athlon 64との相違

当初のモデルでのAthlon 64との相違点は下記の通り。

- 3基のHyperTransportインターフェイスを内蔵し、2・4・8ソケットのマルチプロセッサ構成が可能なSocket 940に対応
- メインメモリとして PC1600/2100/2700 レジスタードDDR SDRAM(ECCによるエラー補正機能をサポート)にのみ対応

これらの相違により、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側にピンがあったPGA-ZIF方式からマザーボード側にピンがあるLGA (Land Grid Array) 方式に変更されたSocket Fへ、ユニプロセッサ対応モデルでは939ピンのSocket 939から940ピンのSocket AM2へそれぞれ変更され、これに合わせてモデルナンバーもユニプロセッサモデルがOpteron 1xxx、2プロセッサ対応モデルがOpteron 2xxx、そして8プロセッサ対応モデルがOpteron 8xxxとなった。

### Athlon MPからの改良点

初代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の躍進・凋落

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が採っているのと同様の収益構造を構築することが可能となった。

スーパーコンピュータ分野でも躍進を遂げ、2003年11月のTOP500においてOpteronを採用したロスアラモスのLightningシステムが5位と10位以内に初めてランキングされ、2005年11月には55システムで採用されIBMのPowerプロセッサに続き3番手のプロセッサとなった。その後も採用数は増加し2006年11月に113システムで採用されPowerプロセッサを上回りインテルに次ぐポジションを獲得した。2006年11月の22.6%をピークにシェアを減らしながらも2013年11月までランキングでは10%以上のシェアを維持していたが、2014年6月に9%、11月には5%まで下落し、その後も減少し続けスーパーコンピュータ分野における存在感を失った。

### Efficient モデル

同一世代の Opteron のラインナップで通常モデルよりも低い TDP を保証するモデルで、モデル ナンバーの末尾に EE と HE を付けられる。EE は Energy Efficient、HE は Highly Efficient の頭文字である。これにより熱密度が大きくなりがちで冷却に制約のあるブレードサーバや1Uラックマウントサーバなどでの利用も容易となった。性能は通常モデルよりも若干低下するが、価格は比較的高価に設定されている。

### Special Edition

また EE/HE とは逆に同一世代の Opteron のラインナップの最上位の位置付けとして高クロック、高 TDP 仕様の SE が存在する。SE は Special Edition の頭文字で、通常モデルに比べて TDP が若干高く設定されている。

## 世代

以下、CPUコアの名称はAMD内部での開発コードネームである。

### K8世代

2003年4月発表。K8アーキテクチャを採用しておりDDRメモリコントローラとHyperTransportがCPUダイに統合されている。1xxは1ソケットのみ、2xxは最大2ソケット、8xxは最大8ソケットの構成をとることができる。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2
- 製造プロセス - 130nm SOI (AMD)
- トランジスタ数 - 1億590万
- ダイサイズ - 192mm

- 対応ソケット - Socket 940

2005年2月発表。製造プロセスが90nmのSOIプロセスに微細化され、対応するHyperTransport バスのクロックが1GHzに高速化され、新たにSSE3、NX Bitをサポートした。「Venus」は100番台で1ソケットの製品、「Troy」は200番台で最大2ソケットの製品、「Athens」はモデルナンバー800番台で最大8ソケットの製品にそれぞれ付けられたコードネームである。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、NX Bit
- 製造プロセス - 90nm SOI (AMD)
- トランジスタ数 - 1億1400万
- ダイサイズ - 145mm

- 対応ソケット - Socket 939

- 対応ソケット - Socket 940

2005年4月発表。Venus/Troy/Athensと同等の機能を持ったCPUコアをダイの中に2つ搭載するデュアルコア構成を採用する。「Denmark」は100番台で1ソケットの製品、「Italy」は200番台で最大2ソケットの製品、「Egypt」はモデルナンバー800番台で最大8ソケットの製品にそれぞれ付けられたコードネームである。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、NX Bit
- 製造プロセス - 90nm SOI (AMD)
- トランジスタ数 - 2億3300万
- ダイサイズ - 199mm

- 対応ソケット - Socket 939

- 対応ソケット - Socket 940

2006年8月発表。DDR2メモリに対応したことによりソケットがSocket AM2/Fに変更された。モデルナンバーは12xx/22xx/82xxのように各プロセッサの拡張性を表す数値「1」・「2」・「8」に、対応ソケットを表す「2」を付与した形で一新している。下2桁xxの数値が大きければ大きいほど、同Opteronシリーズ内で相対的に性能が高いことを示している。Santa Anaは1ソケットの1200番台、Santa Rosaは最大2ソケット対応の2200番台、最大8ソケット対応の8200番台のコードネーム。ハードウェア仮想化拡張技術 AMD Virtualization が追加された。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、NX Bit、 AMD-V
- 製造プロセス - 90nm SOI (AMD)
- トランジスタ数 - 2億2700万
- ダイサイズ - 230mm

- 対応ソケット - Socket AM2

- 対応ソケット - Socket F

### K10世代

2007年9月発表。初めての K10アーキテクチャ 採用のOpteronでネイティブ クアッドコアのCPUである。発売直後にステッピング A および 2 の Barcelona は問題があったため出荷中止となった。2008年にステッピング 3 のもの販売再開となった。モデルナンバーは変更されていない。Budapest は1ソケットの 13xx シリーズ、Barcelona は最大2ソケットの 23xx シリーズ、最大8ソケットの 83xx シリーズ のコードネームである。ハードウェア仮想化拡張技術 AMD Virtualization に Rapid Virtualization Indexing(AMD-RVI)とSSE4a、ABMが追加された。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、SSE4a、ABM、NX Bit、AMD-V、 AMD-RVI
- 製造プロセス - 65nm SOI (AMD)
- トランジスタ数 - 4億6300万
- ダイサイズ - 283mm

- 対応ソケット - Socket AM2+

- 対応ソケット - Socket F

2008年11月発表。45nmにシュリンクされ、L3キャッシュが増量されており、またSmart Fetchによるアイドル時の消費電力が低下している。Suzuka は1ソケットのシステムでDDR3メモリに対応しSocket AM3に変更された 13xx シリーズ、Shanghai は最大2ソケットの 23xx シリーズ、最大8ソケットの 83xx シリーズのコードネームである。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、SSE4a、ABM、NX Bit、 AMD-V、 AMD-RVI
- 製造プロセス - 45nm SOI (AMD)
- トランジスタ数 - 7億5800万
- ダイサイズ - 258mm

- 対応ソケット - Socket AM3

- 対応ソケット - Socket F+

2009年6月発表。ネイティブ6コアを持つOpteronであり、新たにHT Assist (HyperTransport Assist) が追加された。これはL3キャッシュ1MBを使用してCPU間でのキャッシュのプローブトラフィックを軽減し、データベース処理等を高速化する機能である。モデルナンバーは24xx、84xxとなった。製造はAMDから分社化したGLOBALFOUNDRIESが担当している。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、SSE4a、ABM、NX Bit、 AMD-V、 AMD-RVI
- 製造プロセス - 45nm SOI (GLOBALFOUNDRIES)
- トランジスタ数 - 9億400万
- ダイサイズ - 346mm

- 対応ソケット - Socket F+

2010年6月発表。ShanghaiもしくはIstanbulベースの4/6コアのダイが搭載されており、主な違いはソケットにSocket C32を採用しDDR3メモリに対応したことになる。モデルナンバーは41xx。4コアまたは6コアを持ち、最大2ソケットまでに対応する。メモリはDDR3-1333までのデュアルチャネルをサポートしている。HyperTransportは末尾 EE が2.0GT/sec、それ以外が 6.40 GT/sec。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、SSE4a、ABM、NX Bit、AMD-V、 AMD-RVI
- 製造プロセス - 45nm SOI (GLOBALFOUNDRIES)

- 対応ソケット - Socket C32

2010年3月発表。ShanghaiもしくはIstanbulベースの4/6コアのダイ2つを一つのパッケージに封入し構成されている。ソケットは後に出るコードネーム Bulldozer にも対応したSocket G34を採用。モデルナンバーはそれまでの千の桁が対応ソケット数を示す規則から変わり61xx。2ソケットまたは4ソケットに対応し、1パッケージあたり8個または12個のコアを持つ。この世代から8ソケットへの対応は廃止された。HyperTransportのリンク数が従来の3本から4本(1本がチップセットへ、3本が他のCPUへ)へと増加し4ソケット環境ですべてのCPU同士を直接HTで繋ぐことが出来るようになった。リンクスピードは、6.4GT/sec。またHT Assistも更新され、L3 2MBを使用する。メモリコントローラーはクアッドチャネルのDDR3-1333まで対応する。省電力機能としてC1Eステートへ対応した他、AMD CoolSpeed technologyと呼ばれる限界温度を超えた際にPステートを自動的に下げる機能を新たに加えた。

- 拡張命令 - MMX、3DNow! Professional (SSE) 、SSE2、SSE3、SSE4a、ABM、NX Bit、 AMD-V、 AMD-RVI
- 製造プロセス - 45nm SOI (GLOBALFOUNDRIES)

- 対応ソケット - Socket G34

### Bulldozer世代

2011年11月発表。Bulldozer マイクロアーキテクチャを採用している。3Dnow!がサポートされなくなり、SSE4.x、AVXがサポートされるようになった。Zurich はモデルナンバー 32xx、メモリはDDR3-1866のデュアルチャネルをサポートし最大1ソケットで形状は AM3+ 、Valencia はモデルナンバー 42xx、メモリはDDR3-1600のデュアルチャネルをサポートし最大2ソケットに対応し形状は C32、Interlagos はデュアルダイでパッケージが構成されモデルナンバーは 62xx メモリはDDR3-1600のクアッドチャネルをサポート最大4ソケットに対応しソケット形状は G34 を採用している。

- 拡張命令 - MMX、SSE 、SSE2、(S)SSE3、SSE4、SSE4a、SSE4.1、SSE4.2、ABM、NX Bit、AES-NI、AVX、AMD-V、AMD-RVI
- 製造プロセス - 32nm SOI (GLOBALFOUNDRIES)
- トランジスタ数 - 12億
- ダイサイズ - 315mm

- 対応ソケット - Socket AM3+

- 対応ソケット - Socket C32

- 対応ソケット - Socket G34

### Piledriver世代

2012年11月発表。Piledriver マイクロアーキテクチャを採用している。Delhi はモデルナンバー 32xx、メモリはDDR3-1866のデュアルチャネルをサポートし最大1ソケットで形状は AM3+ 、Seoul はモデルナンバー 42xx、メモリはDDR3-1866のデュアルチャネルをサポートし最大2ソケットに対応し形状は C32、Abu Dhabi はデュアルダイでパッケージが構成されモデルナンバーは 62xx メモリはDDR3-1600のクアッドチャネルをサポート最大4ソケットに対応しソケット形状は G34 を採用している。2014年1月に"Abu Dhabi"の省エネ改良版である"Warsaw"が発表された。

- 拡張命令 - MMX、SSE 、SSE2、(S)SSE3、SSE4、SSE4a、SSE4.1、SSE4.2、ABM、NX Bit、AES-NI、AVX、 AMD-V、AMD-RVI
- 製造プロセス - 32nm SOI (GLOBALFOUNDRIES)
- トランジスタ数 - 12億
- ダイサイズ - 315mm

- 対応ソケット - Socket AM3+

- 対応ソケット - Socket C32

- 対応ソケット - Socket G34

### Excavator世代

2017年6月発表。Excavatorマイクロアーキテクチャを採用したAPU兼SoC。ソケット形状はBGAのSP4で1ソケットのみの構成。製造プロセスにSOIが利用されずバルクプロセスになった。AVX2がサポートされた。

- 拡張命令 - MMX、SSE 、SSE2、(S)SSE3、SSE4、SSE4a、SSE4.1、SSE4.2、ABM、NX Bit、AES-NI、AVX、AVX2、AMD-V、AMD-RVI
- 製造プロセス - 28nm (GLOBALFOUNDRIES)
- トランジスタ数 - 31億
- ダイサイズ - 250mm

### Jaguar世代

2013年5月発表。Jaguarアーキテクチャベースで、Opteronシリーズとして初めてGPU機能を統合するAPUであり、チップセット機能も統合した初のSoCでもあった。Socket FT3採用で1ソケットのみ対応。

- 拡張命令 - MMX、SSE 、SSE2、(S)SSE3、SSE4、SSE4a、SSE4.1、SSE4.2、ABM、NX Bit、AES-NI、AVX、AMD-V、AMD-RVI
- 製造プロセス - 28nm (TSMC)
- トランジスタ数 - 9億1400万
- ダイサイズ - 105mm

### Puma世代

2016年9月発表。

- 拡張命令 - MMX、SSE 、SSE2、(S)SSE3、SSE4、SSE4a、SSE4.1、SSE4.2、ABM、NX Bit、AES-NI、AVX、AMD-V、AMD-RVI
- 製造プロセス - 28nm (TSMC)
- トランジスタ数 - 9億1400万
- ダイサイズ - 105mm

### ARMv8系列

2016年1月発表。8つのARM Cortex-A57コアとDDR3-1600もしくはDDR4-1866までのデュアルチャンネルのメモリコントローラと2つの10GBASE-KR Ethernet、8つのSATA 6Gbps、8レーンのPCI Express Gen 3などのI/Oを集積したSoC。ソケット形状はBGAのSP1で1ソケットのみの構成。

- 製造プロセス - 28nm (GLOBALFOUNDRIES)