バッグス | 1977
VAX
VAXは、Digital Equipment Corporation(DEC)によって開発された32ビット命令セットアーキテクチャ(ISA)と仮想メモリを特徴とするコンピュータシリーズです。VAX-11/780は1977年10月25日に初めて紹介され、VAX ISAを実装した最初のモデルであり、人気があり影響力のあるコンピュータとなりました。VAXファミリーはDECにとって大きな成功を収め、最後のモデルは1990年代初頭に発売されました。VAXはDEC Alphaに取って代わられ、これはVAXからのポーティングを容易にするためのいくつかの機能を含んでいます。
VAXは16ビットPDP-11の後継として設計され、PDP-11との下位互換性を提供しながら、メモリを完全な32ビット実装に拡張し、需要に基づく仮想メモリを追加しました。VAXという名前は、新しいメモリを活用できる仮想アドレス拡張の概念を示しており、修正されていないユーザーモードPDP-11コードとの互換性を維持します。VAX ISAは複雑な命令セットコンピュータ(CISC)設計と見なされています。
DECはPDP-11の互換性がもはや主要な関心事でなくなったため、−11ブランドを迅速に放棄しました。VAXラインは、VAX 9000のような高級メインフレームやVAXstationシリーズのようなワークステーション規模のシステムに拡張されました。VAXファミリーは最終的に10の独特な設計と100以上の個別モデルを含み、すべて互換性があり、通常はVAX/VMSオペレーティングシステムを実行します。
VAXは、非常に多くのアセンブリ言語プログラマに優しいアドレッシングモードと機械命令、高度に直交した命令セットアーキテクチャ、キューの挿入や削除、数値のフォーマット、ポリノミアル評価などの複雑な操作のための命令により、典型的なCISC ISAとして認識されています。
VAXという名前は、仮想アドレス拡張を意味する略語であり、VAXが以前の16ビットPDP-11の32ビット拡張と見なされるためです。初期のVAXプロセッサのバージョンは、PDP-11の多くの命令をエミュレートする「互換モード」を実装しており、後のバージョンでは互換モードとあまり使用されないCISC命令をオペレーティングシステムソフトウェアのエミュレーションにオフロードしました。
VAX命令セットは強力で直交的に設計されており、初期には多くのプログラムがアセンブリ言語で書かれていたため、「プログラマーフレンドリー」な命令セットが重要でした。時間が経つにつれて、より多くのプログラムが高級プログラミング言語で書かれるようになり、命令セットはあまり目に見えなくなり、心配するのはコンパイラ作成者だけになりました。
VAX命令セットの一つの特異な点は、各サブプログラムの開始部分にレジスタマスクが存在することです。これは、サブプログラムに制御が渡されるときにどのレジスタを保持するかを指定する任意のビットパターンです。ほとんどのアーキテクチャでは、コンパイラが必要なデータを保存するための命令を生成する必要があり、通常は一時保存のために呼び出しスタックを使用します。VAXでは16のレジスタがあるため、データを保存するために16の命令が必要であり、復元するためにさらに16が必要になることがあります。マスクを使用すると、単一の16ビット値が内部的にハードウェアで同じ操作を実行し、時間とメモリを節約できます。
レジスタマスクは実行可能なコード内にデータが埋め込まれた形であるため、機械コードを線形にパースすることが難しくなる可能性があります。これは、機械コードに適用される最適化技術を複雑にする可能性があります。
VAXの基本オペレーティングシステムはDigitalのVAX/VMSであり、1991年または1992年初頭にAlphaにポーティングされる際にOpenVMSに名前が変更されました。VAXアーキテクチャとVMSオペレーティングシステムは、互いに最大の利点を得るために「同時エンジニアリング」され、VAXcluster施設の初期実装も同様でした。
1980年代には、VAXアーキテクチャのためのハイパーバイザーであるVMM(仮想マシンモニター)が開発され、同じハードウェア上で複数の隔離されたVMSおよびULTRIXインスタンスを実行できるようになりました。VMMはTCSEC A1準拠を達成するために設計され、1980年代後半にはVAX 8000シリーズハードウェアで運用されていましたが、顧客へのリリース前に中止されました。
他のVAXオペレーティングシステムには、さまざまなBerkeley Software Distribution(BSD)UNIXのリリース、Ultrix-32、VAXELN、Xinuなどがあり、最近ではNetBSDとOpenBSDがさまざまなVAXモデルをサポートし、LinuxをVAXアーキテクチャにポーティングする作業も進められています。OpenBSDは2016年9月にこのアーキテクチャのサポートを中止しました。
VAX-11/780は1977年10月25日にDigital Equipment Corporationの株主年次総会で紹介された最初のVAXモデルであり、Bill Streckerがアーキテクチャを担当しました。その後、さまざまな価格、性能レベル、容量を持つモデルが開発され、VAXスーパーミニコンピュータは1980年代初頭に非常に人気がありました。
VAX-11/780はしばらくの間、CPUベンチマークの基準として使用され、初めは1 MIPSマシンとして説明されました。実際に1秒間に実行された命令の数は約500,000であり、これはマーケティングの誇張に対する不満を引き起こしました。この結果、「VAX MIPS」という定義が生まれ、27 VAX MIPSで動作するコンピュータはVAX-11/780よりも約27倍速く同じプログラムを実行できることになります。
Digitalコミュニティ内では、VUP(VAX Unit of Performance)という用語がより一般的に使用され、MIPSは異なるアーキテクチャ間での比較がうまくいきませんでした。関連する用語であるクラスターVUPは、VAXclusterの集約性能を説明するために非公式に使用されました。VAX-11/780は、マイクロコードのロード、ブート、および診断機能を実行する独立したLSI-11コンピュータを含んでいましたが、その後のVAXモデルではこの機能が削除されました。
VAXはさまざまな実装を経てきました。元のVAX 11/780はTTLで実装され、1つのCPUを持つ4x5フィートのキャビネットを占めていました。1980年代を通じて、ファミリーの高級モデルは常に改善され、VAX 9000が1989年10月に導入されましたが、あまりにも複雑で高価であったため、すぐに中止されました。VAX 8600および8800スーパーミニとVAX 9000メインフレームクラスのマシンは、複数のECLゲートアレイまたはマクロセルアレイチップで構成されたCPU実装を含んでいました。
MicroVAX IはVAXファミリー内で重要な転換点を示しました。設計時には、完全なVAXアーキテクチャを単一のVLSIチップ(または後にVAX 8200/8300のV-11 CPUで行われたように数個のVLSIチップ)として実装することはまだ不可能でした。代わりに、MicroVAX Iは、より複雑なVAX命令(パックドデシマルや関連するオペコードなど)をエミュレーションソフトウェアに移動させる最初のVAX実装でした。この分割により、必要なマイクロコードの量が大幅に削減され、「MicroVAX」アーキテクチャと呼ばれました。MicroVAX Iでは、ALUとレジスタが単一のゲートアレイチップとして実装され、マシン制御の残りは従来のロジックでした。
MicroVAXアーキテクチャの完全なVLSI(マイクロプロセッサ)実装は、MicroVAX IIの78032(またはDC333)CPUと78132(DC335)FPUで登場しました。78032は、オンボードメモリ管理ユニットを持つ最初のマイクロプロセッサでした。MicroVAX IIは、プロセッサチップを搭載した単一のクアッドサイズプロセッサボードに基づいており、MicroVMSまたはUltrix-32オペレーティングシステムを実行しました。このマシンは1MBのオンボードメモリとDMA転送を持つQ22バスインターフェースを特徴としていました。MicroVAX IIは、パフォーマンスとメモリが大幅に向上した多くのMicroVAXモデルに引き継がれました。
その後、VAXマイクロプロセッサはV-11、CVAX、CVAX SOC(「System On Chip」、単一チップのCVAX)、Rigel、Mariah、NVAX実装の形で続きました。VAXマイクロプロセッサは、アーキテクチャを低価格のワークステーションに拡張し、後に高級VAXモデルを代替しました。このように、メインフレームからワークステーションまでの幅広いプラットフォームが1つのアーキテクチャを使用することは、その当時のコンピュータ業界ではユニークでした。さまざまなグラフィックスがCVAXマイクロプロセッサのダイに刻まれました。「CVAX... when you care enough to steal the very best」というフレーズは、ハローマークカードのスローガンをもじったもので、ソビエトのエンジニアに向けたメッセージとして意図されていました。彼らはDECコンピュータを軍事用途のために盗んだり、チップ設計を逆エンジニアリングしたりして知られていました。1980年代後半までに、VAXマイクロプロセッサは分離型設計と競争できるほどのパワーを持つようになりました。これにより、8000および9000シリーズが廃止され、Rigel駆動のVAX 6000モデルや後のNVAX駆動のVAX 7000システムに置き換えられました。
DECの製品群では、VAXアーキテクチャは最終的にRISC技術に取って代わられました。1989年、DECはMIPS Computer Systemsのプロセッサを使用してUltrixを実行するワークステーションとサーバーの範囲を導入しました。1992年、DECはRISC命令セットアーキテクチャであるAlpha AXP(後にAlphaと改名)を導入し、DECchip 21064という自社のAlphaベースのマイクロプロセッサを発表しました。これはOpenVMSを実行できる高性能64ビット設計です。
2000年8月、Compaqは残りのVAXモデルが年末までに廃止されると発表しましたが、古いシステムは依然として広く使用されています。VMSは現在、VMS Software Incorporatedによって開発されており、Alpha、HPE Integrity、およびx86-64プラットフォームに対してのみサポートされています。
