コンテンツにスキップ

DEC Alpha

出典: フリー百科事典『ウィキペディア(Wikipedia)』
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 AlphaAlpha AXP (DEC) 64RISC (ISA) 32VAX CISC ISA AlphaDECAlphaDEC使Alpha使PC

 (OS) DECUNIX (Tru64 UNIX) VMSLinux (Debian GNU/Linux, Gentoo Linux, Red Hat Linux) BSD (NetBSD, OpenBSD, FreeBSD) OSAlphaWindows NT 4.0 SP6AlphaWindows 2000 RC2

1998DECAlphaHP/ItaniumAlphaAlpha20012002HP2004200610Alpha20074[2]

歴史

[編集]

AlphaPRISMRISC MIPS R2000 使Unix (DECstation 2100)  PRISM PRISMRISCEpicode PRISMPRISM Mica MicaVAXVMSDEC1988

SPARCMIPS2RISCVAX3VAXVMSRISC調PRISMVMSVMSRISCPRISM3264AlphaAlphaLTPRISMEpicodeAlphaPALcodePALcodePALcode使VMSCPU4UNIX2PALcodeRISCOS

AlphaDECVAXAlpha

Alpha DECchip 21x64 1990 "DECchip"  "Alpha" 2 "21" 212 "64" 64Alpha6432Alpha EVEV "Extended VAX" 

Alpha 21064 (EV4) ECLCMOS221164 (EV5) 2321264 (EV6) 21364 (EV7) 21464 (EV8) DEC Tarantula EV9Alpha[3]

AlphaEVAX (Extended VAX) ARA (Advance RISC Architecture)AlphaAlpha AXPAlphaAXPDEC3XDEC "Acronym eXpert is Paid too much"

AMDAthlonEV621264 (EV6)AthlonAlpha使

設計原則

[編集]

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

条件コード

[編集]

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

レジスタ

[編集]

323221 (FPCR) PALcode

 R0  R31  F0  F31 R31F31DECFPU/3264DEC32328

643224使load-locked/store-conditional (FPCR) 64IEEE 754 使

データ型

[編集]

Alpha181613264128

Alpha6

64

32

IEEE T-floating-point64

IEEE S-floating-point32

VAX2

VAX G-floating point64

VAX F-floating point32

128

メモリ

[編集]

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

命令フォーマット

[編集]
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 種類
オペコード Ra Rb 未使用 0 機能 Rc 整数演算
オペコード Ra リテラル 1 機能 Rc リテラル付き整数演算
オペコード Ra Rb 機能 Rc 浮動小数点演算
オペコード Ra Rb ディスプレースメント ロード/ストア
オペコード Ra ディスプレースメント 分岐
オペコード 機能 CALL_PAL

Alpha ISA 326

61Ra2Rb3使1 "0" 使使7Rc53232

使5Rb3使8使64使

11

/16

21Ra調 1,048,576 

CALL_PALCALL_PAL使PALcode使26PALcode

命令セット

[編集]

制御命令

[編集]

/使/使

10/214

Ra2

414RaRb

整数演算

[編集]

///22364326464 Unsigned Multiply Quadword High (MULH) 使 PRISM 

3232UMULH//

Rc '1'  '0' 32

論理演算とシフト

[編集]

ANDNANDNORORXNORXOR RaRbRc/使

拡張命令セット

[編集]

バイトワード拡張 (BWX)

[編集]

/ (byte-word extensions, BWX) 81621164A (EV56) BWX1BWXx86[4]
ニーモニック 命令
LDBU Load Zero-Extended Byte from Memory to Register
LDWU Load Zero-Extended Word from Memory to Register
SEXTB Sign Extend Byte
SEXTW Sign Extend Word
STB Store Byte from Register to Memory
STW Store 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) ISASIMDMIPSMDMX Visual Instruction Set MVI

MVI2DEC 21164 DVDSIMDMPEG-2SIMD

MVI13
ニーモニック 命令
MAXSB8 Vector Signed Byte Maximum
MAXSW4 Vector Signed Word Maximum
MAXUB8 Vector Unsigned Byte Maximum
MAXUW4 Vector Unsigned Word Maximum
MINSB8 Vector Signed Byte Minimum
MINSW4 Vector Signed Word Minimum
MINUB8 Vector Unsigned Byte Minimum
MINUW4 Vector Unsigned Word Minimum
PERR Pixel Error
PKLB Pack Longwords to Bytes
PKWB Pack Words to Bytes
UNPKBL Unpack Bytes to Longwords
UNPKBW Unpack Bytes to Words

浮動小数点拡張 (FIX)

[編集]

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

ニーモニック 命令
FTOIS Floating-point to Integer Register Move, S_floating
FTOIT Floating-point to Integer Register Move, T_floating
ITOFF Integer to Floating-point Register Move, F_floating
ITOFS Integer to Floating-point Register Move, S_floating
ITOFT Integer to Floating-point Register Move, T_floating
SQRTF Square root F_floating
SQRTG Square root G_floating
SQRTS Square root S_floating
SQRTT Square root T_floating

カウント拡張 (CIX)

[編集]

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

ニーモニック 命令
CTLZ Count Leading Zero
CTPOP Count Population
CTTZ Count Trailing Zero

バージョン

[編集]

Alpha25Alpha寿Alpha 21064 (EV4) 199211192MHz0.75μm0.675μm EV4S 200MHz64AlphaRISCDECHudsonRISCAlphaPentium66MHz

Alpha 21164 (EV5) 333MHz199519967500MHz19983666MHz1998450MHz Alpha 21264 (EV6) 20011.25GHz (21264C/EV68CB) 2003 Alpha 21364 (EV7) EV681.6GB/s41GHz1.15GHz

1996AlphaDECAlphaAPI NetWorks, Inc. (Alpha Processor Inc.) 

2001625Itanium2004Alpha EV8 Alpha[6] (HP) Alpha1.3GHzEV7EV7zAlpha0.13μm EV79 HP Tru64 UNIX 20062011

Alpha200312Alpha使4096Alpha

2004816HP1.3GHzEV7zAlpha
モデル名 モデル番号 登場年 周波数 [MHz] プロセス [µm] トランジスタ数 [百万] ダイサイズ [mm2] ピン数 電力 [W] 電圧 一次データキャッシュ [KB][7] 一次命令キャッシュ [KB] 内蔵二次キャッシュ 外付けキャッシュ ISA
EV4 21064 1992 100–200 0.75 1.68 234 290 30 3.3 8 128 KB–16 MB  
EV4S 1993 0.675 186 27
EV45 21064A 1994 200–300 0.5 2.85 164 33 16 256 KB–16 MB
LCA4 21066 1993 100–166 0.675 1.75 209 21 8  
LCA4 21068 1994 66 9
LCA45 21066A 100–266 0.5 1.8 161 23
LCA45 100 1.8
EV5 21164 1995 266–500 9.3 299 296 56 3.3/2.5 96 KB 最大64 MB R
EV56 21164A 1996 366–666[8] 0.35 9.66[8] 209 31–55[8] 3.3/2.5[8] R,B
PCA56 21164PC 1997[9] 400–533[9] 3.5[9] 141 264 26–35 3.3/2.5 8[9] 16[9] 512 KB–4 MB R,B,M
PCA57   600–666 0.28 5.7 101 283 18–23 2.5/2.0 16 32[8]
EV6 21264 1998 450–600 0.35 15.2 314 389 73 2.0 64 2–8 MB R,B,M,F
EV67 21264A 1999 600–750 0.25 210   R,B,M,F,C
EV68AL 21264B 2001 800–833 0.18 125     1.7 R,B,M,F,C,T
EV68CB 21264C 1000–1250   65–75 1.65
EV68CX 21264D              
EV7 21364 2003 1000–1150 0.18 130 397 125 1.5 1.75 MB
EV7z 2004 1300
キャンセルされたモデル
EV78/EV79 21364A 2004(予定) 1700 0.13 152 300 120 1.2 64 1.75 MB R,B,M,F,C,T
EV8 21464英語版 2003(予定) 1200–2000 0.125 250 420 1800 ?? 3 MB
モデル名 モデル番号 登場年 周波数 [MHz] プロセス [µm] トランジスタ数 [millions] ダイサイズ [mm2] ピン数 電力 [W] 電圧 一次データキャッシュ [KB] 一次命令キャッシュ [KB] 内蔵二次キャッシュ 外付けキャッシュ ISA
ISA 拡張
  • R – 正負の無限大方向への丸めをハードウェアでサポート[10]
  • B – BWX、バイト/ワード拡張。8ビットと16ビットの操作命令を追加
  • M – MVI、マルチメディア拡張
  • F – FIX、平方根を求める命令と整数レジスタと浮動小数点レジスタ間の転送命令
  • C – CIX、ビットをカウントしビット位置を求める命令
  • T – ロック獲得の試みにおける性能改善のためのプリフェッチサポート

性能

[編集]

AlphaSPEC (SPECint95, SPECfp95) SPECCPUCPU19921995Alpha64HP-PA6432AlphaPA-RISCAlpha (MHz) HP

Alphaベースのシステム

[編集]

DEC Alpha DEC 3000 AXP DEC 4000 AXP DEC 7000 AXP  10000 AXP DEC 3000 AXP MIPSDECstation使TURBOchannel4000 FutureBus+7000/10000VAX

PCAlpha DECpc AXP 150 EISAWindows NT AlphaCPUAlphaDigital Personal Workstation  Alpha XL/Alpha XLT

DECVME21068 AXPvme 64  AXPvme 64LC21066 AXPvme 160 19943121066A AXPvme 100AXPvme 166AXPvme 23021064A 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 

1994DEC AlphaStation  AlphaServer 2106421164使PCIVGAPS/2AlphaServer 8000  DEC 7000/10000 AXP XMIFutureBus+

AlphaStation XP1000 2126421264 AlphaServer/Station  DS(departmental server)ES (enterprise server)GS (global server) 3

21364 AlphaServer ES47/ES80/GS1280 3 AlphaStation ES47 

DECOEM2106621068 AXPpci 33 "NoName" OEM[12]21164 AlphaPC 164  AlphaPC 164LX21164PC AlphaPC 164SX  AlphaPC 164RX21264 AlphaPC 264DP SamsungAPI API UP1000/UP2000 OEM

DEC EB64+  EB164 

2116421264 T3D  T3E Alpha

スーパーコンピュータ

[編集]

Alpha ASCI Q AlphaServer SC45/GS CPU 21264 (EV68) 1.25GHz 4096使7.727TFLOPS (Rmax) [13]

脚注

[編集]


(一)^ Bolotoff, Paul V. (2005414). Alpha: The History in Facts and Comments.  Alasir. 2012516

(二)^ Alpha RetainTrust products.  HP. 2012516

(三)^ 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): 281292. doi:10.1109/ISCA.2002.1003586. ISBN 0-7695-1605-X

(四)^ 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): 16871696. doi:10.1109/JSSC.1996.542313. 

(五)^ Gwennap, Linley (18 November 1996). "Digital, MIPS Add Multimedia Extensions". Microprocessor Report.

(六)^ Popovich, Ken (2001628). Alpha proved costly for Compaq. www.zdnet.co.uk.  ZDNet. 200951

(七)^ In the context of cache memory, 1 KB = 1024 bytes; 1 MB = 1024 KB

(八)^ abcdePaul V. Bolotoff (21st of April 2007). Alpha: The History in Facts and Comments. 20081122

(九)^ abcdeDECAlpha6.  PC Watch (1997319). 2012823

(十)^ David Mosberger. Overview of Alpha Family. 2009129

(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. 201066

外部リンク

[編集]