Movatterモバイル変換


[0]ホーム

URL:


コンテンツにスキップ
Wikipedia
検索

DEC Alpha

出典: フリー百科事典『ウィキペディア(Wikipedia)』
この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。このテンプレートの使い方
出典検索?"DEC Alpha" – ニュース ·書籍 ·スカラー ·CiNii ·J-STAGE ·NDL ·dlib.jp ·ジャパンサーチ ·TWL
(2025年9月)
Alpha
開発者DEC
ビット数64ビット
発表1992年
デザインRISC
タイプレジスタ-レジスタ
エンコード固定
エンディアンバイエンディアン
拡張バイト/ワード拡張 (BWX)、平方根と浮動小数点数変換拡張 (FIX)、カウント拡張 (CIX)、マルチメディア拡張 (MVI)
オープンYes[1]
レジスタ
汎用32本
浮動小数点32本
DEC Alpha AXP 21064 のダイ
DEC Alpha AXP 21064 のパッケージ
Alpha AXP 21064 のダイを埋め込んだ名刺
Compaq Alpha 21264C
Alphaを複数のチップで実装した初期のマルチチップモジュール

DEC Alphaは、Alpha AXPとしても知られ、ディジタル・イクイップメント・コーポレーション (DEC) の64ビットRISC命令セットアーキテクチャ (ISA) であり、32ビットVAXCISC ISA とその実装を置換すべく設計された。AlphaはDECがマイクロプロセッサとして実装し生産した。Alphaマイクロプロセッサは特にDECのワークステーションサーバに使用され、ミッドレンジ以上のあらゆるコンピュータで採用された。サードパーティーもAlphaを使ったシステムを製造しており、PCのフォームファクタマザーボードなども作られた。

オペレーティングシステム (OS) としてはDEC版UNIX (Tru64 UNIX) やVMSをサポートした。後に、Linux (Debian GNU/Linux,Gentoo Linux,Red Hat Linux) や一部のBSD (NetBSD,OpenBSD,FreeBSD) のようなオープンソースのOSもAlpha上で動作するようになった。マイクロソフトWindows NT 4.0 SP6までAlphaをサポートしたが、Windows 2000 RC2を最後にサポートは打ち切られた。

1998年、DECがコンパックに買収されると、Alphaアーキテクチャもコンパックのものとなった。コンパックはインテルの顧客でもあり、予定されていたHP/インテルのItaniumアーキテクチャを採用するためAlphaを徐々にフェーズアウトさせることにし、Alpha関連の知的財産権を2001年にインテルに売却し、実質的に製品として見切りをつけた。2002年HPがコンパックを買収し、2004年まで既存製品の開発を継続し、既存顧客向けに2006年10月までAlphaベースのシステムの販売継続を約束した(その後2007年4月に延長)[2]

歴史

[編集]

Alphaは、それ自体以前の複数のプロジェクトの最終生成物である、PRISM英語版という初期のRISCプロジェクトから生まれた。パロアルトの設計チームがMIPSR2000 を使ったUnix専用ワークステーション (DECstation 2100) を提案し、そちらの方が早く市場に出せることから PRISM はキャンセルされた。PRISMと他のRISCプロセッサの違いの中でも、Epicode と呼ばれるユーザープログラム可能なマイクロコードのサポートがPRISMの特徴である。PRISMはMica と呼ばれる新オペレーティングシステムが動作するよう設計されていた。Micaは「ネイティブ」なプログラムはフルスピードで実行でき、同時にVAX向けの既存のVMSプログラムを若干変換して実行することができる。DEC経営陣は既存の稼ぎ頭を新しいマシンで置き換える必要性を理解せず、結局1988年にプロジェクトは中止された。

しかし、中止の時点でより新しいSPARCやMIPSといった第2世代のRISCチップはすでにVAXシリーズよりずっと良い価格性能比を誇っていた。第3世代のチップは価格だけでなく、全ての面においてVAXを完全に上回るであろうことは明らかだった。そのため、VMSを直接サポートする新しいRISCアーキテクチャが可能かどうかを調べる別の研究が始まった。新しいデザインはほとんどのPRISMの基本コンセプトを踏襲したが、VMSとVMSのプログラムを適度なスピードで全く変換せずに実行できるように、方針が転換された。主なRISCベンダと同様に、PRISMの32ビットから完全な64ビットの実装に設計を変更する決定もなされた。結果として、新しいアーキテクチャがAlphaとなった。Alphaの命令セットのアーキテクトはリチャード・L・サイツとリチャード・T・ウィテクである。PRISMのEpicodeは、AlphaのPALcode英語版となった。PALcodeはプラットフォーム固有およびプロセッサ実装固有の機能への抽象化されたインタフェースを提供する。PALcodeは、表面的にはマイクロコードそのものであるが、実体は「割り込み不可能なサブルーチン」であり、特権モードの生成などに使われた。VMSはCPUの動作モードとしてカーネル、エグゼクティブ、スーパバイザ、ユーザーの4種類を必要とするが、UNIXはカーネルとユーザーの2つでよい。モード切り替えの機能をPALcodeとして分離することで、RISCの単純さを保ちつつ、アーキテクチャの異なるOSのサポートを可能にしたのである。

Alphaのマイクロプロセッサ業界への主な貢献と、その優秀な性能の主な理由は、アーキテクチャというよりはむしろ優れた実装によるものである。当時(現在も同じだが)、マイクロチップ産業は自動化された設計およびレイアウトツールが中心となっていた。DECのチップ設計陣は過度に複雑なVAXアーキテクチャを扱うために、人手による洗練された回路設計を追求し続けた。シンプルでクリーンなアーキテクチャに適用された人手による回路設計は、自動化された設計システムによるものよりもずっと高い動作周波数を可能にするということを、Alphaチップは示した。これらのチップは、マイクロプロセッサ設計コミュニティにカスタム回路設計というルネッサンスをもたらした。

Alphaのプロセッサは当初DECchip 21x64 シリーズと呼ばれていたが、1990年代中ごろに "DECchip" から "Alpha" に変更した。番号の先頭2桁である "21" は21世紀を意味し、最後の2桁 "64" は64ビットであることを意味している。Alphaは当初から64ビットとして設計されており、32ビットのバージョンは存在しない。真ん中の数字はAlphaアーキテクチャの世代を表す。社内ではEV 番号でも識別され、EVは公式には "Extended VAX" の略とされていた。

Alphaチップの最初の頃の世代のものは、当時もっとも革新的なものであった。最初のバージョンである21064 (EV4) は、より高性能なECLミニコンピュータメインフレームに匹敵する動作周波数を誇る最初のCMOSマイクロプロセッサである。2代目の21164 (EV5) は、大容量の2次キャッシュをチップの中に持つ最初のマイクロプロセッサであった。3代目の21264 (EV6) は、高い動作周波数とより複雑なアウト・オブ・オーダー実行を組み合わせた最初のマイクロプロセッサであった。21364 (EV7) はオンチップのメモリコントローラを持つ最初の高性能プロセッサだった。21464英語版 (EV8) は初の同時マルチスレッディングをサポートしていたが、コンパックによるDEC買収後にキャンセルされた。コード名TarantulaEV9と呼ばれるはずの研究プロジェクトで、ベクターユニットをAlphaに搭載する計画だった[3]

Alphaのコード名はEVAX (Extended VAX) であったが、実際の製品名の決定は難航した。最後に「ARA (Advance RISC Architecture)」が残ったが、一部の国で「不適切な言葉」とされたため白紙に戻った。最終的に「Alpha」という名前が決まってからも、商標上の問題からAlpha AXPとなった。実際には、この追加は必要なかったようで、最終的にAlphaに戻ったようである。AXPの意味には諸説あるが、真相は商標コンサルティング会社が考えたもので意味はないそうである。DEC社内に流れた文書によると「覚えやすい3文字」「Xを含むと先進的なイメージがある」「他社の商標権を侵害しない」ということで決まったということだ。DEC社内では "Acronym eXpert is Paid too much"(略語の専門家に多額の金が払われた)の略というジョークがささやかれていた。

余談だがAMD社のAthlonプロセッサで採用されたEV6バス21264 (EV6)のバスと同じものであり、信号レベルでは互換性がある。実際にAthlonプロセッサ用チップセットをAlphaプロセッサ用マザーボードに使用した例もある。

設計原則

[編集]

Alphaアーキテクチャは性能を最重要として設計されている。DECは25年で1000倍の性能向上を達成することを意図していた。そのため、複数命令の発行、クロック周波数向上、マルチプロセッシングといった方向性を妨げるアーキテクチャ上の特質は徹底的に取り除かれた。結果としてAlphaでは、以下のような特質を持たない。

  • 分岐遅延スロット
  • 命令の抑制
  • バイト単位のロード/ストア命令。ただし後にバイト/ワード拡張 (BWX) として追加した。

条件コード

[編集]

Alphaでは整数命令に条件コードが存在せず、ステータスレジスタの条件コードがボトルネックとなる可能性を排除している。例えば加算命令でオーバーフローとなるような場合、和の下位64ビット(あるいは32ビット加算なら下位32ビット)をレジスタに書き込み、あふれた部分を無視する。キャリーが発生したかどうかが必要なら、加算結果と加算前の2つの数値を符号なし数値として比較する。

レジスタ

[編集]

アーキテクチャでは整数用レジスタが32本、浮動小数点用レジスタが32本定義されており、さらにプログラムカウンタ、2本のロックレジスタ、1本の浮動小数点コントロールレジスタ (FPCR) がある。他にも実装上必要な場合にのみ実装されるオプションのレジスタ群が定義されている。また、PALcode英語版用のレジスタ群が定義されている。

整数レジスタは R0 から R31 と表記され、浮動小数点レジスタは F0 から F31 と表記される。R31とF31は常にゼロであり、それらに書き込もうとしても無視される。DECは統合レジスタファイルも検討したが、整数レジスタファイルと浮動小数点レジスタファイルを分離した方が実装の自由度が上がり、FPUを別チップにすることも可能になるということで、分離することにした。また、複数命令を同時発行する場合、分離した方がレジスタファイルのリード/ライトのポート数を減らせるという利点もある。レジスタファイル内のレジスタ本数も32本と64本を候補として検討した。DECは32本の方がチップ上の面積が小さくなり、クロック周波数を上げやすいということでそちらを選択した。32本のレジスタがあれば少なくとも8命令同時発行までサポートできるため、このレジスタ本数は性能や将来の発展の観点からも大きな問題とはならないと考えられた。

プログラムカウンタは64ビットでロングワード(32ビットのこと。データ型も参照のこと)境界の仮想バイトアドレスを保持する。従って、下位2ビットは常にゼロであり、逐次的に命令を実行する際は4ずつインクリメントされる。マルチプロセッシングをサポートするため、ロックフラグとロックされた物理アドレスを格納するレジスタを使い、load-locked/store-conditional命令を実装している。浮動小数点コントロールレジスタ (FPCR) は64ビットのレジスタで、IEEE 754 準拠の浮動小数点演算機能をハードウェアで実装するのに使われる。

データ型

[編集]

Alphaでは1バイト8ビットデータとして定義されており、16ビットデータを1ワード32ビットデータをロングワード64ビットデータをクワッドワード128ビットデータをオクタワードと称する。

Alphaアーキテクチャには当初から以下の6種類のデータ型が定義されていた。

  • クワッドワード(64ビット)整数
  • ロングワード(32ビット)整数
  • IEEE倍精度浮動小数点数(T-floating-point、64ビット)
  • IEEE単精度浮動小数点数(S-floating-point、32ビット)

VAXとの互換性のため、次の2種類も含まれる。

  • VAX 倍精度浮動小数点数(G-floating point、64ビット)
  • VAX 単精度浮動小数点数(F-floating point、32ビット)

命令セットの将来の拡張で128ビットのデータ型をサポートすることが考慮されていた。

メモリ

[編集]

64ビットの平坦な仮想アドレス空間を持つ。実装においては仮想空間を小さく実装してもよいことになっていて、最小仮想アドレス幅は43ビットとされている。未使用ビットはTLBなどのハードウェアでは実装されないが、ソフトウェアの互換性を保証するため、未使用ビットがゼロであることをハードウェアでチェックすることを要求している。

命令フォーマット

[編集]
313029282726252423222120191817161514131211109876543210種類
オペコードRaRb未使用0機能Rc整数演算
オペコードRaリテラル1機能Rcリテラル付き整数演算
オペコードRaRb機能Rc浮動小数点演算
オペコードRaRbディスプレースメントロード/ストア
オペコードRaディスプレースメント分岐
オペコード機能CALL_PAL

AlphaISA の命令長は32ビット固定である。命令フォーマットは6種類ある。

整数演算命令のフォーマットでは、オペコード6ビットの後に第1オペランドを指定するRaフィールドと第2オペランドを指定するRbフィールドがある。続く3ビットは未使用で予約されている。その次の1ビットは常に "0" で、リテラルを使用する整数演算命令のフォーマットとの区別に使われている。次に7ビットの機能フィールドがあり、オペコードとの組み合わせで具体的に何をするのかを指定する。最後のRcフィールドは演算結果を書き込むレジスタを指定する。レジスタを指定するフィールドはそれぞれ5ビットで、32種類の値が32本の整数レジスタに対応している。

リテラル整数演算フォーマットでは、オペランドの一方にリテラルを使用する。整数演算命令のフォーマットのうち、5ビットのRbフィールドと3ビットの未使用フィールドを合わせた8ビットをリテラルフィールドとして使用し、リテラルは符号拡張ではなくゼロ拡張で64ビットの値に変換して使用する。

浮動小数点演算フォーマットは整数演算フォーマットと似ているが、機能フィールドが11ビットに拡大している。

ロード/ストア用フォーマットでは、16ビットのディスプレースメント・フィールドで命令の後半が占められている。

分岐用フォーマットには21ビットのディスプレースメント・フィールドがある。Raフィールドは条件分岐の際に調べるレジスタを指定する。条件が成立している場合、プログラムカウンタにディスプレースメントを加算して更新する。ディスプレースメントは符号付き整数であり、正の場合は前方への分岐、負の場合は後方への分岐となる。分岐可能な範囲は 1,048,576 である。設計原則に従い、分岐可能範囲を広くとってある。

CALL_PALフォーマットはCALL_PAL命令で使うもので、PALcode英語版サブルーチン呼び出しに使われる。オペコード以外は26ビットの機能フィールドとなっており、PALcodeサブルーチンを指定する整数を示す。

命令セット

[編集]

制御命令

[編集]

制御命令とは、条件分岐/無条件分岐とジャンプ命令である。条件分岐命令と無条件分岐命令は分岐用フォーマットを使い、ジャンプ命令はロード/ストア用フォーマットを使っている。

条件分岐では、指定されたレジスタの最下位ビットが1か0か(奇数/偶数)の判定、あるいは指定されたレジスタとゼロとの大小比較の判定を行い、指定された条件が成立していれば分岐する。分岐する場合は、21ビットのディスプレースメントを符号拡張し、4倍してロングワード境界にし、プログラムカウンタに加算する。このときのプログラムカウンタは実行中命令の次の命令を指している(更新済み)。

無条件分岐では、条件分岐と同様に計算したアドレスでプログラムカウンタを更新する。また、このとき実行中の無条件分岐命令の次にある命令のアドレスをRaフィールドで指定したレジスタにセーブする。分岐予測ハードウェアに提供するヒントが異なる2種類の無条件分岐命令がある。

ジャンプ命令は4種類ある(正確にはオペコードは1種類で、ディスプレースメント・フィールドに4種類の値を設定する)。Raフィールドが指定するレジスタに次の命令のアドレスをセーブし、Rbフィールドが指定するレジスタの内容をプログラムカウンタに書き込む。ディスプレースメント・フィールドに書き込むのは分岐予測ハードウェアに提供するヒント情報である。

整数演算

[編集]

整数演算命令としては、ロングワードおよびクワッドワードの加算/乗算/減算、クワッドワードの比較がある。除算命令は存在せず、ハードウェアの単純さを優先している。加算/減算命令にはスケール版があり、第2オペランドを2ビットまたは3ビット左にシフトしてから加減算を行う。乗算命令は積の下位64ビット(または32ビット)を指定されたレジスタに書き込む。64ビット乗算で積の上位64ビットを得るための命令Unsigned Multiply Quadword High (MULH) もあり、任意精度演算の実装や除算アルゴリズムで使用する。積の上位半分を得る命令という考え方はPRISM英語版 で生まれた。

ロングワード(32ビット)の整数演算命令は、レジスタの上位32ビットを無視して演算を行い、計算結果を符号拡張してレジスタに書き込む。UMULH命令とスケール版加減算命令以外の加算/乗算/減算命令はデフォルトではオーバーフローを検出しない。オーバーフローを検出するバージョンの命令も用意されている。

比較命令はレジスタ同士を比較するか、レジスタとリテラルを比較し、指定された条件が成立する場合はRcフィールドで指定したレジスタに '1' を、条件が成立しない場合は '0' を書き込む。条件としては、等しい、小さいか等しい、小さい、の3種類がある。等しいか否かの判定以外には符号付き数値として比較するか符号なし数値として比較するかでさらに2種類に分かれる。

論理演算とシフト

[編集]

論理演算命令としては、ビット単位の論理演算と整数レジスタ間の条件付き転送命令がある。ビット単位の論理演算には、ANDNANDNORORXNORXOR があり、レジスタ間またはレジスタとリテラル間で演算を行う。条件付き転送命令はRaレジスタの内容について条件が成立する場合、Rbレジスタの内容をRcで指定したレジスタに書き込む。条件としては、ゼロとの比較(等しい、大小)と最下位ビットの値(奇数/偶数)がある。シフト命令には、算術右シフトと論理左シフトがある。シフトするビット数はレジスタまたはリテラルで指定できる。論理演算命令とシフト命令は整数演算用フォーマットを使用する。

拡張命令セット

[編集]

バイトワード拡張 (BWX)

[編集]

バイト/ワード拡張 (byte-word extensions, BWX) は8ビットおよび16ビットのデータ型を操作する命令セットである。21164A (EV56) マイクロプロセッサで初めて導入され、その後の実装では必ず存在している。BWXがない実装では複数の命令を必要としていた操作を1命令で実現可能となり、コード密度を高め、用途によっては性能も向上している。BWXによってx86の機械語コードのエミュレーションを可能にし、デバイスドライバも書きやすくなった[4]

ニーモニック命令
LDBULoad Zero-Extended Byte from Memory to Register
LDWULoad Zero-Extended Word from Memory to Register
SEXTBSign Extend Byte
SEXTWSign Extend Word
STBStore Byte from Register to Memory
STWStore Word from Register to Memory

マルチメディア拡張 (MVI)

[編集]

Alpha ISA のマルチメディア拡張またはSIMD拡張を Motion Video Instructions (MVI) と呼ぶ[5]。MVIを搭載した実装としては、時系列順にAlpha 21164PC (PCA56, PCA57)、Alpha 21264 (EV6)、Alpha 21364 (EV7) がある。同時期の他のISAのSIMD拡張としてMIPSのMDMXやサン・マイクロシステムズの Visual Instruction Set などとは異なり、MVIは整数データ型を既存の整数レジスタに格納して処理する単純な少数の命令セットである。

MVIの単純さには2つの理由がある。第一に、DECは 21164 で既にDVDのデコード処理をソフトウェアで実行可能だと判断していたため、そのためにSIMD命令を追加する必要はないと考えていたが、MPEG-2のエンコードにはSIMD命令が必要だと判断した。第二に、実装におけるサイクルタイムの高速性を保持しようとした。多数の命令を追加すると命令デコード論理回路が複雑化・巨大化するので、クロック周波数の低下にもつながる。

MVIには13の命令が含まれる。

ニーモニック命令
MAXSB8Vector Signed Byte Maximum
MAXSW4Vector Signed Word Maximum
MAXUB8Vector Unsigned Byte Maximum
MAXUW4Vector Unsigned Word Maximum
MINSB8Vector Signed Byte Minimum
MINSW4Vector Signed Word Minimum
MINUB8Vector Unsigned Byte Minimum
MINUW4Vector Unsigned Word Minimum
PERRPixel Error
PKLBPack Longwords to Bytes
PKWBPack Words to Bytes
UNPKBLUnpack Bytes to Longwords
UNPKBWUnpack Bytes to Words

浮動小数点拡張 (FIX)

[編集]

浮動小数点拡張 (floating-point extensions, FIX) は Alpha ISA の拡張であり、平方根を計算する命令と整数レジスタと浮動小数点レジスタの間の転送命令を含む。21264 (EV6) で初めて実装した。

ニーモニック命令
FTOISFloating-point to Integer Register Move, S_floating
FTOITFloating-point to Integer Register Move, T_floating
ITOFFInteger to Floating-point Register Move, F_floating
ITOFSInteger to Floating-point Register Move, S_floating
ITOFTInteger to Floating-point Register Move, T_floating
SQRTFSquare root F_floating
SQRTGSquare root G_floating
SQRTSSquare root S_floating
SQRTTSquare root T_floating

カウント拡張 (CIX)

[編集]

カウント拡張 (Count Extensions, CIX) とは、ビット数をカウントする3種類の命令からなる拡張である。それらの命令は整数演算命令に分類される。21264A (EV76) で初めて実装された。例えばCTLZ命令は、指定したレジスタの最上位ビットから"0"となっている連続ビットをカウントし、ビット数を別の指定したレジスタに書き込む。CTPOP命令は"1"になっているビットをカウントし、CTTZは最下位ビットから"0"となっている連続ビットをカウントする。

ニーモニック命令
CTLZCount Leading Zero
CTPOPCount Population
CTTZCount Trailing Zero

バージョン

[編集]

最初の発表時、Alphaは今後25年間続くアーキテクチャになるとされた。これは真実にはならなかったが、Alphaはそれなりに長寿命だったと言える。最初のバージョンであるAlpha 21064 (EV4) は1992年11月に導入され、192MHzで動作し、(0.75μmから0.675μmへ)ダイを若干縮小したEV4S は数カ月後に登場し、200MHzで動作した。64ビットプロセッサであるAlphaは、他のRISC設計と同様にスーパーパイプライン化されスーパースケーラであったが、にもかかわらずそれらの性能を凌駕し、DECは世界最速のプロセッサと喧伝した。Hudson設計チームのお家芸である回路設計へのこだわりにより、他のRISCチップとよく似たマイクロアーキテクチャであったにもかかわらず、Alphaはより高速で動作することができた。比較すると、次の春に発売されたインテルPentiumは66MHzで動作した。

Alpha 21164 (EV5) は333MHzで1995年に市販された。1996年7月には500MHzに引き上げられ、1998年3月には666MHzとなった。また、1998年に450MHzで登場したAlpha 21264 (EV6) は、2001年には1.25GHz版 (21264C/EV68CB) がリリースされた。2003年に登場したAlpha 21364 (EV7) は、EV68コアに1.6GB/sのインターコネクトを4本追加したもので、マルチプロセッシングのためのプロセッサ間通信機能を強化している。クロック周波数は1GHzまたは1.15GHzである。

1996年、Alphaチップの生産はサムスン電子にライセンスされた。コンパックによるDECの買収により、Alphaの資産の大部分はサムスンとコンパックが出資したAPI NetWorks, Inc. (以前はAlpha Processor Inc.) に移管された。

2001年6月25日、コンパックはインテルItaniumに移行するため2004年までにAlphaチップの開発を終了すると発表し、計画されていたEV8英語版 はキャンセルし、Alphaの知的資産をインテルに売却するとした[6]。コンパックを買収したヒューレット・パッカード (HP) は、Alphaシリーズのサポートは数年間継続し、1.3GHz版のEV7であるEV7zチップをリリースするが、これが最後のAlphaシリーズになることを発表した。0.13μmルールを予定していたEV79 もキャンセルとなった。HPは Tru64 UNIX のメンテナンスと販売を2006年まで継続し、サポートは2011年まで延長された。

皮肉にも、Alphaがフェイズアウトする間際の2003年中盤に、米国で1番と2番に速いコンピューターは共にAlphaプロセッサを使用していた。前者は4096個のAlphaプロセッサのクラスタである。

2004年8月16日に、HPは1.3GHzのEV7zのリリースを発表し、これが生産される最後のAlphaモデルとなった。

モデル名モデル番号登場年周波数 [MHz]プロセス [µm]トランジスタ数 [百万]ダイサイズ [mm2]ピン数電力 [W]電圧一次データキャッシュ [KB][7]一次命令キャッシュ [KB]内蔵二次キャッシュ外付けキャッシュISA
EV4210641992100–2000.751.68234290303.38128 KB–16 MB 
EV4S19930.67518627
EV4521064A1994200–3000.52.851643316256 KB–16 MB
LCA4210661993100–1660.6751.75209218 
LCA4210681994669
LCA4521066A100–2660.51.816123
LCA451001.8
EV5211641995266–5009.3299296563.3/2.596 KB最大64 MBR
EV5621164A1996366–666[8]0.359.66[8]20931–55[8]3.3/2.5[8]R,B
PCA5621164PC1997[9]400–533[9]3.5[9]14126426–353.3/2.58[9]16[9]512 KB–4 MBR,B,M
PCA57 600–6660.285.710128318–232.5/2.01632[8]
EV6212641998450–6000.3515.2314389732.0642–8 MBR,B,M,F
EV6721264A1999600–7500.25210 R,B,M,F,C
EV68AL21264B2001800–8330.18125  1.7R,B,M,F,C,T
EV68CB21264C1000–1250 65–751.65
EV68CX21264D       
EV72136420031000–11500.181303971251.51.75 MB
EV7z20041300
キャンセルされたモデル
EV78/EV7921364A2004(予定)17000.131523001201.2641.75 MBR,B,M,F,C,T
EV821464英語版2003(予定)1200–20000.1252504201800??3 MB
モデル名モデル番号登場年周波数 [MHz]プロセス [µm]トランジスタ数 [millions]ダイサイズ [mm2]ピン数電力 [W]電圧一次データキャッシュ [KB]一次命令キャッシュ [KB]内蔵二次キャッシュ外付けキャッシュISA
ISA 拡張
  • R – 正負の無限大方向への丸めをハードウェアでサポート[10]
  • B – BWX、バイト/ワード拡張。8ビットと16ビットの操作命令を追加
  • M – MVI、マルチメディア拡張
  • F – FIX、平方根を求める命令と整数レジスタと浮動小数点レジスタ間の転送命令
  • C – CIX、ビットをカウントしビット位置を求める命令
  • T – ロック獲得の試みにおける性能改善のためのプリフェッチサポート

性能

[編集]

Alphaベースのシステムでの性能を比較するため、以下にSPEC性能値 (SPECint95, SPECfp95) の一覧を示す。SPECはコンピュータシステム全体(CPU、バス、メモリ、コンパイラ)の性能を測定するものとされていて、CPUだけの性能を示すものではない。また、1992年から1995年にかけて、このベンチマークには変更が加えられている。それでも、Alphaアーキテクチャ(64ビット)と同時代のHP-PA(64ビット)やインテルベースのシステム(32ビット)との相対的な性能を大まかに比べることができる。最も明らかな傾向は、インテルとAlphaの整数演算性能は肩を並べているが、浮動小数点演算性能は大きな差があるという点である。一方、PA-RISCとAlphaはほぼ似たような性能だが、クロック周波数 (MHz) はHPの方がずっと低い。

システムCPUMHzSPECint95SPECfp95
1995年の性能比較 (SPEC CPU95[11])
AlphaServer 8400 5/35021164 (EV5)35010.114.2
Intel Alder System (200 MHz, 256KB L2)Pentium Pro2008.96.75
HP 9000 C160PA 800016010.416.3

システムCPUMHzSPECint95SPECfp95
2000年の性能比較 (SPEC CPU95)
AlphaServer ES40 6/83321264 (EV6)83350.0100.0
Intel VC820 マザーボードPentium III100046.831.9
HP 9000 C3600PA-860055242.164.0

Alphaベースのシステム

[編集]

DEC Alpha ベースのシステムの第一世代として、DEC 3000 AXP英語版 シリーズのワークステーションおよびサーバ、DEC 4000 AXP英語版 シリーズのミッドレンジ・サーバ、DEC 7000 AXP および 10000 AXP英語版 シリーズのハイエンド・サーバがある。DEC 3000 AXP システムでは以前のMIPSベースのDECstationでも使っていたTURBOchannelを採用しているが、4000 ではFutureBus+英語版を採用し、7000/10000ではVAXと似たようなアーキテクチャを採用している。

PC風のAlphaワークステーションDECpc AXP 150英語版 もあり、EISAバスを採用していた。Windows NT をサポートした最初のAlphaシステムである。また、インテルベースのワークステーションのCPUをAlphaに置き換えたもの(Digital Personal Workstation英語版 や Alpha XL/Alpha XLT)もある。

DECは組み込み用としてVMEバス向けのワンボードマイコンも用意した。第一世代は21068ベースの AXPvme 64 と AXPvme 64LC、21066ベースの AXPvme 160 で、1994年3月1日に登場した。その後21066Aベースの AXPvme 100、AXPvme 166、AXPvme 230、21064Aベースの Alpha VME 4/224 と Alpha VME 4/288 と続いた。最後のモデルは21164ベースの Alpha VME 5/352 と Alpha VME 5/480 である。

21066はコンパクト・ワークステーションと称したDEC Multia英語版 VX40/41/42 や、Tadpole Technology のラップトップ機 ALPHAbook 1 にも採用された。

1994年、DECは新たなファミリとしてAlphaStation英語版AlphaServer英語版 を立ち上げた。21064または21164を使い、PCIバス、VGA互換フレームバッファPS/2接続のキーボードとマウスを採用している。AlphaServer 8000 シリーズは DEC 7000/10000 AXP の後継で、XMIとFutureBus+を採用している。

AlphaStation XP1000 でワークステーションとして初めて21264を採用。その後21264を採用した AlphaServer/Station はDS (departmental server)、ES (enterprise server)、GS (global server) の3つに分類された。

最後の21364は AlphaServer ES47/ES80/GS1280 という3モデルと AlphaStation ES47 で採用された。

DECはOEMマザーボードもいくつか製造した。21066および21068ベースの AXPpci 33 "NoName" がOEM市場向けに出荷され[12]、21164ベースの AlphaPC 164 と AlphaPC 164LX、21164PCベースの AlphaPC 164SX と AlphaPC 164RX、21264ベースの AlphaPC 264DP が続いた。SamsungやAPIといったサードパーティーも API UP1000/UP2000 といったOEM用マザーボードを生産した。

サードパーティーでのハードウェアおよびソフトウェア開発を助けるため、DECは EB64+ や EB164 といった評価ボードをプロセッサのモデル毎に製造した。

ネットアップは21164と21264を様々なネットワークアタッチトストレージシステムで採用した。また、クレイ超並列型スーパーコンピュータT3DT3E でAlphaを採用している。

スーパーコンピュータ

[編集]

Alphaプロセッサを採用した最も高性能なスーパーコンピュータは、ロスアラモス国立研究所ASCI Q である。AlphaServer SC45/GS のクラスタ構成で、CPUは 21264 (EV68) 1.25GHz を4096個使用し、7.727TFLOPS (Rmax) という性能だった[13]

脚注

[編集]
  1. ^Bolotoff, Paul V. (2005年4月14日). “Alpha: The History in Facts and Comments”. Alasir. 2012年5月16日閲覧。
  2. ^Alpha RetainTrust products”. HP. 2012年5月16日閲覧。
  3. ^Espasa, Roger; Ardanaz, Federico; Gago, Julio; Gramunt, Roger; Hernandez, Isaac; Juan, Toni; Emer, Joel; Felix, Stephen; Lowney, Geoff; Mattina, Matthew; Seznec, Andre (2002). “Tarantula: A Vector Extension to the Alpha Architecture”. In Danielle C. Martin (ed.).Proceedings: 29th Annual International Symposium on Computer Architecture (ISCA '02).29th Annual International Symposium on Computer Architecture (ISCA '02). Joe Daigle/Studio Productions. Los Alamitos, Calif: IEEE Computer Society. pp. Page(s): 281–292.doi:10.1109/ISCA.2002.1003586.ISBN 0-7695-1605-X.
  4. ^Gronowski, et al.; Bowhill, W.J.; Donchin, D.R.; Blake-Campos, R.P.; Carlson, D.A.; Equi, E.R.; Loughlin, B.J.; Mehta, S. et al. (1996). “A 433-MHz 64-b quad-issue RISC microprocessor”. IEEE Journal of Solid-State Circuits 31 (11): 1687–1696. doi:10.1109/JSSC.1996.542313. 
  5. ^Gwennap, Linley (18 November 1996). "Digital, MIPS Add Multimedia Extensions".Microprocessor Report.
  6. ^Popovich, Ken (2001年6月28日). “Alpha proved costly for Compaq”. www.zdnet.co.uk. ZDNet. 2009年5月1日閲覧。
  7. ^In the context of cache memory, 1 KB = 1024bytes; 1 MB = 1024 KB
  8. ^abcdePaul V. Bolotoff (2007年4月21日). “Alpha: The History in Facts and Comments”. 2008年11月22日閲覧。
  9. ^abcde三菱電機とDEC、共同でパソコン向け低価格Alphaプロセッサを開発、6月より出荷”. PC Watch (1997年3月19日). 2012年8月23日閲覧。
  10. ^David Mosberger. “Overview of Alpha Family”. 2009年12月9日閲覧。
  11. ^SPEC CPU95 Results
  12. ^Reinhardt Krause. "DEC launching Alpha board push". Electronic News, April 4, 1994.
  13. ^Los Alamos National Laboratories (2002年). “The ASCI Q System: 30 TeraOPS Capability at Los Alamos National Laboratory”. 2010年6月6日閲覧。

外部リンク

[編集]
CISC
過去
現行
RISC
過去
現行
PDP-11英語版
VAX
Alpha
その他
国立図書館
その他
https://ja.wikipedia.org/w/index.php?title=DEC_Alpha&oldid=106850748」から取得
カテゴリ:
隠しカテゴリ:

[8]ページ先頭

©2009-2026 Movatter.jp