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.5Address 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.6Address 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.7Address 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

Page 119
Image 119
IBM 10 SP1 EAL4 manual Address sizes, Address spaces, Address translations