What is Virtual Address Extension (VAX)? (Explained)

What is Virtual Address Extension (VAX)?

Virtual Address Extension, or VAX, typically refers to the 32-bit Instruction Set Architecture (ISA) as well as a line of computer systems built on it. This specific architecture was developed by Digital Equipment Corporation or DEC in the mid-1970s.

The primary objective of VAX is to carry out programs and instructions in a much better way even if those are written in a high level programming language. It replaced the earlier PDP ISA and supported the VAX/VMS operating system, which was also designed by the DEC.

KEY TAKEAWAYS

  • Virtual Address Extension is an Instruction Set Architecture designed to handle programs written in high level languages in a better way.
  • This is a replacement for PDP ISA and can run on the VAX/VMS operating system designed by Digital Equipment Corporation.
  • The VAX features support quite a few different hardware-based privilege modes such as user, supervisor, kernel, and executive.
  • It also refers to the 32-bit computers designed on this ISA, with the first one being the VAX-11/780.
  • VAX is favored among the users for its user-friendly design and features that offer higher reliability, better performance and power efficiency.

Understanding Virtual Address Extension (VAX)

What is Virtual Address Extension

Virtual Address Extension signifies both a 32-bit Instruction Set Architecture and a family of computers based on it.

systems typically operate on the VMS operating system designed by DEC, the developer of the ISA, and range from desktop computers to mainframes.

These computers could emulate the first computers from DEC or the PDP models.

Large VAX multiprocessing clusters can serve thousands of users though it is considered a midrange server computer with a virtual memory setup and a 32-bit processor.

VAX is the successor of PDP and is favored for a few specific aspects such as:

  • Its power
  • Its reliability and
  • Its user-friendly design

It is also favored because it can be used with different types of programming languages such as:

  • FORTRAN
  • BASIC
  • PASCAL

VAX of today, however, have changed significantly in order to accommodate modern and highly progressive hardware.

Features:

Different useful features of VAX include the following:

  • Virtual memory mapping
  • Updated registers for processor status

Apart from that, it also supports several new addressing modes such as:

  • Pre-decrement
  • Post-decrement
  • Literal
  • Byte
  • Long displacement
  • Word
  • Register deferred
  • Pre-decrement deferred
  • Post-increment deferred

That is not all. It also supports four different hardware-implemented privilege modes such as:

  • User
  • Kernel
  • Supervisor
  • Executive

There is one unique aspect of the VAX instruction set, which is the register mask at the beginning of a subprogram.

Consisting of arbitrary bit patterns, these masks specify which particular registers need to be preserved and the time when the control is to be passed to the subprogram.

These register masks, however, can cause some difficulties in the optimization techniques applied to machine code.

This is because they are actually a kind of data embedded in the executable code which will make it difficult for linear parsing of the machine code.

Read Also:  7 Differences Between ADC and DAC

Operating system support:

The native operating system of the Virtual Address Extension is the Virtual Memory System or VMS, which is designed by DEC as well.

Ideally, the VAX architecture was designed at the same time as its supporting VMS operating system in order to exploit the benefits offered by each other to the optimum level and also to facilitate the early execution of the VAX cluster facility.

This operating system was however renamed in 1991 and early 1992 to OpenVMS as it was modified to port to Alpha and comply with the Portable Operating System Interface or the POSIX standards.

It was also identified as XPG4 compliant by the X/Open consortium.

Digital also developed a hypervisor for the architecture in the 1980s called Virtual Machine Monitor or VMM. It was also referred to as the VAX Security Kernel.

It was designed to allow various isolated occurrences of the ULTRIX and VMS operating systems to be used on the same hardware.

Apart from that, it was designed to comply with the Trusted Computer System Evaluation Criteria or TCSEC A1 standard.

It was used on the VAX 8000 series hardware in the late 1980s but was dumped before releasing it to the customers.

However, there are other VAX operating systems such as:

  • Different versions of Berkeley Software Distribution or BSD UNIX up to 4.3 BSD
  • ULTRIX-32
  • VAXELN
  • Xinu
  • NetBSD
  • OpenBSD

With these features and functionalities, the VAX architecture not only helped in increasing the hardware compatibility with earlier machines but has also been considered the quintessential CISC ISA, as explained later.

VAX Computer Examples

The first VAX computer designed on the VAX ISA was the VAX-11/780. It was released on October 25, 1977 and the whole line of the VAX-11 family of computers was widely used in the 1980s in scientific, educational and corporate institutions.

Then there was the high-performing VAX 8600 that replaced the VAX-11/780 by October 1984, and several others.

A few other examples of computers that are designed on the Virtual Address extension Instruction Set architecture are:

  • The entry-level MicroVAX minicomputers
  • The workstation-level VAXstation computers
  • The VAX 4000
  • The VAX 8000
  • The VAX 6000
  • The mainframe-level VAX 9000
  • The fault-tolerant VAXft
  • The Alpha compatible VAX 7000 and VAX 10000
  • A few variants of VAXservers

There were several other systems that were cancelled later on, and there were also quite a few authorized as well as unauthorized VAX clones produced. A few examples of these clones are as follows:

  • Systime 8750, which is equivalent to the VAX 11/750 and early VAX models, designed by Systime Computers Limited of the United Kingdom.
  • MIL VAX series were designed by the Norden Systems that were rugged in design and came with military specification.
  • The TPA-11/540, 560, 580 and a string of clones of early VAX systems were designed by the Hungarian Central Research Institute for Physics (KFKI).
  • The SM 52/12 was developed at VUVT Žilina and produced since 1986 at ZVT Banská Bystrica, Czechoslovakia, today Slovakia.
  • The East German VEB designed a clone of the VAX-11/780 in their Robotron K 1840 (SM 1710) and a clone of the MicroVAX II in their Robotron K 1820 (SM 1720).
  • The North China Institute of Computing Technology in Beijing designed and developed a clone of the VAX-11/780 in their NCI-2780 Super-mini, which was also called the Taiji-2780.
Read Also:  10 Differences Between DVI and VGA

In addition to the above, several Soviet clones were also released such as:

  • The SM-1700, which is the clone of the VAX-11/730
  • The SM-1702, which is the clone of the MicroVAX II
  • The SM-1705, which is the clone of VAX-11/785

These systems in particular could even run the clones of the operating systems such as:

  • DEMOS, which is based on BSD Unix
  • MOS VP, which is based on VAX/VMS
  • MOS VP RV, which is based on VAXELN

What is VAX CISC?

Virtual Address Extension is supposed to be the standard of CISC or Complex Instruction Set Computer ISA. This particular architecture is intended to boost the compatibility of hardware with the previously designed equipment.

Therefore, it is an example of a CISC design where a large set of complicated instructions is used.

The features of the VAX architecture that make it quite similar to CISC since they correspond to the architectural features of CISC include the following:

  • A very large number of programmer friendly assembly language
  • Various useful addressing modes
  • Large number of machine instructions
  • Exceedingly orthogonal instruction set architecture

It also comes with a specific set of instructions that help in performing complicated operations such as:

  • Number formatting
  • Queue insertion
  • Queue deletion
  • Polynomial evaluation

The memory of the VAX architecture is composed of 8-bit bytes and the number of bytes determines the length of a word. For example:

  • Two such bytes form a single word
  • Four of them form a long word
  • Eight bytes form a quad word
  • Sixteen bytes form an octa word

All of the VAX programs function on a virtual address space of 232 bytes. This particular address space is split into two distinct parts, and they are called as follows:

  • The System Space
  • The Process Space

The registers of the VAX architecture consist of sixteen General Purpose Registers or GPRs from R0 to R15. A few of these registers are given special names and are used for specific purposes.

For example:

  • The registers R0 through R11 are typically called the GPRs
  • R12 is called the Argument Pointer or AP
  • R13 is called the Frame Pointer or FP
  • R14 is called the Stack Pointer or SP
  • R15 is called the Program Counter or PC

There are different data and instruction formats, addressing modes, instruction sets and input/output device controllers used in the VAX architecture as well, which resemble those of the CSIC.

For example, the data formats can be characterized as follows:

  • The integers are stored as binary numbers in bytes to represent a byte, word, long word, quad word or octa word
  • The characters are represented by 8-bit or the American Standard Code for Information Interchange or ASCII codes
  • The floating points are represented by four separate floating-point formats of different lengths ranging between 4 bytes and 16 bytes
Read Also:  18 Pros and Cons of Desktop Computers

As for the instruction formats of the VAX machine architecture, they are represented by variable lengths, where every instruction comprises a specific operand code measuring 1 or 2 bytes.

This is followed by operand specifiers, and the number of these specifiers depends on the type of the instruction.

Considering the different addressing modes in the VAX architecture, the number is quite large. Some of these modes are register mode, deferred mode, increment mode, and decrement modes, as mentioned earlier.

There are also a few others such as the base relative addressing modes that consist of several displacement fields of varying lengths and also a Program Counter relative mode which is typically used to handle the operations related to the PC register.

On the other hand, the mnemonics of the instruction set of the VAX systems are created by combining different elements such as:

  • A prefix, which specifies the operation type to be conducted
  • A suffix, which specifies the type of data of the operands
  • A modifier, which specifies the amount of operands involved

Finally, the input and output device controller is used to employ I/O on the VAX architecture.

Each of these controller registers comes with its own set of control or status information and is typically mapped into a specific part of the space called the I/O space.

Is VAX Still Used?

Yes, according to several industry reports, several thousands of VAX systems and the architecture in particular are still in use, especially to handle the operations of companies, large or small.

All these systems come with features that make them compatible with the Windows New Technology servers. They are also capable of using different types of programming interfaces.

Apart from that, these systems typically use an operating system called the OpenVMS.

According to The VMS Software Inc. this consistent operating system has moved from OpenVMS to x86, without affecting the strong suit of it for more than 40 years, its reliability.

Conclusion

Coming to the need of this article, now you must be quite conversant about Virtual Address Extension, a feature that helps in boosting the performance with the help of diverse and useful features included in this ISA.

Different versions and models of the VAX systems and its clones are still used in many settings.