VAX
| Company type | Product line |
|---|---|
| Industry | Computer hardware |
| Predecessor | PDP-11 |
| Founded | 1977 |
| Founder | Digital Equipment Corporation (DEC) |
| Fate | Replaced by DEC Alpha |
| Headquarters | Maynard , United States |
Area served | Worldwide |
| Products | 32-bit computer systems, VAX instruction set architecture |
| Parent | Digital Equipment Corporation |
VAX (virtual address extension) refers to a lineup of 32-bit computer systems created and marketed by Digital Equipment Corporation (DEC) beginning in the late 1970s. The inaugural unit, the VAX-11/780, debuted in 1977, introducing the VAX instruction set architecture (ISA) and exerting significant influence on computing. The VAX series achieved substantial commercial success for DEC, with production continuing into the early 1990s before being replaced by the DEC Alpha, which featured enhancements to facilitate migration from VAX platforms.
Description
Developed as the successor to DEC’s highly popular 16-bit PDP-11 minicomputer—which sold approximately 600,000 units—VAX expanded the PDP-11 architecture by implementing 32-bit addressing and incorporating demand-paged virtual memory, all while preserving backward compatibility with existing PDP-11 user mode applications. The initial use of the "VAX-11" designation highlighted this compatibility. The VAX ISA exemplifies a complex instruction set computer (CISC) architecture.
As PDP-11 compatibility became less essential over time, DEC eliminated the "-11" suffix and broadened the VAX product range from high-performance mainframe systems such as the VAX 9000 to workstation-level machines like the VAXstation. This family encompassed ten unique architectures and over one hundred models, all maintaining compatibility and typically operating under the VAX/VMS operating system.
The VAX ISA is regarded as a quintessential example of CISC design, distinguished by its extensive collection of programmer-oriented addressing modes and instructions, including sophisticated capabilities like queue management, numeric formatting, and polynomial calculations.
Name
The acronym "VAX" stands for virtual address extension, signifying its role in extending the 16-bit PDP-11 to a 32-bit addressing scheme alongside early adoption of virtual memory for handling larger address spaces. Early VAX processors featured a "compatibility mode" that emulated numerous PDP-11 instructions, inspiring the "11" suffix in VAX-11 model names. Subsequent versions transitioned compatibility features and rarely used CISC instructions into operating system-level emulation.
Instruction set
Designed to be robust, orthogonal, and conducive to compiler efficiency, the VAX instruction set initially catered to an environment where assembly programming was prevalent. This made a programmer-friendly ISA highly advantageous. As high-level languages became dominant, direct interaction with the instruction set diminished except among compiler engineers.
A notable characteristic is the implementation of register masks at subroutine entry points—bitfields indicating which registers must be preserved during procedure calls. Unlike conventional architectures that require multiple instructions for saving and restoring registers, VAX employs a single 16-bit mask processed by hardware, enhancing both execution speed and memory usage.
Nevertheless, embedding these register masks within executable code complicates linear code parsing and can impede certain machine code optimization strategies.
Operating systems
The primary operating system designed for VAX hardware was Digital’s VAX/VMS, later renamed OpenVMS around 1991 or early 1992 during its port to Alpha processors. This version incorporated modifications for POSIX compliance and received certification as XPG4 compliant from the X/Open consortium. To prevent fragmentation seen on PDP-11 platforms with multiple incompatible OSes, DEC developed VAX hardware and VMS software through "concurrent engineering," optimizing their integration—exemplified by the original VAXcluster implementation.
During the 1980s, Digital created a hypervisor named VMM (Virtual Machine Monitor), also known as the VAX Security Kernel, intended to run isolated instances of both VMS and ULTRIX concurrently on identical hardware. Aimed at achieving TCSEC A1 security certification, this hypervisor operated on VAX 8000 series machines but was never commercially released.
Additional operating systems supporting VAX included various versions of Berkeley Software Distribution (BSD) UNIX up through 4.3BSD, along with Ultrix-32, VAXELN, and Xinu. More recently, platforms such as NetBSD and OpenBSD provided support for several VAX models; there were also attempts to port Linux to this architecture. Support for VAX was discontinued by OpenBSD in September 2016.
History
The inception of the VAX architecture dates back to 1975 when DEC identified the limitations of the PDP-11's 16-bit architecture in addressing memory. The debut model, the VAX-11/780, was introduced on October 25, 1977. The architectural design was spearheaded by Bill Strecker, who was then a doctoral candidate under C. Gordon Bell at Carnegie Mellon University. From the early 1980s through the early 1990s, VAX became DEC's leading source of revenue, with both VAX and VMS serving as the company's only actively maintained architectures. A variety of models were developed to cater to different performance requirements and budget ranges, with VAX superminicomputers gaining significant traction during the early 1980s.
Initially, the VAX-11/780 was marketed as a one-million instructions per second (MIPS) system, using IBM System/360 benchmarks for comparison. However, its actual instruction throughput was closer to 500,000 per second, which led to the creation of the "VAX MIPS" metric—measuring performance relative to the VAX-11/780 standard. Within DEC, the preferred term for cross-architecture performance comparison was VUP (VAX Unit of Performance). The VAX-11/780 incorporated a subsidiary LSI-11 computer tasked with loading microcode and performing diagnostics, allowing users to operate multiple DEC operating systems concurrently.
The original VAX 11/780 employed TTL logic housed in a large cabinet featuring a single CPU. Over the course of the 1980s, high-end variants advanced by adopting faster discrete components, culminating in the introduction of the sophisticated and expensive VAX 9000 mainframe in 1989, which was discontinued shortly thereafter. CPU designs spanned from multi-chip emitter-coupled logic (ECL) gate arrays used in superminicomputers such as the VAX 8600 and 8800, to MOSFET-based custom chips found in mid-range models like the 8100 and 8200 series. Entry-level systems such as the VAX 11-730 utilized AMD Am2901 bit-slice processors.
The MicroVAX I represented a paradigm shift by transferring complex instruction handling into emulation software, thereby lowering microcode complexity. This "MicroVAX" design integrated an ALU and registers within a gate-array chip complemented by traditional logic control circuits. The MicroVAX II advanced this approach by delivering a complete VLSI microprocessor solution featuring the 78032 CPU and 78132 FPU, equipped with an onboard memory management unit and compatible with OpenVMS or Ultrix-32 operating systems. Subsequent MicroVAX iterations enhanced both processing speed and memory capacity.
Later generations of VLSI processors encompassed models such as the V-11, CVAX, CVAX SOC ("System On Chip"), Rigel, Mariah, and NVAX. These chips expanded VAX architecture into cost-effective workstations while supplanting earlier high-end discrete designs. This extensive product lineup—from mainframes down to workstations—was unparalleled at that time. Notably, CVAX processors featured etched graphics containing an enigmatic message intended for Soviet reverse engineers. By the late 1980s, microprocessor-based VAX machines surpassed discrete implementations in performance, prompting DEC to phase out the 8000 and 9000 series in favor of Rigel- and NVAX-powered systems such as the VAX 6000 and VAX 7000.
While DEC projected that its 32-bit VAX architecture would remain competitive until around 1999 following Moore's Law trends, it underestimated how swiftly RISC architectures would advance in cost-efficiency during the 1980s. As Unix-based RISC platforms from rivals like Sun Microsystems gained market traction, DEC responded by releasing MIPS-based RISC workstations and servers (DECstation and DECsystem) running Ultrix in 1989. In 1992, DEC unveiled its proprietary RISC design known as Alpha AXP (later Alpha), featuring the high-performance 64-bit DECchip 21064 processor capable of executing OpenVMS.
In August 2000, Compaq declared plans to cease production of remaining VAX models by year's end; nevertheless, many legacy installations continue to operate extensively. Software emulators such as Stromasys CHARON-VAX and SIMH maintain support for VAX environments today. Ongoing development of VMS is carried forward by VMS Software Incorporated across Alpha, HPE Integrity Servers, and x86-64 platforms.
Processor architecture
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Virtual memory map
The VAX architecture divides its virtual memory into four distinct segments, each spanning one gigabyte (230 bytes):
| Segment | Address range |
|---|---|
| P0 | 0x00000000 to 0x3fffffff
|
| P1 | 0x40000000 to 0x7fffffff
|
| S0 | 0x80000000 to 0xbfffffff
|
| S1 | 0xc0000000 to 0xffffffff
|
Within the VMS environment, these segments are allocated as follows: P0 designates the user process address space, P1 is reserved for the process stack, S0 is allocated to the operating system, and S1 remains unused.
Privilege modes
The VAX processor supports four distinct hardware privilege levels:
| Level | Mode | Role in VMS | Description |
|---|---|---|---|
| 0 | Kernel | Operating system kernel | The highest level of privilege |
| 1 | Executive | File system management | |
| 2 | Supervisor | Command shell (DCL) | |
| 3 | User | Regular user applications | The lowest privilege tier |
Processor status longword
The 32-bit processor status longword contains various fields representing privilege modes, interrupt priority levels (IPL), and flags related to traps and conditions:
| Bits | Description | Bits | Description |
|---|---|---|---|
| 31 | PDP-11 compatibility mode | 15:8 | Must be zero (MBZ) |
| 30 | Trace pending | 7 | Enable decimal overflow trap |
| 29:28 | Must be zero (MBZ) | 6 | Enable floating-point underflow trap |
| 27 | First part completed (interrupted instruction) | 5 | Enable integer overflow trap |
| 26 | Interrupt stack indicator | 4 | Trace flag |
| 25:24 | Current privilege mode | 3 | Negative condition flag |
| 23:22 | Previous privilege mode | 2 | Zero condition flag |
| 21 | Must be zero (MBZ) | 1 | Overflow condition flag |
| 20:16 | Interrupt priority level (IPL) | 0 | Carry condition flag |
VAX-based systems
The inaugural model in the VAX lineup was the VAX-11/780, part of the VAX-11 series. In October 1984, it was succeeded by the advanced VAX 8600, which arrived alongside entry-level MicroVAX minicomputers and VAXstation workstations. The MicroVAX series later developed into the VAX 4000, while the VAX 8000 series was superseded by the VAX 6000 during the late 1980s. Around this period, DEC also introduced the mainframe-grade VAX 9000. Moving into the early 1990s, DEC released the fault-tolerant VAXft models and Alpha-compatible VAX 7000/10000 systems. Some of these models were marketed under the VAXserver brand.
SIMACS
System Industries created SIMACS (simultaneous machine access), a technology that allowed multiple DEC CPUs—although not concurrently—to write to a shared disk resource. Their improved disk controller employed semaphore flags to manage write operations across several DEC machines, thereby enhancing disk sharing efficiency. This technology was also adapted for PDP-11 RSTS platforms.
Terminated projects
Among the discontinued initiatives were the advanced ECL-based VAX variants BVAX, Argonaut, and Raven, all halted in 1990. Additionally, the Gemini VAX, intended as a backup for the LSI-based Scorpio, was also terminated prior to release.
VAX clones
Various authorized and unauthorized replicas of VAX systems were developed to serve distinct sectors:
- Systime Computers Ltd (UK) manufactured clones such as the Systime 8750, comparable to the VAX 11/750.
- Norden Systems created the MIL VAX series, designed to meet military-grade rugged specifications.
- The Hungarian firm KFKI produced clones including the TPA-11/540, 560, and 580 models.
- The SM 52/12 from Czechoslovakia was engineered at VUVT Žilina and produced starting in 1986 at ZVT Banská Bystrica.
- East Germany's VEB Robotron developed the K 1840 (a clone of the VAX-11/780) and the K 1820 (a MicroVAX II replica).
- Soviet versions encompassed models like SM-1700 (VAX-11/730), SM-1702 (MicroVAX II), and SM-1705 (VAX-11/785), which operated on cloned operating systems such as DEMOS (BSD Unix-derived), MOS VP (based on VAX/VMS), or MOS VP RV (derived from VAXELN).
- The North China Institute of Computing Technology produced the NCI-2780 Super-mini (Taiji-2780), mirroring the VAX-11/780 architecture.
Further reading
External links
- DEC Microprocessors
- SimH VAX Open source emulator supporting VAX architecture
- The complete Digital Technical Journals