VAX
Vector | 16 × 4096-bit (64 elements of 64 bits each) |
VAX (an acronym for Virtual Address eXtension) is a series of computers featuring a
VAX was designed as a successor to the
DEC quickly dropped the −11 branding as PDP-11 compatibility was no longer a major concern. The line expanded to both high-end
VAX has been perceived as the quintessential CISC ISA,
Name
The name "VAX" originated as an acronym for Virtual Address eXtension, both because the VAX was seen as a 32-bit extension of the older 16-bit PDP-11 and because it was (after Prime Computer) an early adopter of virtual memory to manage this larger address space.
Early versions of the VAX processor implement a "compatibility mode" that emulates many of the PDP-11's instructions, giving it the 11 in VAX-11 to highlight this compatibility. Later versions offloaded the compatibility mode and some of the less used CISC instructions to emulation in the operating system software.
Instruction set
The VAX instruction set was designed to be powerful and orthogonal.[5] When it was introduced, many programs were written in assembly language, so having a "programmer-friendly" instruction set was important.[6][7] In time, as more programs were written in high-level programming languages, the instruction set became less visible, and the only ones much concerned about it were compiler writers.
One unusual aspect of the VAX instruction set is the presence of register masks[8] at the start of each subprogram. These are arbitrary bit patterns that specify, when control is passed to the subprogram, which registers are to be preserved. On most architectures, it is up to the compiler to produce instructions to save out the needed data, typically using the call stack for temporary storage. On the VAX, with 16 registers, this might require 16 instructions to save the data and another 16 to restore it. Using the mask, a single 16-bit value performs the same operations internally in hardware, saving time and memory.[5]
Since register masks are a form of data embedded within the executable code, they can make linear parsing of the machine code difficult. This can complicate optimization techniques that are applied on machine code.[9]
Operating systems
The native VAX
During the 1980s, a hypervisor for the VAX architecture named VMM (Virtual Machine Monitor), also known as the VAX Security Kernel, was developed at Digital with the aim of allowing multiple isolated instances of VMS and ULTRIX to be run on the same hardware.[11] VMM was intended to achieve TCSEC A1 compliance. By the late 1980s, it was operational on VAX 8000 series hardware, but was abandoned before release to customers.
Other VAX operating systems have included various releases of
History
The first VAX model sold was the
For a while the VAX-11/780 was used as a standard in
Within the Digital community the term VUP (VAX Unit of Performance) was the more common term, because MIPS do not compare well across different architectures. The related term cluster VUPs was informally used to describe the aggregate performance of a VAXcluster. (The performance of the VAX-11/780 still serves as the baseline metric in the BRL-CAD Benchmark, a performance analysis suite included in the BRL-CAD solid modeling software distribution.) The VAX-11/780 included a subordinate stand-alone LSI-11 computer that performed microcode load, booting, and diagnostic functions for the parent computer. This was dropped from subsequent VAX models. Enterprising VAX-11/780 users could therefore run three different Digital Equipment Corporation operating systems: VMS on the VAX processor (from the hard drives), and either RSX-11S or RT-11 on the LSI-11 (from the single density single drive floppy disk).
The VAX went through many different implementations. The original VAX 11/780 was implemented in
The
A full
Further VLSI VAX processors followed in the form of the V-11,
In DEC's product offerings, the VAX architecture was eventually superseded by
In August 2000, Compaq announced that the remaining VAX models would be discontinued by the end of the year,[22] but old systems remain in widespread use.[23] The Stromasys CHARON-VAX and SIMH software-based VAX emulators remain available. VMS is now developed by VMS Software Incorporated, albeit only for the Alpha, HPE Integrity, and x86-64 platforms.
Processor architecture
|
Virtual memory map
The VAX virtual memory is divided into four sections. Each is one gigabyte (in the context of addressing, 230 bytes) in size:
Section | Address range |
---|---|
P0 | 0x00000000 – 0x3fffffff
|
P1 | 0x40000000 – 0x7fffffff
|
S0 | 0x80000000 – 0xbfffffff
|
S1 | 0xc0000000 – 0xffffffff
|
For VMS, P0 was used for user process space, P1 for process stack, S0 for the operating system, and S1 was reserved.
Privilege modes
The VAX has four hardware implemented privilege modes:
No. | Mode | VMS use | Notes |
---|---|---|---|
0 | Kernel | OS kernel | Highest privilege level
|
1 | Executive | File system | |
2 | Supervisor | Shell (DCL) | |
3 | User | Normal programs | Lowest privilege level |
Processor status longword
The process status longword contains 32 bits:
CM | TP | MBZ | FD | IS | cmod | pmod | MBZ | IPL | MBZ | DV | FU | IV | T | N | Z | V | C |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29:28 | 27 | 26 | 25:24 | 23:22 | 21 | 20:16 | 15:8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bits | Meaning | Bits | Meaning |
---|---|---|---|
31 | PDP-11 compatibility mode | 15:8 | MBZ (must be zero) |
30 | trace pending | 7 | decimal overflow trap enable |
29:28 | MBZ (must be zero) | 6 | floating-point underflow trap enable |
27 | first part done (interrupted instruction) | 5 | integer overflow trap enable |
26 | interrupt stack | 4 | trace |
25:24 | current privilege mode | 3 | negative |
23:22 | previous privilege mode | 2 | zero |
21 | MBZ (must be zero) | 1 | overflow |
20:16 | IPL (interrupt priority level) | 0 | carry |
VAX-based systems
The first VAX-based system was the
SImultaneous Machine ACceSs (SIMACS)
Canceled systems
Canceled systems include the BVAX, a high-end emitter-coupled logic (ECL) based VAX, and two other ECL-based VAX models: Argonaut and Raven.[26] Raven was canceled in 1990.[27] A VAX named Gemini was also canceled, which was a fall-back in case the LSI-based Scorpio failed. It never shipped.
Clones
A number of VAX clones, both authorized and unauthorized, were produced. Examples include:
- Systime Computers Ltd of the United Kingdom produced clones of early VAX models such as the Systime 8750 (equivalent to the VAX 11/750).[28]
- Norden Systems produced the ruggedized, Military-specification MIL VAX series.[10]
- The Hungarian Central Research Institute for Physics (KFKI) produced a series of clones of early VAX models, the TPA-11/540, 560 and 580.[29]
- The SM 52/12[30] from Czechoslovakia, developed at VUVT Žilina (today Slovakia) and produced from 1986 at ZVT Banská Bystrica (today Slovakia).
- The East German VEB Robotron K 1840 (SM 1710) is a clone of the VAX-11/780 and Robotron K 1820 (SM 1720) is a copy of the MicroVAX II.
- The SM-1700 is a Soviet clone of the VAX-11/730, SM-1702 was a clone of MicroVAX II and SM-1705 was a clone of VAX-11/785.[31] These systems ran a variety of clone operating systems - DEMOS (based on BSD Unix), MOS VP (based on VAX/VMS) or MOS VP RV (based on VAXELN).[32]
- The NCI-2780 Super-mini, also sold as Taiji-2780, is a clone of the VAX-11/780 developed by North China Institute of Computing Technology in Beijing.[33][34]
References
- ^ "VAX MACRO and Instruction Set Reference Manual". OpenVMS documentation. April 2001. 8.1 Basic Architecture. Archived from the original on September 6, 2001.
- ^ DEC STD 032 – VAX Architecture Standard (PDF). Digital Equipment Corp. January 5, 1990. p. 12-5. Retrieved August 1, 2022.
- ^ Bistriceanu, Virgil. "Computer Architecture – Class notes" (PDF). Illinois Institute of Technology. Retrieved April 15, 2022.
- S2CID 15021135.
- ^ ISBN 9781483299372.
- ^ "Another Approach to Instruction Set Architecture—VAX" (PDF). Archived from the original (PDF) on June 10, 2017. Retrieved October 3, 2018.
... instruction set architectures, we chose the VAX as programmer-friendly instruction set, an asset
- ^ "VAX".
Esp. noted for its large, assembler-programmer-friendly instruction set --- an asset that
- ^ "VAX MACRO and Instruction Set Reference Manual". OpenVMS documentation. April 2001. 9.2.5 Procedure Call Instructions. Archived from the original on March 30, 2002.
- Bibcode:2013arXiv1308.4815G. Retrieved August 22, 2013.
- Clinton F. Goss (2013) [1986]. Machine Code Optimization – Improving Executable Object Code (PhD thesis). Courant Institute, New York University.
- ^ a b Rainville, Jim; Howard, Karen, eds. (1997). "VAX/VMS at 20". Digital Equipment Corporation. Archived from the original on July 20, 2018. Retrieved July 20, 2018.
- . Retrieved January 31, 2021.
- ^ "NetBSD/vax".
- ^ "OpenBSD/vax".
- ^ "Porting Linux to the VAX".
- ^ "OpenBSD 6.0". 2016. Retrieved June 20, 2017.
- ^ "VAX 11/780, The First VAX System (October 1977)".
- ISBN 978-0-262-69131-4.
- ^ "VAX 11/780 Computer: CPU". Computer History Museum. Retrieved October 24, 2012.
- ^ "MicroVAX II (1985)". Computer History and Simulation.
- ^ "Steal the best". micro.magnet.fsu.edu. Retrieved January 30, 2008. The Russian phrase was: СВАКС... Когда вы забатите довольно воровать настоящий лучший
- ^ "CVAX (1987)". Computer History and Simulation. Retrieved January 30, 2008.
- ^ "VAX Systems: A letter from Jesse Lipcon". Archived from the original on August 15, 2000.
- ^ "If It Ain't Broke, Don't Fix It: Ancient Computers in Use Today". PCWorld. Retrieved October 11, 2021.
- ^ Wand, R.; Kesteven, M.; Rayner, P. (February 24, 1984). "Computing Requirements for AT Software Development" (PDF).
- HARDCOPY. pp. 64–68.
- ^ Mark Smotherman (July 19, 2008). "Who are the Computer Architects?". Retrieved September 30, 2008.
- ^ Supnik, Bob (2007). "Raven". Computer History and Simulation. Retrieved March 1, 2019.
- ^ "RAL Informatics Report 1984-85". Retrieved October 15, 2007.
- ^ "The TPA story". Retrieved October 15, 2007.
- .
- S2CID 16240778.
- ^ Prokhorov N.L.; Gorskiy V.E. "Basic software for 32-bit SM computer models". Software Systems Journal (in Russian). 1988 (3). Retrieved September 15, 2021.
- ISBN 9781428922914. OTA-USC-340.
- ISBN 0-930403-75-4.
Further reading
- Coy, Peter (January 6, 2021). "Who Remembers the VAX Minicomputer, Icon of the 1980s?". Bloomberg News. Retrieved January 9, 2021.
External links
- HP: VAX Systems at the Wayback Machine (archived December 7, 2004)
- DEC Microprocessors
- SimH VAX Open source emulator that supports VAX architecture
- The complete Digital Technical Journals