AMD K6:低価格PC市場を席巻したx86互換プロセッサ
AMD K6は、Advanced Micro Devices(AMD)が開発したx86互換
マイクロプロセッサです。
インテル製
CPUとのソケット互換性を持ち、低価格帯のパーソナル
コンピュータ(PC)市場を中心に普及しました。既存PCのアップグレード用としても広く受け入れられ、その高性能から市場で大きな存在感を示しました。
概要
K6は、内部でx86命令を
RISC86OPに変換し、
RISC86パイプラインで高速に命令を実行します。Socket 7に対応しており、同一ソケットかつ同一クロックで動作する
インテル製
CPUを凌駕する性能を発揮しました。製造時期により、166MHz〜233MHzモデルと200〜300MHzモデルの2種類が存在します。
開発経緯
AMDは、x86互換プロセッサメーカーであるNexGen社を買収し、同社が開発中だったNx686という
CPUを入手しました。当初、AMDが開発していたK6はNx686に性能面で劣っていたため、Nx686をベースに開発された新プロセッサがK6として市場に投入されました。Nx686は元々、2次キャッシュバスがフロントサイドバスから独立した専用バス・専用ソケットに対応する予定でしたが、AMDはこれをSocket 7対応に変更しました。2次キャッシュバスの廃止による性能低下を補うために1次キャッシュを増量し、Nx686独自のマルチメディア命令を
インテルからライセンスを受けた
MMX命令セットに変更して完成させました。
この
CPUの開発
コードネームの一つに「Catapult」があります。これは、
インテル(
ゴリアテ)を打ち倒した
ダビデ(AMD)の武器である投石機になぞらえたもので、AMDの強い自信と意気込みが窺えます。K6は、出荷開始の時点で
インテルの
MMX Pentiumシリーズよりも高クロック(233MHz)動作モデルが提供され、当時x86系で最速のクロック動作
CPUとなりました。AMDはK6を「
インテル製品よりも高速な初めての互換プロセッサ」としてアピールしました。K6は、
インテルが販売開始した
Pentium IIと競合する製品として宣伝されましたが、クロックあたりの命令実行効率では
Pentium IIにやや劣っていました。約1年後の
1998年5月には、
SIMD拡張命令セットである3DNow!を追加した後継プロセッサK6-2が登場しています。
Pentium IIではSocket 7ではなくSlot 1(P6バス)が採用されたため、Socket 7ユーザーが
Pentium IIにアップグレードするには
マザーボードごと交換する必要がありました。一方、K6はSocket 7を採用したため、
ローエンドPC用の
CPUとして採用されたり、Socket 7ユーザーのアップグレード用
CPUとしても活用されました。
特徴
K6は、以下の特徴を備えています。
第6世代RISC86スーパースケーラ・マイクロアーキテクチャ
8192エントリー2レベル分岐予測
16エントリーBTB
最大2命令デコード
投機的実行
レジスタ・リネーム
24エントリー リザベーション・ステーション
アウト・オブ・オーダー実行
* 1クロックあたり最高6個(5個 + 分岐1個)の
RISC86命令実行
メモリから読み出された命令は、フェッチユニットが1次キャッシュから16バイト分のブロックをフェッチします。命令バッファで切り出された命令はデコーダに送られ、ショート・デコーダが同時に2命令をデコード可能です。ロング・デコーダとベクター・デコーダもありますが、これらは同時に稼働できません。
MMX命令はショート・デコーダの最初のデコーダでのみデコード可能です。デコーダは命令を
RISC86OPという内部命令に変換し、最大4つの
RISC86OPを出力します。この
RISC86OPグループは24エントリーのリザベーション・ステーションに送られます。
リザベーション・ステーションから5命令、分岐予測ユニットから分岐命令が実行可能です。内部には、整数2つ、
MMX1つ、FPU1つ、ロード1つ、ストア1つ、分岐1つの計7つの並列実行ユニットがあります。
MMX実行ユニットはレジスタXパイプラインにしか接続されておらず、2つの
MMX実行ユニットを持つ
MMX Pentiumや
Pentium IIに劣ります。これは後のK6-2で改善されました。
K6では整数乗算がパイプライン実行できず、前世代のK5に比べてスループットが低下しています。しかし、K6では分岐予測や投機実行をサポートしており、パイプラインを効率的に利用するための様々な機能が実装されています。K5では分岐先予測のバッファを保持していませんでしたが、K6では16エントリーを保持しています。また、レジスタリネーム機能もサポートされており、x86系プロセッサの弱点である汎用レジスタ数の少なさを補っています。
各世代についての詳細
外部リンク
AMD-K6プロセッサデータシート
モバイルAMD-K6製品情報