VAX

VAX (バックス) とは



VAX(Virtual Address eXtension)は、1970年代ディジタル・イクイップメント・コーポレーション(DEC)が開発・販売した32[[ビット]]のミニコンピュータシリーズです。その命令セットアーキテクチャ(ISA)も指すことがあります。VAXは、16[[ビット]]時代の人気モデルであったPDP-11の後継として設計され、互換命令を持つなど、PDP-11の拡張という側面も持ち合わせていました。

VAXの主な特徴は、直交性の高い命令セット(機械語)とページング方式による仮想記憶です。複雑な処理を行うための命令(キュー操作や多項式計算など)や、豊富なアドレッシングモードが提供され、多様なプログラミングニーズに対応しました。

後に、DECは64ビットRISCマイクロプロセッサであるAlphaを開発し、VAXのアーキテクチャはRISCへと移行しました。VAXのオペレーティングシステムであるVMSは、OpenVMSという名称に変更されました。

名称の由来



"VAX"という名称は、Virtual Address eXtension の頭字語です。これは、16[[ビット]]のPDP-11を32[[ビット]]に拡張し、巨大なアドレス空間を仮想記憶で管理することを意味しています。初期のVAXプロセッサには、PDP-11の命令をエミュレートする「互換モード」が実装されており、VAX-11という名称はPDP-11ファミリーの継承者であることを強調していました。しかし、後のバージョンでは互換モードは縮小され、PDP-11の命令はソフトウェアエミュレーションで実行されるようになりました。

また、"VAX"という名前は、1970年代にMick Atkinsonが発明した掃除機のブランド名でもあり、DECとの間で商標使用に関する法的なやり取りがありました。結果として、DECは家電製品に進出せず、VAXコーポレーションはコンピュータに進出しないという非競争協定が結ばれました。

英語圏では、VAXコンピュータシステムの複数形として"VAXen"という言葉が使われることもありましたが、DECは商標保護の観点からこの表現を歓迎しませんでした。

歴史



最初のVAXはVAX-11/780であり、1977年10月25日にDECの株主会議で公開されました。この機種のアーキテクトは、カーネギーメロン大学ゴードン・ベルが指導したBill Streckerです。その後、様々な価格、性能、容量を持つ派生機種が開発され、VAXは1980年代初頭に広く普及しました。

VAX-11/780は、コンピュータの性能指標であるMIPS(Million Instructions Per Second)の基準として使用されることがありました。VAX-11/780の性能を1MIPSとして、他のコンピュータの性能を比較するために利用されました。また、ドライストーンというベンチマークプログラムで得られたVAX-11/780の性能を基準値として、DMIPSという単位も使用されました。BRL-CADベンチマークもVAX-11/780を性能比較の基準としています。

DEC周辺では、VUP(VAX Unit of Performance)という用語が使われ、VAXclusterの全体性能を示すためにcluster VUPが使用されました。

VAX-11/780にはLSI-11が内蔵されており、マイクロコードのロード、ブート、診断などに使用されていました。後の機種では内蔵されていません。そのため、VAX-11/780のユーザーはVMS以外にLSI-11上でRSX-11MやRT-11といったOSを動作させることもできました。

VAXの実装


VAXは、さまざまな実装形態で開発されました。初期のVAXはTTLで実装され、4×5フィートの筐体がCPUの実装に使われました。ECLゲートアレイ/マクロセルアレイチップを使用したCPUは、VAX 8600、VAX 8800、VAX 9000シリーズで使用されました。複数のMOSFETカスタムチップで実装されたCPUは、VAX 8100、VAX 8200シリーズで使用されました。ローエンドモデルであるVAX 11/730や725はビットスライス方式で実装されました。

MicroVAX Iは、VAXファミリの転換期に登場したマシンです。VAXアーキテクチャ全体を1個のVLSIチップで実装することがまだ不可能だったため、MicroVAX IではVAXの命令セットの複雑な部分をエミュレーションソフトウェアに移行させ、基本的な命令だけをハードウェアで実装しました。これにより、マイクロコードの削減が可能となりました。このアーキテクチャは"MicroVAX"アーキテクチャと称されました。

MicroVAX IIでは、78032 CPUと78132 FPUが完全VLSI(マイクロプロセッサ)で実装されました。78032はメモリ管理ユニットを内蔵した初のマイクロプロセッサです。MicroVAX IIの中核部は1枚の基板に実装され、プロセッサ、1MBのメモリ、DMA機構を備えたQ22-busのインタフェースが搭載されていました。

その後、CVAX、SOC(ワンチップ版CVAX)、Rigel、Mariah、NVAXとチップは進化し、VAXマイクロプロセッサは当初低価格なワークステーション向けに進化し、その後ハイエンドの機種にも使用されていきました。メインフレームからワークステーションまでをカバーする一つのアーキテクチャは当時の業界ではVAXのみでした。

CVAXマイクロプロセッサのダイには、「最良のものを盗むには十分気をつけて」という意味の言葉がロシア語でエッチングされていました。これは、DECのコンピュータをリバースエンジニアリングしてクローンを開発していた当時のソビエト連邦の技術者に向けたメッセージでした。

1989年、DECはMIPSアーキテクチャのプロセッサを搭載したDECstationをリリースし、RISC技術への移行を始めました。1992年には、高性能64ビットRISCプロセッサであるAlpha(当初はAlpha AXP)を導入し、OpenVMSが動作しました。

2000年8月コンパック2000年末までにVAXシリーズの生産を完全に終了すると発表しました。2005年までにVAXの生産は終了しましたが、古いシステムは現在でも世界中で使われています。

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



VAXの主要なオペレーティングシステムは、DECのVAX/VMS(後にAlphaに移植され、POSIX準拠となった際にOpenVMSに改名)です。VAXアーキテクチャとVMSオペレーティングシステムは、互いを最大限に活用するために同時並行的に開発されました。VAXcluster機能の最初の実装も同様です。VAX用の他のオペレーティングシステムとしては、BSD(4.3まで)、Ultrix-32、RTOSのVAXELN、Xinuなどがあります。近年では、NetBSDとOpenBSDがさまざまなVAX機種をサポートし、LinuxのVAXアーキテクチャへの移植も行われています。

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



命令セット


VAXの命令セットは強力で直交性が高く、当時のアセンブリ言語プログラマーに親しみやすいものでした。しかし、高水準言語でのプログラミングが主流になると、命令セットはコンパイラ開発者のみが関心を持つものとなりました。

VAXの命令セットの特徴として、サブプログラムの最初にレジスタマスクを置くことが挙げられます。このレジスタマスクは、サブプログラムに制御が渡された際にどのレジスタの内容を保持するかを示すビットパターンです。レジスタマスクは実行コード内にデータを埋め込む形式のため、機械語コードの解析を複雑にする要因となりました。

アドレッシングモード


VAXは、リテラル、レジスタ、ポストインクリメント、プレデクリメント、レジスタ間接、ポストインクリメント付きレジスタ間接、プレデクリメント付きレジスタ間接、ディスプレースメント付きレジスタ間接、ディスプレースメント付き二重間接、インデックス付きといった豊富なアドレッシングモードを備えており、これらを組み合わせて使用できます。プログラムカウンタ(PC)はR15として汎用レジスタの一つとされているため、PCに対しても各種アドレッシングモードが使用できます。これにより、PC相対アドレッシングが可能となり、位置独立コードが容易に記述できます。また、VAXには実効アドレスをロードする命令群も存在し、後で使用するアドレスを計算するために利用されました。

仮想記憶空間マップ


VAXの仮想記憶空間は、それぞれ1ギガバイトの4つのセクションに分割されています。

VMSでは、P0がユーザープロセスの空間、P1がプロセスのスタック、S0がOSで使用する空間、S1が予約されていました。

特権モード


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

プロセッサステータスロングワード(PSL)


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

VAXシステム一覧



以下は、VAXシステムのほぼ時系列のリストです。DEC内部で開発中に使用されたコードネームはイタリック体で示されています。VAXシステムは、VLSIプロセッサを使用しているか否かで大きく分類できます。MicroVAX-Iはその過渡期の設計です。

VLSI未使用のVAX


VAX 11 シリーズ
VAX 11/780 (Star)
VAX 11/750 (Comet)
VAX 11/751
VAX 11/730 (Nebula)
VAX 11/782 (Atlas)
VAX 11/784 (VAXimus)
VAX 11/785 (Superstar)
VAX 11/787
VAX 11/788 (VISQ)
VAX 11/725 (LCN)
VAX 8000 シリーズ
VAX 8600 (Venus)
VAX 8650 (Morningstar)
VAX 8x00 (Gemini)
VAX 8500 (Flounder)
VAX 8530 (Skipjack)
VAX 8550 (Skipjack)
VAX 8700 (Nautilus)
VAX 8800 (Nautilus)
VAX 8810/8820/8830/8840 (Polarstar)
VAX 8974/8978
VAX 9000 (Aridus)

技術転換期のVAX


MicroVAX/VAXstation I (Seahorse)

VLSI使用のVAX


MicroVAX シリーズ
MicroVAX II (Mayflower)
MicroVAX III
MicroVAX 2000 (TeamMate)
MicroVAX 3100 シリーズ
VAXstation シリーズ
VAXstation II
VAXstation II/GPX (Caylith)
VAXstation 2000
VAXstation 3100 シリーズ
VT1300
VAXstation 3200/3500 (Mayfair/GPX)
VAXstation 3520/3540 (Firefox)
VAXstation 4000
VAXstation 8000 (Lynx)
VAX 4000 シリーズ
VAX 4000 Model 50 (VAXbrick)
VAX 4000 Model 100/100A (Cheetah-Q)
VAX 4000 Model 105A (Cheetah-Q+)
VAX 4000 Model 106A/108 (Cheetah-Q++)
VAX 4000 Model 200 (Spitfire)
VAX 4000 Model 300 (Pele)
VAX 4000 Model 400 (Omega)
VAX 4000 Model 500/500A (Omega/N)
VAX 4000 Model 505A/600/600A (Omega/N+)
VAX 4000 Model 700A (Legacy)
VAX 4000 Model 705A (Legacy+)
VAX 8000 シリーズ(ミッドレンジ)
VAX 8200, VAX 8300 (Scorpio)
VAX 8250, VAX 8350
VAX 6000 シリーズ
VAX 6000 Model 2x0 (Calypso)
VAX 6000 Model 3x0 (Hyperion)
VAX 6000 Model 4x0 (Calypso/XRP)
VAX 6000 Model 5x0 (Calypso/XMP)
VAX 6000 Model 6x0 (Neptune)
VAXft - フォールトトレラントシリーズ
VAXft 3000 Model 310 (Cirrus)
VAXft Model 110
VAXft Model 410/610/612 (Cirrus II)
VAXft Model 810 (Jetstream)
VAX 7000 シリーズ
VAX 7000 Model 6x0 (Laser/Neon)
VAX 7000 Model 7x0 (Laser/Krypton)
VAX 7000 Model 8x0 (Laser/Krypton+)
VAX 10000 Model 6x0 (Blazer)
VAX XXXX (BVAX)

VAXserverは、VAXの様々な機種をネットワークサーバ専用に構成したものです。

クローン



公認、非公認のVAXクローンが多数製造されました。

Systime Ltd. (イギリス): Systime 8750 (VAX 11/750 クローン)
Norden Systems: 軍用VAX
KFKI (ハンガリー): TPA-11/540, 560, 580
SM 52/12 (チェコスロバキア): 1986年から製造
Robotron (東ドイツ): K 1840, K 1820
ソビエト連邦: CM-1700, CM-1702, CM-1705

参考文献



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

外部リンク



VAX & VMSものがたり
History of OpenVMS:40th Anniversary - HPE
History of OpenVMS
OpenVMS.org
DEC Microprocessors
NetBSD VAX Hardware Documentation
VAXarchive
Chuck's House of VAX
* OpenBSD on VAX

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。