1 歴史と開発背景

1.1 1970年代のDECとミニコンピュータ市場

1970年代、Digital Equipment Corporation(DEC)はミニコンピュータ市場のリーダーであり、PDP-11シリーズが広く普及していた。PDP-11は16ビットアーキテクチャで成功を収めたが、アプリケーションの複雑化に伴い、より大きなアドレス空間と高度な仮想記憶管理が求められるようになった。DECはこのニーズに応えるため、次世代アーキテクチャの開発を模索していた。

1.2 VAXプロジェクトの始動(1975年)

1975年、DECは「VAX」(Virtual Address eXtension)というコード名で、32ビットアーキテクチャの新たなプロジェクトを開始した。主導したのはゴードン・ベルらであり、既存のPDP-11とのソフトウェア互換性を部分的に維持しつつ、仮想記憶と高級言語指向命令を備えた設計を目指した。開発はマサチューセッツ州メイナードのDEC本社で進められた。

1.3 初代VAX-11/780の登場(1977年)

1977年10月25日、DECは初のVAX実装であるVAX-11/780を発表した。このシステムはPDP-11のバックプレーンを流用しつつ、32ビットCPUとVMSオペレーティングシステムを搭載。処理速度は約1 MIPSとされ、当時のミニコンピュータとしては画期的な性能を発揮した。VAX-11/780はすぐに大学研究機関や企業のコンピュータセンターで採用され、DECの成長を牽引した。

2 アーキテクチャ

2.1 32ビット仮想アドレス空間

VAXは32ビットの仮想アドレス空間(最大4ギガバイト)を提供した。これは当時の16ビットミニコンピュータと比較して大幅な拡張であり、大規模プログラムやデータベースの実行を可能にした。仮想アドレスはページ単位で物理メモリにマッピングされ、透過的なメモリ管理を実現した。

2.1.1 システム空間とプロセス空間の分離

仮想アドレス空間は、カーネルが使用するシステム空間(上位2ギガバイト)とユーザープロセスが使用するプロセス空間(下位2ギガバイト)に二分された。この分離により、プロセス間のメモリ保護とオペレーティングシステムの安定性が向上した。各プロセスは独立したプロセス空間を持ち、システム空間は全プロセスから共有された。

2.1.2 ページングとセグメンテーションの組み合わせ

VAXの仮想記憶管理は、固定長ページ(512バイト)によるページングを基本としつつ、可変長セグメントもサポートした。実際には主にページングが使用されたが、セグメントベースのメモリ割り当ても可能で、特に共有ライブラリやメモリマップドファイルの実装に役立った。この柔軟性が、多様なアプリケーションへの適応力を高めた。

2.2 命令セット(CISC)

VAXの命令セットは典型的なCISC(Complex Instruction Set Computer)であり、豊富なアドレッシングモードと複合命令を備えた。命令長は可変で、多くの命令がメモリ上のオペランドを直接操作できた。この設計はアセンブリプログラミングの簡便さに貢献したが、パイプライン処理の複雑化も招いた。

2.2.1 複合命令とVLIW的要素

VAXには文字列操作、ポリノミアル評価、ソートなどの複合命令が多数含まれていた。また、一部の命令は複数のサブ操作を同時に実行するように設計され、後のVLIW(Very Long Instruction Word)アーキテクチャに類似した側面を持っていた。ただし、これらの命令はコンパイラ最適化対象としては複雑で、実際には頻繁に使われなかったものもある。

2.2.2 高級言語サポート(FORTRAN, COBOL等)

命令セットは高級言語のコンパイル効率を重視して設計された。例えば、FORTRANのDOループやCOBOLの文字列演算に直接対応する命令が用意され、コンパイル後のコードサイズと実行速度が最適化された。このため、科学技術計算や業務処理でVAXは高い生産性を発揮した。

2.3 バスシステム(SBI, Q-bus, VAXBI)

VAXシリーズは複数のバスシステムを採用した。初期のVAX-11/780はSBI(Synchronous Backplane Interconnect)を使用。後に低価格モデル向けにQ-bus(PDP-11から継承)が、高性能モデル向けにVAXBI(VAX Bus Interconnect)が導入された。VAXBIは32ビット、非同期、マルチマスター対応で、周辺機器の柔軟な接続を可能にした。

3 主要なハードウェアモデル

3.1 初期のVAX-11シリーズ

3.1.1 VAX-11/780

上記1.3で述べた初代モデル。筐体は大型ラックマウント型で、CPUボード、メモリボード、I/Oボードから構成された。キャッシュメモリは8KB、メモリは最大8MBまで拡張可能。フローティングポイントアクセラレータオプションも提供された。

3.1.2 VAX-11/750, VAX-11/730

VAX-11/750は1979年に発売された低価格モデルで、ビットスライスプロセッサ(AMD 2901)を使用。VAX-11/730はさらに廉価版で、1982年に登場。いずれもVAX-11/780とのソフトウェア互換性を持ち、中規模組織への普及に貢献した。処理速度は/780の約半分から3分の1程度だった。

3.2 後期のVAX 6000, 9000シリーズ

3.2.1 VAX 8600とベクトルプロセッサオプション

VAX 8600は1985年に発表された高性能モデルで、エミッタ結合論理(ECL)ゲートアレイを採用し、最大6 MIPSを達成。ベクトルプロセッサオプション(VAX Vector Processor)を追加することで、数値流体力学や地震解析などの科学計算を高速化できた。ただし、ベクトル処理の効果はアプリケーション依存であった。

3.2.2 VAX 9000(メインフレーム級)

VAX 9000は1990年に登場した最上位モデルで、マルチプロセッサ構成(最大4CPU)と大容量キャッシュを備え、メインフレーム市場を狙った。処理速度は最大30 MIPS。しかし、開発の遅れと価格の高さから商業的成功は限定的で、DECの財務悪化の一因となった。

3.3 シングルボード実装(MicroVAX, VAXstation)

1980年代後半、DECはMicroVAXシリーズを発表。これはVAXアーキテクチャをシングルボードコンピュータに実装したもので、Q-busまたは独自バスで接続された。MicroVAX IIやMicroVAX 3100などが広く使われ、オフィスサーバやワークグループサーバとして普及。同時期にVAXstation(ワークステーション)も発売され、エンジニアリングワークステーション市場で競合した。

4 オペレーティングシステムとソフトウェア

4.1 VAX/VMS(後のOpenVMS)

VAX/VMSはVAXの標準OSとして開発され、後のOpenVMSとして長期にわたりサポートされた。堅牢性、マルチユーザ性能、高信頼性で評価が高く、ミッションクリティカルなシステムで多用された。

4.1.1 カーネル構造とプロセス管理

VMSカーネルはマイクロカーネル的な設計を一部採用し、プリエンプティブマルチタスクを実現。プロセスは優先度ベースでスケジューリングされ、リアルタイム処理にも対応した。また、非同期システムトラップや分散ロックマネージャなど高度な機能を備えていた。

4.1.2 ファイルシステム(Files-11)とクラスタリング

ファイルシステムはFiles-11(オン・ディスク構造レベル2及び5)を使用。レコード単位のアクセス、バージョン管理、ACLによるセキュリティをサポート。VMScluster技術により、複数のVAXシステムが共有ディスクを介してクラスタを構成し、高可用性と負荷分散を実現した。これは当時先進的であった。

4.1.3 セキュリティと信頼性の特徴

VMSは米国国防総省のオレンジブックに基づくC2レベル認証を取得。アクセス制御リスト、監査機能、特権階層(ユーザー・システム・カーネル)により堅牢なセキュリティを提供。また、オンラインシステムアップデートやエラー検出・訂正機能により、長時間連続稼働が求められる環境で信頼性を発揮した。

4.2 その他のOSサポート

4.2.1 Ultrix(DECのUNIX)

DECは1980年代初期からVAX向けUNIXとしてUltrixを開発・販売。これは4.2BSDをベースとし、VAXのハードウェア機能を活用するようチューニングされた。Ultrixは教育・研究機関やUNIXワークステーション市場で一定のシェアを得たが、VMSほどの普及には至らなかった。

4.2.2 BSD UNIXの移植

VAXはBSD UNIXの主要な開発プラットフォームの一つでもあった。カリフォルニア大学バークレー校の4.2BSD、4.3BSDはVAX上で開発され、TCP/IPや仮想記憶の実装に貢献。これらの成果は後のUNIX全般に大きな影響を与えた。

4.3 アプリケーションエコシステム

4.3.1 データベース(Rdb, Oracle)

DECは独自のリレーショナルデータベースRdb/VMSを提供。RdbはSQLをサポートし、OLTP処理に強みを持った。また、Oracle DatabaseもVAX/VMSに移植され、多くの企業システムで使用された。VAXはデータベースサーバとして広く普及した。

4.3.2 科学技術計算ライブラリ

VAX用に多数の科学技術計算ライブラリ(Compressed IMSL、Numerical Recipes等)が提供された。高速な浮動小数点演算とベクトル処理オプションにより、物理シミュレーション、構造解析、信号処理などの分野で活用された。

5 市場と影響

5.1 1980年代の成長とDECの黄金期

VAXシリーズは1980年代に大ヒットし、DECを世界第2位のコンピュータ企業に押し上げた。特にVMSとの組み合わせは、製造業、金融、政府機関などでミッドレンジコンピュータの標準となり、DECの売上は急成長した。1987年のDECの収益は約130億ドルに達した。

5.2 競合との比較(IBM System/370, UNIXワークステーション)

VAXの主な競合はIBM System/370(メインフレーム)と、1980年代後半からのUNIXワークステーション(Sun Microsystems等)であった。VAXは価格性能比でIBMを上回ったが、UNIX陣営のオープン性と急速な性能向上に対抗できなかった。また、DEC独自のプロプライエタリなエコシステムが、市場のオープン化トレンドに合わなくなった。

5.3 衰退とDECの終焉(1998年Compaq買収)

1990年代、RISCアーキテクチャ(Alpha等)への移行に失敗したDECは業績を悪化。VAXの後継として期待されたAlphaプロセッサも、PCサーバとUNIXワークステーションの台頭により市場シェアを伸ばせなかった。1998年、DECはCompaqに買収され、VAXの生産は終了。Compaqも後にHPに買収された。

6 レガシーと評価

6.1 OpenVMSの継続とAlphaへの移行

VAX/VMSの後継OSであるOpenVMSは、Alphaプロセッサへ移植され、さらにItanium、x86へと継続されている。現在もHP(のちにVMS Software Inc.)がサポートを継続し、一部のレガシーシステムで稼働している。VAX自体の生産は終了したが、そのソフトウェア基盤は生き続けた。

6.2 エミュレーションと現在の可用性(SIMH, VAXstationエミュレータ)

オープンソースのエミュレータSIMH(Computer History Simulation Project)により、VAX-11/780やMicroVAXを現代のハードウェア上でエミュレート可能。エミュレーション上でOpenVMSやBSD UNIXを動作させることができ、教育やレガシーアプリケーションの保守に利用されている。また、VAXstationのエミュレータも複数存在する。

6.3 コンピュータ史における位置づけ

VAXは、ミニコンピュータの進化を象徴するアーキテクチャとして評価される。32ビット仮想記憶、高度なCISC命令セット、堅牢なオペレーティングシステムは、その後のワークステーション、サーバ、パーソナルコンピュータの設計に多くの指針を与えた。特にVMSのクラスタリング技術やセキュリティモデルは、現代の高可用性システムに影響を残している。VAXはコンピュータ史における重要なマイルストーンである。