24-bit, 31-bit, and 64-bit addressing

How does bittage affect performance?

The zOS architecture uses virtual storage and address spaces. A program running in an address space can reference all of the storage associated with that address space. The original MVS™ (pre zOS) architecture defined storage addresses as 24 bits in length, which allowed an allocation to each user an address space of 16 MB. Later, the addressability of the architecture was extended to 31 bits, which increased the addressability of virtual storage, and the size of the address space, from 16 MB to 2 GB. The new architecture did not require customers to change existing application programs, but provided compatibility for existing programs originally designed to run with 24-bit addressing. Subsequently, with the release of IBM® eServer™ zSeries mainframes in 2000, IBM further extended the addressability of the architecture to 64 bits. With 64-bit addressing, each address space, called a 64-bit address space, is potentially 16 EB in size (an exabyte is slightly more than one billion gigabytes).
Note: Although the size of an address space is potentially 16 EB, z/OS®, by default, continues to create address spaces with a size of 2 GB. The address space exceeds this limit only if a program running in it allocates virtual storage above the 2 GB address. If so, z/OS increases the storage available to the user from 2 GB to 16 EB. Programs cannot execute in 64-bit (above-the-bar) storage; it is limited to storing user data for programs that are loaded into the address space below 2 GB.
A program running on z/OS and the zSeries mainframe can run with 24-, 31-, or 64-bit addressing (and can switch among these if needed). To address the high virtual storage available with the 64-bit architecture, the program uses 64-bit-specific instructions, and must be running in 64-bit addressing mode (AMODE(64)). Although the architecture introduces the unique 64-bit instructions, the program can use both 31-bit and 64-bit instructions as needed. In zOS terminology:
  • 24-bit storage (up to 16M) is known as below-the-line storage.
  • 31-bit storage (16M to 2 GB) is know as above-the-line storage.
  • 64-bit storage (2 GB to 16 EB) is know as above-the-bar storage.