Fig.5-1 Address Translation Overview

Figure 5-1. Address Translation Overview 15 0 31 0 LOGICAL +---------------+ +------------------------------+ ADDRESS | SELECTOR | | OFFSET | +---------------+ +------------------------------+ v +------------------------------+ | SEGMENT TRANSLATION | +------------------------------+ +----+ PAGING ENABLED |PG ?|--------------------+ +----+ | 31 PAGING v DISABLED 0 | LINEAR +-----------------------------------+ | ADDRESS | DIR | PAGE | OFFSET | | +-----------------------------------+ | v | +------------------------------+ | | PAGE TRANSLATION | | +------------------------------+ | |<---------------------+ 31 v 0 PHYSICAL +------------------------------+ ADDRESS | | +------------------------------+

Fig.5-2 Segment Translation

Figure 5-2. Segment Translation 15 0 31 0 LOGICAL +----------------+ +-------------------------------------+ ADDRESS | SELECTOR | | OFFSET | +----------------+ +-------------------------------------+ +------+ v | | DESCRIPTOR TABLE | | +------------+ | | | | | | | | | | | | | | | | | | |------------| | | | SEGMENT | BASE +---+ | +->| DESCRIPTOR |-------------->| + |<------+ |------------| ADDRESS +---+ | | | +------------+ | v LINEAR +---------------------------------------+ ADDRESS | DIR | PAGE | OFFSET | +---------------------------------------+

Fig.5-3 General Segment-Descriptor Format

Figure 5-3. General Segment-Descriptor Format DESCRIPTORS USED FOR APPLICATIONS CODE AND DATA SEGMENTS 31 23 21 20 15 12 11 9 8 7 0 +-----------------+-----------------+-----------------+-----------------+ | | | | |A| | | | | | | | | BASE 31..24 |G|X|O|V| LIMIT |P| DPL |1| TYPE|A| BASE 23..16 | 4 | | | | |L| 19..16 | | | | | | | |-----------------------------------+-----------------------------------| | | | | SEGMENT BASE 15..0 | SEGMENT LIMIT 15..0 | 0 | | | +-----------------+-----------------+-----------------+-----------------+ DESCRIPTORS USED FOR SPECIAL SYSTEM SEGMENTS 31 23 15 7 0 +-----------------+-----------------+-----------------+-----------------+ | | | | |A| | | | | | | | BASE 31..24 |G|X|O|V| LIMIT |P| DPL |0| TYPE | BASE 23..16 | 4 | | | | |L| 19..16 | | | | | | |-----------------------------------+-----------------------------------| | | | | SEGMENT BASE 15..0 | SEGMENT LIMIT 15..0 | 0 | | | +-----------------+-----------------+-----------------+-----------------+ A - ACCESSED AVL - AVAILABLE FOR USE BY SYSTEMS PROGRAMMERS DPL - DESCRIPTOR PRIVILEGE LEVEL G - GRANULARITY P - SEGMENT PRESENT

Fig.5-4 Format of Not-Present Descriptor

Figure 5-4. Format of Not-Present Descriptor 31 23 15 7 0 +-----------------+-----------------+-----------------+-----------------+ | | | | | | | | AVAILABLE |O| DPL |S| TYPE | AVAILABLE | 4 | | | | | | | |-----------------------------------------------------------------------| | | | AVAILABLE | 0 | | +-----------------+-----------------+-----------------+-----------------+

Fig.5-5 Descriptor Tables

Figure 5-5. Descriptor Tables GLOBAL DESCRIPTOR TABLE LOCAL DESCRIPTOR TABLE +-------------------------+ +-------------------------+ | | | | | | | | | | |------------+------------| |------------+------------| | | | M | | | M +-------------------------+ +-------------------------+ | | | | | | | | +-------------------------+ +-------------------------+ | | | | | | | | | | |------------+------------| |------------+------------| | | | N + 3 | | | N + 3 |------------+------------| |------------+------------| | | | | | | | | | | |------------+------------| |------------+------------| | | | N + 2 | | | N + 2 |------------+------------| |------------+------------| | | | | | | | | | | |------------+------------| |------------+------------| | | | N + 1 | | | N + 1 |------------+------------| |------------+------------| | | | | | | | | | | |------------+------------| |------------+------------| | | | N | | | N +-------------------------+ +-------------------------+ | | | | | | | | +-------------------------+ +-------------------------+ | | | | | | | | | | |---------(UNUSED)--------| |------------+------------| | | | | | | +-------------------------+ +-------------------------+ ^ ^ +---------------------+ | +---------------------+ | | GDTR |--+ | LDTR |--+ +---------------------+ +---------------------+

Fig.5-6 Format of a Selector

Figure 5-6. Format of a Selector 15 3 2 1 0 +-------------------------------+ | |T| | | INDEX | |RPL| | |I| | +-------------------------------+ TI - TABLE INDICATOR 0=Global, 1=Local RPL - REQUESTOR'S PRIVILEGE LEVEL

Fig.5-7 Segment Registers

Figure 5-7. Segment Registers 16-BIT VISIBLE SELECTOR HIDDEN DESCRIPTOR +---------------------------------------------------------+ CS | | | |----------------+----------------------------------------| SS | | | |----------------+----------------------------------------| DS | | | |----------------+----------------------------------------| ES | | | |----------------+----------------------------------------| FS | | | |----------------+----------------------------------------| GS | | | +---------------------------------------------------------+

Fig.5-8 Format of a Linear Address

Figure 5-8. Format of a Linear Address 31 22 21 12 11 0 +----------------------------------------------------------------+ | | | | | DIR | PAGE | OFFSET | | | | | +----------------------------------------------------------------+

Fig.5-9 Page Translation

Figure 5-9. Page Translation PAGE FRAME +----------------------------------+ +---------------+ | DIR | PAGE | OFFSET | | | +----------------------------------+ | | | | | | | +-------------+ | +------------->| PHYSICAL | | | | ADDRESS | | PAGE DIRECTORY | PAGE TABLE | | | +---------------+ | +---------------+ | | | | | | | | +---------------+ | | | | |---------------| ^ | | | +-->| PG TBL ENTRY |--------------+ | |---------------| |---------------| +->| DIR ENTRY |--+ | | |---------------| | | | | | | | | +---------------+ | +---------------+ ^ | ^ +-------+ | +---------------+ | CR3 |--------+ +-------+

Fig.5-10 Format of a Page Table Entry

Figure 5-10. Format of a Page Table Entry 31 12 11 9 8 7 6 5 4 3 2 1 0 +----------------------------------------------------------------+ | | | | | | |U|R| | | PAGE FRAME ADDRESS 31..12 | AVAIL |0 0|D|A|0 0|/|/|P| | | | | | | |S|W| | +----------------------------------------------------------------+ P - PRESENT R/W - READ/WRITE U/S - USER/SUPERVISOR D - DIRTY AVAIL - AVAILABLE FOR SYSTEMS PROGRAMMER USE NOTE: 0 INDICATES INTEL RESERVED. DO NOT DEFINE. See Also:
Fig.5-11

Fig.5-11 Invalid Page Table Entry

Figure 5-11. Invalid Page Table Entry 31 1 0 +----------------------------------------------------------------+ | | | | AVAILABLE |0| | | | +----------------------------------------------------------------+

Fig.5-12 80386 Addressing Mechanism

Figure 5-12. 80306 Addressing Machanism 16 0 32 0 +----------------------------------------------------------+ LOGICAL | SELECTOR | OFFSET | ADDRESS +----------------------------------------------------------+ +-------+ v | | DESCRIPTOR TABLE | | +---------------+ | | | | | | | | | | | | | | | | | | |---------------| | | | SEGMENT | +---+ | +->| DESCRIPTOR |-------->| + |<----------+ |---------------| +---+ | | | +---------------+ | +-----------------+----------------+ v v v PAGE FRAME LINEAR +----------------------------------+ +---------------+ ADDRESS | DIR | PAGE | OFFSET | | | +----------------------------------+ | | | | | | | +-------------+ | +------------->| PHYSICAL | | | | ADDRESS | | PAGE DIRECTORY | PAGE TABLE | | | +---------------+ | +---------------+ | | | | | | | | | | | | | | | | +---------------+ | | | | |---------------| ^ | | | +-->| PG TBL ENTRY |--------------+ | |---------------| |---------------| +->| DIR ENTRY |--+ | | |---------------| | | | | | | | | +---------------+ | +---------------+ ^ | ^ +-------+ | +---------------+ | CR3 |--------+ +-------+

Fig.5-13 Descriptor per Page Table

Figure 5-13. Descriptor per Page Table PAGE FRAMES +-----------+ LDT PAGE DIRECTORY PAGE TABLES | | +----------+ +----------+ +----------+ | | | | | | | | +->+-----------+ |----------| |----------| |----------| | | | | | | PTE |---+ +-----------+ |----------| |----------| |----------| | | | | | | | PTE |---+ | | |----------| |----------| |----------| +->+-----------+ | | | | | PTE |---+ |----------| |----------| +--->+----------+ | +-----------+ |DESCRIPTOR|------>| PDE |---+ | | | |----------| |----------| | | | |DESCRIPTOR|------>| PDE |---+ +->+-----------+ |----------| |----------| | +----------+ | | | | | | | +-----------+ |----------| |----------| | |----------| | | | | | | | | | | | |----------| |----------| | |----------| +->+-----------+ | | | | | | PTE |---+ |----------| |----------| | |----------| +-----------+ | | | | | | PTE |---+ | | +----------+ +----------+ +--->+----------+ | | | LDT PAGE DIRECTORY PAGE TABLES +->+-----------+ PAGE FRAMES