IBM 10 SP1 EAL4 User Manual

Page of 246
The segment selector specifies an entry in either the global or local descriptor table. The specified descriptor-
table entry describes the segment location in virtual-address space, its size, and other characteristics.  The 
effective address is used as an offset into the segment specified by the selector.
 5.5.2.5.2  Effective address
The offset into a memory segment is referred to as an effective address.  Effective addresses are formed by 
adding together elements comprising a base value, a scaled-index value, and a displacement value.  The 
effective address computation is represented by the equation:
Effective Address = Base + (Scale x Index) + Displacement
Long mode supports 64-bit effective-address length.
 5.5.2.5.3  Linear address
The linear address, which is also referred as virtual address, is a 64-bit address computed by adding the 
segment base address to the segment offset.
 5.5.2.5.4  Physical address
A physical address is a reference into the physical-address space, typically main memory. Physical addresses 
are translated from virtual addresses using page translation mechanisms.
 5.5.2.5.5  Segmentation
Segmentation is a method by which system software can isolate software processes, or tasks, and the data 
used by those processes, from one another in an effort to increase the reliability of systems running multiple 
processes simultaneously.  Segmentation is used both in compatibility mode and legacy mode.
The segment protection mechanism uses the concept of privilege levels that is similar to the one used by x86 
architecture.  The processor supports four different privilege levels with a numerical value from 0 to 3, with 0 
being the most privileged, and 3 being the least privileged.  SLES only needs two privilege levels, kernel and 
user, and implements them by assigning user level to privilege level 3, and kernel level to privilege levels 0, 1 
and 2.  The x86-64 architecture defines three types of privilege levels to control access to segments: current, 
requestor, and descriptor.
Current Privilege Level (CPL):  CPL is the privilege level at which the processor is currently 
executing.  The CPL is stored in an internal processor register.
117
Figure 5-58: eServer 326 address types and their conversion units