Absolute address: An absolute address is the address assigned to a main memory location. An absolute
address is used for a memory access without any transformations performed on it.
Effective address: An effective address is the address that exists before any transformation takes place by
dynamic address translation or prefixing. An effective address is the result of the address arithmetic of adding
the base register, the index register, and the displacement. If DAT is on, the effective address is the same as
the virtual address. If DAT is off, the effective address is the same as the real address.
5.5.2.4.5 Address sizes
z/Architecture supports 24-bit, 31-bit, and 64-bit virtual, real, and absolute addresses. Bits 31 and 32 of the
Program Status Word (PSW) control the address size. If they are both zero, then the addressing mode is 24-
bit. If they are 0 and 1, the addressing mode is 31-bit. If they are both 1, then the addressing mode is 64-bit.
When addressing mode is 24-bit or 31-bit, 40 or 33 zeros, respectively, are appended on the left to form a 64-
bit virtual address. The real address that is computed by dynamic address translation, and the absolute
address that is then computed by prefixing, are always 64-bit.
5.5.2.4.6 Address spaces
An address space is a consecutive sequence of integer numbers, or virtual addresses, together with the specific
transformation parameters, which allow each number to be associated with a byte location in memory. The
sequence starts at zero and proceeds left to right. The z/Architecture provides the means to access different
address spaces. In order to access these address spaces, there are four different addressing modes: primary,
secondary, home, and access-register.
In the access-register mode, any number of address spaces can be addressed, limited only by the number of
different Access List Entry Tokens (ALET) and the size of the main memory. The conceptual separation of
kernel and user space of SLES is implemented using these address spaces. The kernel space corresponds to
the primary address space, and the user space corresponds to the home address space. Access-register address
space is used to implement a memory area that transfers data between kernel and user space. The secondary
address space is not used in SLES. User programs, which run in the home-space translation mode, can only
translate virtual addresses of the home address space. The separation protects the kernel memory resources
from user-space programs.
5.5.2.4.7 Address translations
Address translation on z/Architecture can involve two steps. The first step, if dynamic address translation is
turned on, involves the use of hierarchical page tables to convert a virtual address to a real address. The
second step involves conversion of a real address to an absolute address, using prefixing. If dynamic address
translation is turned off, the address translation consists of just one step, that of converting a real address to an
absolute address.
107