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.2Effective 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.3Linear 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.4Physical 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.

Figure 5-58: eServer 326 address types and their conversion units

5.5.2.5.5Segmentation

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

Page 129
Image 129
IBM 10 SP1 EAL4 manual Effective address, Linear address, Physical address