この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。
出典検索?: "Opteron"
OpteronOpteron 246
生産時期2003年4月から
販売者AMD
設計者AMD
生産者AMD, GLOBALFOUNDRIES
CPU周波数1.4 GHz から 3.5 GHz
HyperTransport帯域1,600 MT/s から 6,400 MT/s
プロセスルール130 nm から 28 nm
マイクロアーキテクチャK8, K10, Bulldozer, Piledriver, Excavator, Jaguar, Cortex A57
命令セットx86, AMD64, ARMv8-A
コア数1, 2, 4, 6, 8, 12, 16
ソケットSocket 939
Socket 940
Socket AM2
Socket AM2+
Socket AM3+
Socket F
Socket F+
Socket G34
Socket C32
Socket FT3
Socket FP4
Socket SP1
次世代プロセッサEPYC
テンプレートを表示
Opteron (オプテロン)はアドバンスト・マイクロ・デバイセズ (AMD) が開発・製造・販売を手がけるマイクロプロセッサのシリーズの1つ。
概要 K8アーキテクチャ
AMDが定義したAMD64命令セットを採用し、サーバ・ワークステーション用途を念頭に置いて開発されていた(Opteron Aシリーズ[1]を除く)。オプティオンとの日本語表記が正式発表されていたが、2003年4月22日以後に非公式ながらオプテロンに差し替えられている。英語表記からそうは読めないための改変だと思われる。Athlon MPの後継にあたり、同社製コンシューマ市場向けプロセッサAthlon 64またはPhenomの上位モデルに位置付けられる。
コアは長くAMD FXと同系列であったが、新たにOpteron Xシリーズ[2]でAMD APUと同系列のコアを、Opteron AシリーズでARMアーキテクチャの非x64/x86コアを採用した。
なお、Zenアーキテクチャ以降はOpteronの名は使用されなくなり、EPYCという新ブランドが立ち上げられた。 当初のモデルでの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側にピンがあったPGA 初代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 64との相違
3基のHyperTransportインターフェイスを内蔵し、2・4・8ソケットのマルチプロセッサ構成が可能なSocket 940に対応[3]
メインメモリとして PC1600/2100/2700 レジスタードDDR SDRAM(ECCによるエラー補正機能をサポート)にのみ対応[4]
Athlon MPからの改良点
Athlon・AthlonXP/Duron・Sempronなどといった旧来のプロセッサは、集積度や歩留まりの問題などから、メモリコントローラー機能をチップセットに持たせていた。この構成ではチップセットを介することでメモリアクセス時のレイテンシが増え、キャッシュがヒットしていない状況ではCPU側の内部処理がアイドリング状態となりやすいなど、メモリアクセスに伴うオーバーヘッドが大きいという問題がある。そのため、チップセットのメモリコントローラーの処理能力がそのままCPUの処理能力のボトルネックとなっていた。そこで、AMDはOpteron、Athlon 64ともにメモリコントローラーをCPUに内蔵することで、「CPU→チップセット→メモリ→チップセット→CPU」となっていた経路を「CPU→メモリ→CPU」と短縮し、CPUのメモリ読み込み要求からデータ受け取りまでのレイテンシを大幅に低減させた。これは分岐予測の効きにくい、処理の複雑なアルゴリズムを持つアプリケーションや、アクセス回数の少ないデータをメモリ上で大量に取り扱うようなアプリケーションに絶大な効果をもたらす。またこの方式はアプリケーション側でソフトウェア修正などの対応を特に必要としないため、古いアプリケーションも新しいアプリケーションもメモリアクセスの頻度に応じて大きく高速化させることが可能である。