
Alpha 21164は、コード名EV5としても知られ、 Digital Equipment Corporationが開発および製造した、 Alpha命令セットアーキテクチャ(ISA)を実装したマイクロプロセッサです。1995 年 1 月に発表され、 Digital の主力マイクロプロセッサとしてAlpha 21064Aの後継となりました。1998年には Alpha 21264が後継となりました。
歴史
Alpha 21164 の最初のシリコンは 1994 年 2 月に製造され、OpenVMS、Digital UNIX、Windows NT の 各オペレーティング システムが起動しました。サンプルは 1994 年後半に製造され、1995 年 1 月に 266 MHz で発表されました。300 MHz バージョンは 1995 年 3 月に発表されました。最終的な Alpha 21164 である 333 MHz バージョンは 1995 年 10 月 2 日に発表され、サンプル数量で入手可能でした。1996 年に 400 MHz バージョンが量産可能になったとき、Digital の主力マイクロプロセッサは Alpha 21164A に置き換えられました。
ユーザー
Digital は、さまざまなクロック周波数で動作する Alpha 21164 をAlphaServer サーバー、AlphaStation ワークステーションで使用しました。Digital はまた、Alpha VME 5/352 および Alpha VME 5/480シングルボードコンピュータ、および AlphaPC 164 および AlphaPC 164LXマザーボードでも Alpha 21164 を使用しました。Alpha のパートナーであるCray Research は、 T3E-600スーパーコンピュータで 300 MHz Alpha 21164 を使用しました。DeskStationなどのサードパーティも、Alpha 21164 を使用してワークステーションを構築しました。
パフォーマンス
21164 は、1995 年 11 月にIntel Pentium Proが導入されるまで、275 MHz Alpha 21064Aから性能面でリードし続けました。このとき、200 MHz 版はSPECint95_baseベンチマーク スイートで 300 MHz 21164 を上回りました。21164 は浮動小数点性能面でリードし続けました。翌年に導入された 333 MHz 21164 は Pentium Pro を上回りましたが、後にMIPS Technologies R10000に、さらに同じ年にHewlett-Packard PA-8000に追い抜かれました。[1]
説明
Alpha 21164 は、4 つの実行ユニット(整数2 つと浮動小数点2 つ)に対してクロック サイクルごとに最大 4 つの命令を発行できる 4 命令発行スーパースカラマイクロプロセッサです。整数パイプラインは 7 ステージ、浮動小数点パイプラインは 10 ステージです。21164 は 43 ビットの仮想アドレスと 40 ビットの物理アドレスを実装しました。そのため、8 TB の仮想メモリと 1 TB の物理メモリをアドレス指定できました。
整数単位
整数ユニットは、2 つの整数パイプラインと整数レジスタ ファイルで構成されます。加算パイプラインと乗算パイプラインの 2 つのパイプラインは同一ではなく、それぞれ異なる命令の実行を担当しますが、どちらも一般的な加算、論理、ロード、比較、条件付き移動命令を実行できます。乗算パイプラインは、シフト、ストア、乗算命令 (パイプライン化されていない乗算器内) のみを実行します。加算パイプラインは、分岐命令のみを実行します。
分岐、条件付き移動、および乗算命令を除き、他のすべての命令は、1 サイクルの遅延でステージ 5 で実行が開始され、終了します。分岐命令と条件付き移動命令はステージ 6 で実行されるため、結果に依存する比較命令を発行できます。
整数レジスタファイルには40個の64ビットレジスタが含まれており、そのうち32個はAlphaアーキテクチャで指定され、8個はPALcodeによってスクラッチパッドメモリとして使用されます。レジスタファイルには4つの読み取りポートと2つの書き込みポートがあり、2つの整数パイプラインに均等に分割されています。[2]
浮動小数点ユニット
浮動小数点ユニットは、2 つの浮動小数点パイプラインと浮動小数点レジスタ ファイルで構成されます。2 つのパイプラインは同一ではなく、1 つは乗算以外のすべての浮動小数点命令を実行し、もう 1 つは乗算命令のみを実行します。両方のパイプラインには 4 つのステージがあります。パイプライン化されていない浮動小数点除算器は、加算パイプラインに接続されています。除算を除くすべての浮動小数点命令のレイテンシは 4 サイクルです。除算のレイテンシは可変で、演算が単精度浮動小数点数と数値で実行されるか、倍精度浮動小数点数と数値で実行されるかによって異なります。オーバーヘッドを含めると、単精度除算のレイテンシは 15 ~ 31 サイクルですが、倍精度除算のレイテンシは 22 ~ 60 サイクルです。
キャッシュ
21164には3つのレベルのキャッシュがあり、2つはオンダイ、1つは外部のオプションです。キャッシュと関連ロジックは720万個のトランジスタで構成されています。[3]
プライマリ キャッシュは、命令用とデータ用の別々のキャッシュに分割され、それぞれ I キャッシュと D キャッシュと呼ばれます。サイズは 8 KB で、ダイレクト マップされ、キャッシュ ライン サイズは 32 バイトです。D キャッシュはデュアル ポート化されており、パフォーマンスが向上し、キャッシュを 2 回複製して実装されています。ライトスルー書き込みポリシーとオンリード割り当てポリシーを使用します。
Sキャッシュとして知られる二次キャッシュはオンダイで、容量は96KBです。21164では、十分な命令とデータを提供するために、外部の二次キャッシュが提供できる以上の帯域幅が必要だったため、オンダイの二次キャッシュが必要でした。[4]キャッシュは、面積が大きいため、アクセスに2サイクル必要でした。パフォーマンスを向上させるために、キャッシュはパイプライン化されています。オンダイの二次キャッシュのもう1つの利点は、マルチウェイキャッシュとして簡単に実装できることです。その結果、キャッシュは3ウェイセットアソシエイティブになり、ダイレクトマップキャッシュよりもヒット率が向上します。[5] Sキャッシュは、必要な物理領域が大きいため、Iボックス、Eボックス、Fボックス、Mボックスの両側に2つに分けて実装されました。これは、キャッシュが2サイクルでデータを返すことができるようにするために行われました。
三次キャッシュはBキャッシュと呼ばれ、外部SRAMで実装されます。Bキャッシュはオプションで、Alpha 21164を使用するシステムの中にはBキャッシュを持たないものもありました。Bキャッシュの容量は1~64MBで、それより小さい容量はオンダイSキャッシュによって無効になるためサポートされませんでした。[6]これはダイレクトマップで、ライトバック書き込みポリシーとオンライト割り当てポリシーを使用します。Bキャッシュは、外部キャッシュコントローラを必要とする21064とは異なり、オンダイ外部インターフェイスロジックによって制御されます。Bキャッシュは、非同期または同期SRAMで構築できます。Bキャッシュにはシステムバス経由でアクセスします。
外部インターフェース

外部インターフェースは 128 ビットのシステム バスです。システム バスは、内部クロック周波数の 3 ~ 15 倍低いクロック周波数で動作します。内部クロック周波数が 300 MHz の場合は、20 ~ 100 MHz です。システム バスのクロック信号は、マイクロプロセッサによって生成されます。
クロック
内部クロック周波数は、外部クロック信号を 2 で割ることによって生成されます。したがって、Alpha 21164 が 300 MHz の場合、600 MHz の外部クロック信号が必要になります。
製作
Alpha 21164は、16.5 x 18.1 mm (299 mm 2 )のダイに930万個のトランジスタを搭載しており、これはプロセスの上限に近いものでした。ダイは、Digitalの第5世代相補型金属酸化膜半導体(CMOS) プロセスであるCMOS-5で製造されました。これは、4層のアルミニウム相互接続を備えた0.50 μmプロセスです。 [7] 21164は3.3ボルト(V) 電源を使用しました。消費電力は、266 MHzで46 W、300 MHzで51 W、333 MHzで56 Wでした。
パッケージ
Alpha 21164 は、57.40 x 57.40 mm の 499 ピン セラミック インタースティシャルピン グリッド アレイ(IPGA) にパッケージ化されています。パッケージには、ヒートシンクがボルトで固定される 2 つのスタッドが付いたヒートスプレッダーがあります。
デリバティブ
アルファ 21164 (EV56)

Alpha 21164は、EV56というコードネームで呼ばれるさらなる開発のベースとなった。Alpha 21164として発表されたが、当初はAlpha 21164Aとして知られていた。366、433、500、533、566、600、666MHzのクロック周波数で動作した。[8] [9] [10]
歴史
これは、1995 年 10 月にマイクロプロセッサ フォーラムで初めて説明されました。1995 年 11 月 13 日、Digital 社は、その月の後半にサンプルを出荷すると発表しました。366 MHz で動作する最初のバージョンは、1996 年に導入されました。1996 年 7 月 8 日、Digital 社は、433 MHz バージョンが利用可能であり、500 MHz バージョンはサンプル出荷中で、量産は 1996 年 9 月の予定であると発表しました。433 MHz バージョンの価格は、1,000 個単位で 1 個あたり 1,492 ドルでした。600 MHz バージョンは、1997 年 3 月 31 日に導入され、量産出荷されました。Samsung Electronics 社は、 1996 年 6 月に Digital 社と Alpha 21164A のセカンド ソース契約を締結し、同社が 666 MHz モデルを製造する唯一の企業となりました。 366 ~ 500 MHz のサンプルは 1996 年 11 月 11 日に発表され、1997 年に量産が開始されました。Alpha 21164A は、マサチューセッツ州ハドソンにある Digital 社の製造工場と、韓国キフンにある Samsung 社の製造工場で製造されました。
Alpha 21164A のユーザーには、Cray Research、Digital、Network Appliance (現在の NetApp)、DeskStation などがありました。Cray Research は、 T3Eスーパーコンピュータの後期モデルで 450、600、675 MHz の Alpha 21164A を使用しました。Digital は、さまざまなクロック周波数で動作する Alpha 21164A をAlphaServer、AlphaStation、Celebris XL ワークステーション、Digital Personal Workstationで使用しました。NetApp は、ストレージ システムに 400、500、600 MHz の Alpha 21164A を使用しました。DeskStation は、Raptor Reflex ワークステーションで Alpha 21164A を使用しました。
説明
最も注目すべき変更点は、バイトワード拡張 (BWX) の組み込みです。これは、バイトおよびワードのアクセスを改善するために設計された Alpha アーキテクチャの拡張機能です。これらの命令は、乗算パイプラインによって実行されます。Alpha 21164A には、14.4 mm x 14.5 mm のダイに 966 万個のトランジスタが搭載され、ダイ面積は 209 mm 2でした。[11] Digital は、4 層の相互接続を備えた 0.35 μm プロセスである第 6 世代 CMOS プロセスである CMOS-6 でダイを製造しました。 Samsung は、1996 年初頭に開発した 0.3 μm プロセスに基づいて、4 層の相互接続を備えた 0.35 μm プロセスでダイを製造しました。Alpha 21164A は 3.3 V 電源を使用し、366 MHz で 31.0 W、433 MHz で 36.0 W、500 MHz で 41.0 W、533 MHz で 43.5 W、600 MHz で 48.5 W を消費しました。
アルファ 21164PC (PCA56)
Alpha 21164PCはPCA56としても知られ、1997年3月17日に発表された Alpha 21164A の低価格版である。このマイクロプロセッサは Digital と三菱電機が共同で開発し、両社が設計を製造した。三菱はその後、1998年初頭に Digital との将来の Alpha マイクロプロセッサの共同開発契約を中止し、1998年半ばに Alpha 21164PC の製造を中止し、同社の市場における経済状況により Alpha 市場から撤退した。[12] [13]
Alpha 21164PC は、400、466、533 MHz のクロック周波数で動作しました。主な変更点は、S キャッシュの省略、I キャッシュの大型化、および MPEG エンコードのパフォーマンスを向上させる単一命令複数データ(SIMD) 命令を導入した Alpha アーキテクチャの拡張機能である Motion Video instruction (MVI) の組み込みです。S キャッシュはトランジスタ数を減らすために削除され、ダイ サイズが削減され、結果としてコストも削減されました。S キャッシュの不足を補うために、I キャッシュの容量が 8 KB から 16 KB に倍増されました。これは、Alpha 21164 が十分な帯域幅を提供して適切なパフォーマンスを実現するために I キャッシュを補完する S キャッシュに依存していたためです。B キャッシュの容量は 512 KB から 4 MB に制限され、1 MB と 2 MB の容量もサポートされました。
Alpha 21164PC は、8.65 x 16.28 mm のダイに 350 万個のトランジスタを搭載し、ダイ面積は 141 mm 2でした。Digital は、Alpha 21164、CMOS-5 と同じプロセスでダイを製造しました。Alpha 21164PC は、49.78 x 49.78 mm の 413 ピン IPGA にパッケージ化されました。3.3 V 電源を使用し、400 MHz で 26.5 W、466 MHz で 30.5 W、533 MHz で 35.0 W を消費しました。
Alpha 21164PC は、Digital の AlphaPC 164SX マザーボードで使用されました。
アルファ 21164PC (PCA57)
PCA56 の派生製品であるPCA57 は、サムスン電子が 0.28 μm CMOS プロセスで設計、製造しました。PCA57 は 1998 年後半に発表され、533、600、666 MHz のクロック周波数で動作しました。PCA56 マイクロアーキテクチャの改良点には、I キャッシュと D キャッシュの容量がそれぞれ 32 KB と 16 KB に倍増したことが含まれます。PCA57 には、6.7 mm x 15 mm のダイに 570 万個のトランジスタが搭載され、ダイ面積は 101 mm 2でした。2.5 V 電源で動作し、消費電力は 533 MHz で 18 W、600 MHz で 20 W、666 MHz で 23 W でした。
PCA57 は Digital 社の AlphaPC 164RX マザーボードで使用されました。
チップセット
Digital 社と VLSI Technology 社は、21164 およびその派生製品用のチップセットを開発しました。また、Digital 社は、AlphaServer 8200 や 8400 などの AlphaServerファミリーのハイエンド モデルで使用するためのカスタム ASIC (特定用途向け集積回路) も開発しました。
21171
21171 (別名 Alcor) は、21164 用の最初のチップセットで、1995 年 1 月に、サポートするマイクロプロセッサとともに発表されました。このチップセットは、Digital 社によって開発および製造されました。21171 は、21164 が使用する新しいシステム バス プロトコルをサポートするように変更されたアップグレード版のDECchip 21071です。このチップセットは、メモリと PCI コントローラを含む制御チップと、256 ビットのメモリ バスとPCIバスをシステム バスに接続する 4 つのデータ スライス チップで構成されていました。21171 は、33 MHz で動作する 64 ビット幅の PCI バスを提供します。
21172
21172 (Alcor2 とも呼ばれる) は、21164A をサポートする更新された 21171 でした。
ピクシス
Pyxisチップセットは21174としても知られ、21164Aおよび21164PCマイクロプロセッサをサポートしていました。以前のチップセットとは異なり、低コストのシステム向けに設計されていました。その結果、複数のパッケージではなく、 474コンタクトのセラミックボールグリッドアレイ(CBGA)にパッケージ化されたシングルチップ設計になりました。 [14]その後、エントリーレベルのワークステーション(デジタルパーソナルワークステーションaシリーズ)や、AlphaPC 164LXや164SXなどのマザーボードなど、コスト重視のアプリケーションで使用されました。発売時の21174の価格は、1,000個単位で142ドルでした。[15]
21174 には、メモリ コントローラと PCI コントローラが含まれています。メモリ コントローラは、最大 512 MB の同期ダイナミック ランダム アクセス メモリ(SDRAM) をサポートし、128 ビットメモリ バスを介してアクセスします。メモリは、ECC またはパリティ保護のいずれかにすることができます。PCI コントローラは、 PCIまたはPCI-Xバスを提供します。
ポラリス
Polaris は、 VLSI Technologyが21164A および 21164PC マイクロプロセッサをサポートするパーソナル コンピュータ用に開発したシステム コントローラです。Polaris は 1997 年 6 月 16 日に発表されました。[16]最大 768 MB の EDO DRAM または最大 512 MB の SDRAM をサポートします。メモリは 128 ビット バス経由でアクセスされます。I/O には 32 ビット、33 MHz のPCIバスが提供されます。
Polaris のユーザーには、AlphaPC 164RX マザーボードを使用している Digital も含まれていました。
注記
- ^ グウェナップ 1996
- ^ Bowhill 他、「300 MHz 64 ビット第 2 世代 CMOS Alpha CPU の回路実装」、124 ページ。
- ^ Bowhill 他、「300 MHz 64 ビット第 2 世代 CMOS Alpha CPU の回路実装」、111 ページ。
- ^ Gwennap、「デジタルが21164でトップに立つ」、1ページ。
- ^ Gwennap、「デジタルが21164でトップに立つ」、pp. 1-2。
- ^ Gwennap、「デジタルが21164でトップに立つ」。
- ^ Bowhill 他「300 MHz 64 ビット第 2 世代 CMOS Alpha CPU の回路実装」、pp. 100–101。
- ^ Alpha 21164 マイクロプロセッサ データシート、1998 年 8 月、p. 113。
- ^ Digital Semiconductor 21164 Alpha マイクロプロセッサ製品概要、1997 年 3 月 31 日、p. 2。
- ^ 「CCL: DEC Alpha 566 対 600 MHz」
- ^ Bouchard、「0.35 μm Alpha 21164 マイクロプロセッサの設計目標」、3、5 ページ。
- ^ Foremski、「三菱、アルファから撤退」。
- ^ Foremski、「三菱電機がアルファマイクロプロセッサの製造を停止」
- ^ シューマン 1997
- ^ グウェナップ 1997
- ^ VLSIテクノロジー 1997
参考文献
- Bouchard, Gregg. 「0.35 μm Alpha 21164 マイクロプロセッサの設計目標」。IEEE Hot Chips シンポジウム、1996 年 8 月、IEEE Computer Society。
- Bowhill, William J. 他 (1995)。「300 MHz 64 ビット第 2 世代 CMOS Alpha CPU の回路実装」。Digital Technical Journal、第 7 巻、第 1 号、100 ~ 118 ページ。
- Edmondson, John H. 他 (1995)。「300 MHz 64 ビット 4 チャネル CMOS RISC マイクロプロセッサ Alpha 21164 の内部構成」。Digital Technical Journal、第 7 巻、第 1 号、1995 年。119 ~ 135 ページ。
- Edmondson, John H. 他 (1995)。「21164 Alpha マイクロプロセッサにおけるスーパースカラ命令実行」IEEE Micro。pp . 33–43。
- Foremski, Tom (1998 年 2 月 10 日)。「三菱が Alpha から撤退」。Electronics Weekly。
- Foremski, Tom (1998 年 7 月 10 日)。「三菱電機が Alpha マイクロプロセッサの製造を停止」。Electronics Weekly。
- Gwennap, Linley (1994 年 9 月 12 日)。「Digital が 21164 でトップに立つ」。マイクロプロセッサ レポート、第 8 巻、第 12 号。
- Gwennap, Linley (1996 年 7 月 8 日)。「Digital の 21164 が 500 MHz に到達」。マイクロプロセッサ レポート、第 10 巻、第 9 号。
- Gwennap, Linley (1997 年 3 月 31 日)。「Digital の 21164PC は PC 市場を狙っている」。マイクロプロセッサ レポート、第 11 巻、第 4 号。
- ライアン、ボブ (1994 年 10 月)。「アルファは高まる」。Byte。
- Samsung Semiconductor, Inc. (1996 年 11 月 11 日)。「Samsung が 500MHz Alpha 21164 マイクロプロセッサを発表。Digital/Samsung ライセンス契約に基づく最初の製品は 1997 年第 2 四半期までに量産開始予定。Wayback Machineに 2012-10-11 にアーカイブ」。プレス リリース。
- Schumann, Reinhard C. (1997)。「Digital Personal Workstations 用 21174 メモリ コントローラの設計」Wayback Machineに 2008-09-06 にアーカイブ。Digital Technical Journal 9 (2): 57–70。
- VLSI Technology (1997 年 6 月 16 日)。「VLSI の新しい Alpha システム コントローラである Polaris が、ギガバイト/秒のメモリ転送の壁を破りました。エンド ユーザーは Alpha システムで完全なパフォーマンスを実現できます。」プレス リリース。
- CCL フォーラム (1998 年 3 月 25 日)。「DEC Alpha 566 vs. 600 MHz」
さらに読む
- Bannon, P., Saito, Y. (1997). 「Alpha 21164PC マイクロプロセッサ」。Compcon '97 の議事録、pp. 20–27。
- Bhandarkar, Dileep P. (1995). Alpha アーキテクチャと実装. Digital Press.
- Carlson, D. 他 (1998)。「6.0 ns 64 ビット整数乗算器を搭載した 667 MHz RISC マイクロプロセッサ」。ISSCC技術論文ダイジェスト、pp. 294-295。
- Carlson, DA; Castelino, RW; Mueller, RO (1997 年 11 月)。「550 MHz RISC マイクロプロセッサのマルチメディア拡張」IEEE Journal of Solid-State Circuits 32 (11): pp. 1618–1624。
- Jain, AK 他 (1997)。「マルチメディア拡張機能を備えた 1.38 cm 2 550 MHz マイクロプロセッサ」。ISSCC技術論文ダイジェスト、pp. 174-175、451。
- Gronowski, Paul E. 他 (1998 年 5 月)。「高性能マイクロプロセッサ設計」IEEE Journal of Solid-State Circuits 33 (5): pp. 676–686。
- Kobayashi, S. 他 (1997)。「PC アプリケーションをターゲットとした 550 MHz Alpha マイクロプロセッサ」。1997年国際 VLSI 技術、システム、およびアプリケーションシンポジウムの議事録、203 ~ 207 ページ。
外部リンク
- Alpha AXP 21164 マイクロアーキテクチャの概要、John Edmonson による講義
