Alpha 21264 はディジタル・イクイップメント・コーポレーション (DEC) が開発・製造したRISCマイクロプロセッサであり、Alpha命令セットアーキテクチャ (ISA) を実装している。コード名 EV6 でも知られている。1996年10月に登場した。

## 詳細

Alpha 21264 はクロックサイクル毎に最大4個の命令を同時発行できるスーパースケーラ型マイクロプロセッサであり、アウト・オブ・オーダー実行と投機的実行を実装している。最大6命令を同時に実行できる。命令パイプラインは7段構成。

### アウト・オブ・オーダー実行

同時代の他のマイクロプロセッサをしのぎ、複数のパイプラインの各ステージを合わせると、最大80個の命令を同時に処理する能力を有する。

デコードした命令を命令キュー群にキューイングし、オペランドが利用可能となった命令から発行する。整数命令キューには20命令、浮動小数点命令キューには15命令まで蓄えることができる。それぞれのキューは対応するパイプライン群と同数の命令を発行できる。

### Ebox

Eboxは整数演算命令、ロード/ストア命令を実行する。2つの整数演算ユニットと2つのロード/ストアユニットと2つの整数レジスタファイルを持つ。整数レジスタファイルはそれぞれ80エントリで、うち31本はアーキテクチャ上のレジスタ、41本はレジスタ・リネーミング用、8本はPALcode用レジスタである。R31レジスタは常にゼロなので、レジスタファイル内のエントリを使っていない。

レジスタファイルはそれぞれ、整数演算ユニット1つとロード/ストアユニット1つに対応しており、それら3つをまとめて「クラスタ」と称する。2つのクラスタをそれぞれ U0 および U1 と呼ぶ。このような構成になっているのは、レジスタファイルのリードおよびライトのポート数を削減するためであり、結果としてレジスタファイルに必要なチップ面積を低減し、高クロック周波数での動作を可能とする。まるでマルチコアのような構成だがマルチコアではないので、レジスタファイルへの書き込みは常に同期を必要とし、結果として1%の性能ペナルティを生ずる。この性能ペナルティを補償するため、第一により高いクロック周波数で動作させ、第二にもう一方のクラスタが使用中のレジスタをオペランドとして必要とする命令を発行機構が発行しないようにして依存関係が発生するのを防いでいた。

2つのクラスタには2つの違いがある。U1には7サイクルのパイプライン化乗算器があり、U0にはマルチメディア拡張 (MVI) 命令用の3サイクルのパイプラインがある。MVIは Alpha ISA のSIMD命令拡張である。

ロード/ストアユニットは、メモリアクセスのための実効アドレス(仮想アドレス)を計算する単純な演算装置を含んでいる。これを単純な算術命令や論理命令の実行にも使用することができる。命令発行機構はこれを考慮しており、アドレス計算をしていない状態であればロード/ストアユニットに対してロード/ストア命令以外の命令も発行する。

Eboxには64ビット加算器が4つ、論理演算ユニットが4つ、バレルシフタが2つ、条件分岐命令用論理回路が2組あり、それらが U1 と U0 に同数ずつ配備されている。

### Fbox

Fboxは浮動小数点演算命令を実行する。2つの浮動小数点演算パイプラインと1つの浮動小数点レジスタファイルがある。2つのパイプラインは同一ではなく、加算パイプラインは乗算以外のあらゆる浮動小数点命令を実行し、もう1つは乗算命令専用である。加算パイプラインにはパイプライン化されていない浮動小数点除算ユニットと平方根ユニットが接続されている。加算や乗算など多くの命令のレイテンシは4サイクルで、倍精度除算のレイテンシは16サイクル、単精度除算のレイテンシは33サイクルである。浮動小数点レジスタファイルは72エントリで、うち32本がアーキテクチャ上のレジスタ、残り40本はレジスタ・リネーミング用である。

### キャッシュ

キャッシュは一次と二次の2レベル構成である。Alpha 21164 の3レベル・キャッシュ構成は帯域幅に問題があるため採用されなかった。

### 分岐予測

分岐予測には統合分岐予測アルゴリズムを採用している。このアルゴリズムはDECの Western Research Laboratory (WRL) の Scott McFarling が開発したもので、1993年に論文で発表している。21264で実装された分岐予測機構は、予測失敗時のペナルティが最短で7サイクルとなる。命令キャッシュには2サイクルのレイテンシがあり、命令キューもあるため、平均的な誤予測のペナルティは11サイクルとなる。そのアルゴリズムは2種類の分岐予測方式(局所分岐予測とgshare分岐予測)を持ち、分岐命令毎にどちらの予測を採用するかを決定するもう1つの予測機構を持つ。

### 外部インタフェース

外部インタフェースは双方向64ビットダブルデータレート (DDR) データバス、1方向15ビットの時分割多重化されたアドレスバス、信号線によって方向が異なるコントロールバスで構成される。DECはこのバス仕様をアドバンスト・マイクロ・デバイセズ (AMD) にライセンス提供し、AMDはそれをAthlonに採用しEV6バスと称した。

## 製造

総トランジスタ数は1520万個である。論理回路は600万トランジスタを使用しており、残りはキャッシュと分岐予測用履歴テーブルで使っている。寸法は 16.7mm × 18,8mm、面積は 313.96mm である。0.35μm CMOS プロセス、6層配線で製造された。

## パッケージ

587ピンの千鳥配置の pin grid array (IPGA) である。

Alpha Processor, Inc. は Alpha 21264 と二次キャッシュと電圧レギュレータをプリント基板上に実装し、Slot B という形にパッケージしたものを販売していた。これはインテルとAMDがスロット型のパッケージで成功していたことを真似たものである。Slot B は本来AMDのAthlon向けに設計され、量産効果で21264のパッケージのコスト低減を図る狙いがあった。しかしAMDは Slot A を採用したため、その狙いは外れてしまった。

## チップセット

DECとアドバンスト・マイクロ・デバイセズ (AMD) が Alpha 21264 用チップセットを開発した。

## 関連文献

- Compaq Computer Corporation (July 1999). Alpha 21264 Microprocessor Hardware Reference Manual.
- Compaq Computer Corporation (March 2002). 21264/EV67 Microprocessor Hardware Reference Manual.
- Gwennap, Linley (28 October 1996). "Digital 21264 Sets New Standard". Microprocessor Report, Volume 10, Number 14. MicroDesign Resources.
- Kessler, R. E. (1999). "The Alpha 21264 Microprocessor". IEEE Micro, March–April 1999. pp. 24–36.
- Leibholz, Daniel and Razdan, Rahul (1997). "The Alpha 21264: A 500 MHz Out-of-Order Execution Microprocessor". Proceedings of Compcon '97. pp. 28–36.
- Matson, M. et al. "Circuit Implementation of a 600MHz Superscalar RISC Microprocessor". Proceedings of the International Conference on Computer Design: VLSI in Computers and Processors. pp. 104–110.
- Benschneider, B.J. et al. (2000). "A 1 GHz Alpha microprocessor". ISSCC Digest of Technical Papers, pp. 86–87.
- Clouser, J. et al. (July 1999). "A 600-MHz superscalar floating-point processor". IEEE Journal of Solid-State Circuits 34 (7): pp. 1026–1029.
- Fischer, T.; Leibholz, D. (1998). "Design trade offs in stall-control circuits for 600 MHz instruction queues". ISSCC Digest of Technical Papers, pp. 232–234, 444.
- Gieseke, B.A. et al. (1997). "A 600 MHz superscalar RISC microprocessor with out-of-order execution". ISSCC Digest of Technical Papers, pp. 176–177, 451.
- Gronowski, Paul E. et al. (May 1998). "High-performance microprocessor design". IEEE Journal of Solid-State Circuits 33 (5): pp. 676–686.
- Hokinson, R. et al. (2001). "Design and migration challenges for an Alpha microprocessor in a 0.18 μm copper process". ISSCC Digest of Technical Papers, pp. 320–321, 460.