VAX

1970年代中ごろディジタル・イクイップメント・コーポレーション社が開発し販売した32ビットミニコンピュータのシリーズ
VAX-11から転送)

VAX () 1970 (DEC) 32 (ISA) 3216PDP-11PDP-11
DEC VAX
製造者: ディジタル・イクイップメント・コーポレーション
バイト幅: 8ビットオクテット
アドレスバス幅: 32ビット
ペリフェラルバス: Unibus
=Massbus
Q-bus
XMI
VAXBI
アーキテクチャ: CISC仮想記憶
オペレーティングシステム: VAX/VMS
Ultrix
BSD UNIX
VAXELN

VAX/

64RISCAlphaOSVMSOpenVMS

名称

編集

"VAX" Virtual Address eXtension VAX16PDP-1132使VAXPDP-11VAX-11  PDP-11調PDP-11

VAX1970 Mick Atkinson DEC使DECVAX

VAX VAXen 使ox()  oxen DEC VAXen 

歴史

編集
 
VAX11/780。ベンチマークの基準とされたモデル。ワシントン大学にて

VAX VAX-11/780 19771025DEC[1] Bill Strecker[2]VAX1980

VAX-11/780MIPSMIPSVAX-11/7801MIPS1 VAX MIPS  VAX-11/780  27 VAX MIPS VAX-11/780 27使使DMIPSVAX-11/7801757VAX-11/780使BRL-CADBRL-CAD

DEC VUP (VAX Unit of Performance) 使 cluster VUP  VAXcluster 使

VAX-11/780LSI-11使780VMSLSI-11RSX-11MRT-11OS
 
VAX 8350 

VAXVAXTTL4×51CPU使[3]ECL/使CPUVAX 8600VAX 8800VAX 9000使MOSFETCPUVAX 8100VAX 8200使VAX 11/730725

MicroVAX I VAXVAX1VLSI VAX 8200/8300VLSI MicroVAX I VAX"MicroVAX"MicroVAX I ALU1使

 MicroVAX II  78032 CPU (DC333)  78132 FPU (DC335) MicroVAXVLSI78032 [4]MicroVAX II 11MBDMAQ22-busMicroVAX

CVAXSOC"System-on-a-chip"CVAXRigelMariahNVAX VAX使1VAXCVAXDEC[5][6]

VAXRISC1989DECMIPS使UltrixDECstation1992DECRISC Alpha( Alpha AXP)64RISC OpenVMS 

200082000VAX[7]2005VAX使

オペレーティングシステム

編集

VAXDECVAX/VMSAlphaPOSIX OpenVMS [8]VAXVMSVAXclusterVAXBSD4.3Ultrix-32RTOSVAXELNXinuNetBSDOpenBSDVAXLinuxVAX

プロセッサアーキテクチャ

編集
VAX
開発者 ディジタル・イクイップメント・コーポレーション
ビット数 32ビット
発表 1977年
デザイン CISC
タイプ メモリ-メモリ
エンコード 可変 (1から56バイトまで)
ブランチ 比較分岐命令
エンディアン リトルエンディアン
拡張 PDP-11互換モード、VAXベクタ [9]
レジスタ
汎用 16本[10]

命令セット

編集

VAXの命令セットは強力で直交性が高い。当時多くのプログラムがアセンブリ言語で書かれていたので、プログラマが親しみやすい命令セットという観点は重要だった。その後、高水準言語でプログラミングすることが多くなり、命令セットを気にするのはコンパイラ開発者ぐらいになった。

VAXの命令セットで特徴的な点として、サブプログラムの最初にレジスタマスクを置く点が挙げられる。これは、そのサブプログラムに制御が渡されたとき、どのレジスタの内容を保持するかを示すビットパターンである。レジスタマスクは実行コード内にデータを埋め込んでいる形式なので、機械語コードを逐次的に解析するのが難しくなる。例えば、機械語コードに何らかの最適化を施すのが複雑化する[11]

アドレッシングモード

編集

VAX (byte, word, long)  (byte, word, long) 使 (PC) R151PC使PCVAX使使

仮想記憶空間マップ

編集

VAXの仮想記憶空間は4つのセクションに分割されており、それぞれ1ギガバイトのサイズである[12]

セクション アドレス範囲
P0 0x00000000 - 0x3fffffff
P1 0x40000000 - 0x7fffffff
S0 0x80000000 - 0xbfffffff
S1 0xc0000000 - 0xffffffff

VMSP0P1S0OS使S1

特権モード

編集

VAXにはハードウェアで実装された4つの特権モードが存在する。

番号 モード VMSでの用途 備考
0 Kernel OSカーネル 最高特権レベル
1 Executive ファイルシステム
2 Supervisor シェル (DCL)
3 User 通常のプログラム群 最低特権レベル

プロセッサ・ステータス・ロングワード “PSL” (プロセッサステータスレジスタ)

編集
CM TP MBZ FPD IS cmod pmod MBZ IPL MBZ DV FU IV T N Z V C
31 30 29 27 26 25 23 21 20 15 7 6 5 4 3 2 1 0
ビット 名前 意味
31 CM (the Compatibility Mode bit) PDP-11互換モード
30 TP (the Trace Pending bit) 個々の命令について1回だけトレースが行われることを保証する。
29:28 MBZ (Must Be Zero) 常にゼロ
27 FPD (the First Part Done flag) 命令の途中で割り込みやページフォールトが発生した。
26 IS (the Interrupt Stack flag) カーネルモードで特別な割り込みスタックを使用中。
25:24 cmod (the current privilege mode field) 現在の特権モード
23:22 pmod (the previous privilege mode field) 最近の例外で現在のモードに移行した際の前のモード
21 MBZ (Must Be Zero) 常にゼロ
20:16 IPL (the processor's Interrupt Priority Level) 割り込み優先度。この値より優先度が高い割り込みしか割り込めない。
15:8 MBZ (Must Be Zero) 常にゼロ
7 DV (the Decimal oVerflow trap enable) 十進演算の結果が格納先に収まらない桁数の際、トラップを発生させるか否かを指定。
6 FU (the Floating-point Underflow trap enable) 浮動小数点演算の結果がアンダーフローとなった際、トラップを発生させるか否かを指定。
5 IV (the Integer oVerflow trap enable) 整数演算の結果がオーバーフローとなった際、トラップを発生させるか否かを指定。
4 T (the Trace bit) セットすると、次の命令を実行した際にトレーストラップが発生。デバッグ用。
3 N (the Negative condition code) セットすると、演算結果が負の場合にトラップが発生。
2 Z (the Zero condition code) セットすると、演算結果がゼロの場合にトラップが発生。
1 V (the oVerflow condition code) セットすると、演算結果がオーバーフローの場合にトラップが発生。
0 C (the Carry condition code) 演算の結果、キャリーまたはボローが発生するとセットされる。

プロセッサ・ステータス・ロングワードの下位16ビットがユーザ・プロセスから利用できるプロセッサ・ステータス・ワード(PSW)である。[13]

VAXシステム

編集

DEC使VAXVLSI使使MicroVAX-I 

VLSI未使用のVAX

編集
 
VAX 11/780
 
VAX 11/750
  • VAX 11 シリーズ
    • VAX 11/780 (Star) - TTL CPU, 1977年10月[14]
    • VAX 11/750 (Comet) - 小型版, 性能も低い TTL ゲートアレイベースの実装, 1980年10月
    • VAX 11/751 - 堅牢なラックマウント型 11/750
    • VAX 11/730 (Nebula) - さらに小型化, さらに性能が低いビットスライス実装, 1982年4月
    • VAX 11/782 (Atlas) - 2プロセッサ版 11/780
    • VAX 11/784 (VAXimus) - 4プロセッサ版 11/780, 1つの MA780 メモリユニットを共有, 非常に珍しい。
    • VAX 11/785 (Superstar) - 高速版 11/780, 1984年4月
    • VAX 11/787 - 2プロセッサ版 11/785
    • VAX 11/788 (VISQ)
    • VAX 11/725 (LCN) - 低価格版 11/730
  • VAX 8000 シリーズ
    • VAX 8600 (Venus) - 開発中の別名は 11/790, ECL ゲートアレイ CPU, 1984年10月
    • VAX 8650 (Morningstar) - 開発中の別名は 11/795, 高速版 8600, VAX 11/78xモデルで使われたSBIバックプレーンを使用した最後の機種, PDP-11互換モードを持つ最後の機種, その後の全 8000 シリーズ機種は VAXBI を使用
    • VAX 8x00 (Gemini) - LSIベースの Scorpio が失敗したときの予備として並行開発; 出荷されず
    • VAX 8500 (Flounder) - 1プロセッサでかなり低速な 8800
    • VAX 8530 (Skipjack) - 1プロセッサでやや低速な 8800
    • VAX 8550 (Skipjack) - 1プロセッサ版 8800, 拡張不可
    • VAX 8700 (Nautilus) - 1プロセッサ版 Nautilus, 8800にアップグレード可能
    • VAX 8800 (Nautilus) - 2プロセッサ ECL マクロセルアレイ-ベースの実装, 1986年1月
    • VAX 8810/8820/8830/8840 (Polarstar) - Nautilusの派生シリーズで1~4プロセッサ, コンソールプロセッサをアップデート
    • VAX 8974/8978 - それぞれ4台か8台の VAX 8810 から構成されるクラスター, 1987年1月
  • VAX 9000 (Aridus) - 空冷式だが当初水冷式で設計され Aquarius と呼ばれていた, ECL マクロセルアレイ CPU, VAXBI, 1989年10月[15]
    • VAX 9000 Model 110
    • VAX 9000 Model 210
    • VAX 9000 Model 310
    • VAX 9000 Model 4x0 (x = プロセッサ数, 1~4)

技術転換期のVAX

編集
  • MicroVAX/VAXstation I (Seahorse) - 1984年10月

VLSI使用のVAX

編集
 
MicroVAX 3600

MicroVAX  - 1984-
MicroVAX II (Mayflower) - 19855

MicroVAX III - MicroVAX II CPU KA650 CVAX CPU 

MicroVAX 2000 (TeamMate) - , 19872

MicroVAX 3100  - , 1987
MicroVAX 3100 Model 10 (TeamMate II) - KA41-A CVAX 

MicroVAX 3100 Model 10e (TeamMate II) - KA41-D CVAX+ 

MicroVAX 3100 Model 20 - Model 10 

MicroVAX 3100 Model 20e - Model 20 

MicroVAX 3100 Model 30 (Waverley/S) - KA45 SOC CPU

MicroVAX 3100 Model 40 - Model 30 

MicroVAX 3100 Model 80 (Waverley/M) - KA47 Mariah CPU

MicroVAX 3100 Model 85 (Waverley/M+) - KA55 NVAX CPU

MicroVAX 3100 Model 88 (Waverley/M+) - KA58 NVAX CPU

MicroVAX 3100 Model 90 (Cheetah) - KA50 NVAX CPU

MicroVAX 3100 Model 95 (Cheetah+) - KA51 NVAX CPU

MicroVAX 3100 Model 96 (Cheetah++) - KA56 NVAX CPU

MicroVAX 3100 Model 98 (Cheetah++) - KA59 NVAX CPU

MicroVAX 3300/3400 (Mayfair) - KA640 CPU

MicroVAX 3500/3600 (Mayfair-II) - KA650 CPU, 19879

MicroVAX 3800/3900 (Mayfair-III) - KA655 CPU

VAXstation  - 1984-
VAXstation II - MicroVAX II 

VAXstation II/GPX (Caylith) - , , 198512

VAXstation 2000 - MicroVAX 2000 

VAXstation 3100 
VAXstation 3100 Model 30 (PVAX) - KA42-A CVAX CPU

VAXstation 3100 Model 38 (PVAX rev#7) - KA42-B CVAX CPU

VAXstation 3100 Model 40 - Model 30 

VAXstation 3100 Model 48 - Model 38 

VAXstation 3100 Model 76 (RigelMAX) - KA43-A Rigel CPU

VT1300 - X; VAXstation 3100 Model 30 

VAXstation 3200/3500 (Mayfair/GPX) - KA650 CVAX CPU

VAXstation 3520/3540 (Firefox) - 24 KA60 CVAX 

VAXstation 4000 - TURBOchannel
VAXstation 4000/VLC  Model 30 (PVAX2/VLC) - KA48 SOC ("System On Chip") CPU, , 72SIMM使

VAXstation 4000 Model 60 (PMariah) - KA46 Mariah CPU

VAXstation 4000 Model 90 (Cougar) - KA49-A NVAX CPU

VAXstation 4000 Model 90A (Cougar+) - KA49-A NVAX CPU

VAXstation 4000 Model 96 (Cougar++) - KA49-C NVAX CPU

VAXstation 8000 (Lynx) - VAX 8200 3D

VAX 4000  - VAXstation1990-
VAX 4000 Model 50 (VAXbrick) - KA600 NVAX , MicroVAX 3x00  VAX 4000-200 CPU

VAX 4000 Model 100/100A (Cheetah-Q) - KA52 NVAX 

VAX 4000 Model 105A (Cheetah-Q+) -  KA53 NVAX 

VAX 4000 Model 106A/108 (Cheetah-Q++) -  KA54/KA57 NVAX 

VAX 4000 Model 200 (Spitfire) - KA660 SOC 

VAX 4000 Model 300 (Pele) - KA670 Rigel 1.5 μm CMOS [16], 1989

VAX 4000 Model 400 (Omega) - KA675 NVAX 

VAX 4000 Model 500/500A (Omega/N) - KA680/KA681 NVAX 

VAX 4000 Model 505A/600/600A (Omega/N+) - KA690/KA691 NVAX 

VAX 4000 Model 700A (Legacy) - KA692 NVAX 

VAX 4000 Model 705A (Legacy+) - KA694 NVAX 

VAX 8000  
VAX 8200, VAX 8300 (Scorpio) - 1-2, VAXBI , 19861

VAX 8250, VAX 8350 - 8200/8300

VAX 6000  - VAX 8000 x = , 600061988-
VAX 6000 Model 2x0 (Calypso) - CVAX , 19884

VAX 6000 Model 3x0 (Hyperion) - CVAX+ 1.5 μm CMOS , 19891

VAX 6000 Model 4x0 (Calypso/XRP) - Rigel 1.5 μm CMOS , 1989

VAX 6000 Model 5x0 (Calypso/XMP) - Mariah 1.0 μm CMOS , 199010113VUPS5007450[17]

VAX 6000 Model 6x0 (Neptune) - NVAX 0.75 μm CMOS , 199111

VAXft - 1990-
VAXft 3000 Model 310 (Cirrus) - CVAX+ CPUs, 2, , 19902

VAXft Model 110 - 310(Cirrus)/

VAXft Model 410/610/612 (Cirrus II) - SOC CPUs

VAXft Model 810 (Jetstream) - NVAX+ CPUs

VAX 7000  - Alpha DEC 7000 AXP 1992-
VAX 7000 Model 6x0 (Laser/Neon) - 6 NVAX+ , Alpha AXP64, 19927

VAX 7000 Model 7x0 (Laser/Krypton) - NVAX5 

VAX 7000 Model 8x0 (Laser/Krypton+) -  NVAX5 

VAX 10000 Model 6x0 (Blazer) - VAX 7000 Model 6x0 19927

VAX XXXX (BVAX) -  VAX; [18])

VAXserverVAXMicroVAXVAX 4000VAX 6000VAX 9000

クローン

編集
 
K 1840 - VAX-11/780(1988)

VAX

 Systime Ltd.  VAX 11/750  Systime 8750 [19]

Norden Systems VAX[8]

 (KFKI) VAX TPA-11/540, 560, 580 [20]

 SM 52/12[21] 1986

VAX-11/780 K 1840 (SM 1710)  MicroVAX II  K 1820 (SM 1720) 

VAX-11/730 CM-1700MicroVAX II  CM-1702VAX-11/785 CM-1705 [22]

脚注

編集

出典

編集


(一)^ VAX 11/780, The First VAX System (October 1977). 2012113

(二)^ Slater, Robert (1987). Portraits in Silicon. MIT Press. p. 213. ISBN 978-0-262-69131-4. https://books.google.co.jp/books?id=aWTtMyYmKhUC&dq=%22Bill+Strecker%22+vax+designer&redir_esc=y&hl=ja 

(三)^ VAX 11/780 Computer  CPU. Computer History Museum. 20121024

(四)^ The Computer History Simulation Project: MicroVAX II (1985)

(五)^ micro.magnet.fsu.edu, Steal the best, retrieved 30 January 2008. : СВАКС... Когда вы забатите довольно воровать настоящий лучший

(六)^ The Computer History Simulation Project: CVAX (1987), retrieved 30 January 2008

(七)^ VAX Systems: A letter from Jesse Lipcon. 20008152012113

(八)^ abVAX/VMS at 20. Digital Equipment Corporation (1997). 2009727

(九)^ VAX MACRO and Instruction Set Reference Manual. OpenVMS documentation (20014). 2012113

(十)^ VAX Architecture & Assembly Reference. Department of Computer Science, Rochester Institute of Technology. http://cs.rit.edu/~icss352/document/vax_pkt.pdf 2012914 

(11)^ Clinton F. Goss (June 1986), Machine Code Optimization - Improving Executable Object Code, New York University, http://www.ClintGoss.com/mco/ 2011324 

(12)^ 1GB230

(13)^ VAX    198110 

(14)^ VAX timeline, 

(15)^ DIGITAL Computing Timeline

(16)^ Trailing edge, 

(17)^ SuperASCII 19911, p. 48.

(18)^ Mark Smotherman (2008719). Who are the Computer Architects?. 2008930

(19)^ RAL Informatics Report 1984-85. 20071015

(20)^ The TPA story. 20071015

(21)^ Dujnic, J.; Fristacky, N.; Molnar, L.; Plander, I.; Rovan, B.: On the history of computer science, computer engineering, and computer technology development in Slovakia. IEEE Annals of the History of Computing, vol. 21, no. 3, pp. 38-48, July-Sept. 1999

(22)^ Laimutis Telksnys, Antanas Zilinskas: Computers in Lithuania. IEEE Annals of the History of Computing, vol. 21, no. 3, pp. 31-37, July-Sept. 1999

参考文献

編集
  • 「SuperASCII 1991年1月号」第2巻第1号、株式会社アスキー出版、1991年1月1日。 

外部リンク

編集