What is the 64-bit address space?

Because of changes in the architecture that supports the MVS™ operating system, there have been two different address spaces prior to the 64-bit address space. The address space of the 1970s began at address 0 and ended at 16 megabytes. The architecture that created this address space provided 24-bit addresses.

In the early 1980s, XA (extended architecture) was introduced, with an address space that began at address 0 and ended at two gigabytes. The architecture that created this address space provided 31-bit addresses. To maintain compatibility, MVS provided two addressing modes (AMODEs) for programs; programs that use only the first 16 megabytes of the address space run in AMODE 24 and programs that use the entire 31–bit address space run in AMODE 31.

As of z/OS® Release 2, the MVS address space expands to a size so vast that we need new terms to describe it. Each address space is 16 exabytes in size; an exabyte is slightly more than one billion gigabytes. The new address space has logically 2 64 addresses. It is 8 billion times the size of the former 2-gigabyte address space that logically has 231 addresses. The number is 18␠466␠744␠073␠709␠551␠616 bytes. Programs that use virtual storage above the 2-gigabyte address run in AMODE 64. The architecture that creates this address space provides 64-bit addresses. The address space structure below the 2 gigabyte address has not changed; all programs in AMODE 24 and AMODE 31 continue to run without change. In some fundamental ways, the address space is much the same as the XA address space.

In the 64-bit address space, a virtual line called the bar marks the 2-gigabyte address. The bar separates storage below the 2-gigabyte address, called below the bar, from storage above the 2-gigabyte address, called above the bar. In the 31-bit address space, a virtual "line" marks the 16-megabyte address. The area above the bar is intended for data; no programs run above the bar. There is no area above the bar that is common to all address spaces, and no system control blocks exist above the bar. IBM® reserves an area of storage above the bar for special uses to be developed in the future.

The following graphic shows the z/OS R2 address space, including the line that marks the 16-megabyte address and the bar that marks the 2-gigabyte address.

iea99v64

All programs start in 24-bit or 31-bit AMODE; at that time, they are unable to work with data above the bar. To use virtual storage above the bar, a program must change to AMODE 64 and use the new z/Architecture® assembler instructions.

While there is no practical limit to the virtual storage above the bar, there are practical limits to the real storage frames that back that area. To control the amount of real and auxiliary storage that an address space can use, your installation can set a limit, called a MEMLIMIT, on the total number of usable virtual pages above the bar for a single address space. To learn the MEMLIMIT value, see a system programmer at your installation.