Volume 3A System Programming Guide_ Part 1 (794103), страница 2
Текст из файла (страница 2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31Reading and Writing Model-Specific Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31Reading and Writing Model-Specific Registers in 64-Bit Mode.
. . . . . . . . . . . . . . . . . 2-31CHAPTER 3PROTECTED-MODE MEMORY MANAGEMENT3.13.23.2.13.2.23.2.33.2.43.2.53.33.3.13.43.4.13.4.23.4.33.4.43.4.53.4.5.13.53.5.13.5.23.63.6.13.6.23.73.7.13.7.23.7.33.7.43.7.53.7.63.7.73.83.8.13.8.23.8.33.8.4MEMORY MANAGEMENT OVERVIEW. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1USING SEGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Basic Flat Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Protected Flat Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4Multi-Segment Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 3-5Segmentation in IA-32e Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6Paging and Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 3-7PHYSICAL ADDRESS SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Intel® 64 Processors and Physical Address Space . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 3-8LOGICAL AND LINEAR ADDRESSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Logical Address Translation in IA-32e Mode . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Segment Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Segment Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 3-10Segment Loading Instructions in IA-32e Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12Segment Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 3-13Code- and Data-Segment Descriptor Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16SYSTEM DESCRIPTOR TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 3-18Segment Descriptor Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Segment Descriptor Tables in IA-32e Mode. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22PAGING (VIRTUAL MEMORY) OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Paging Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Page Tables and Directories in the Absence of Intel® 64 Technology . . . . . . . . . . . . . 3-24PAGE TRANSLATION USING 32-BIT PHYSICAL ADDRESSING . . . . . . . . . . . . . . . . .
. . . . . . . . 3-25Linear Address Translation (4-KByte Pages) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25Linear Address Translation (4-MByte Pages). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Mixing 4-KByte and 4-MByte Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 3-27Memory Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Base Address of the Page Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 3-28Page-Directory and Page-Table Entries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Not Present Page-Directory and Page-Table Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3336-BIT PHYSICAL ADDRESSING USING THE PAE PAGING MECHANISM . . .
. . . . . . . . . . . . . 3-33Enhanced Legacy PAE Paging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34Linear Address Translation With PAE Enabled (4-KByte Pages) . . . . . . . . .
. . . . . . . . . . 3-35Linear Address Translation With PAE Enabled (2-MByte Pages) . . . . . . . . . . . . . . . . . . . 3-36Accessing the Full Extended Physical Address Space With the Extended Page-TableStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-373.8.5Page-Directory and Page-Table Entries With Extended Addressing Enabled . . . . . . . 3-373.936-BIT PHYSICAL ADDRESSING USING THE PSE-36 PAGING MECHANISM . . . . . . . . . . . . . 3-403.10PAE-ENABLED PAGING IN IA-32E MODE . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-423.10.1IA-32e Mode Linear Address Translation (4-KByte Pages) . . . . . . . . . . . . . . . . . . . . . . . . 3-433.10.2IA-32e Mode Linear Address Translation (2-MByte Pages). . .
. . . . . . . . . . . . . . . . . . . . . 3-443.10.3Enhanced Paging Data Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-453.10.3.1Intel® 64 Processors and Reserved Bit Checking . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 3-483.11MAPPING SEGMENTS TO PAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-493.12TRANSLATION LOOKASIDE BUFFERS (TLBS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-50iv Vol. 3ACONTENTSPAGECHAPTER 4PROTECTION4.14.24.2.14.34.3.14.44.4.14.4.1.14.54.64.6.14.74.84.8.14.8.1.14.8.1.24.8.24.8.34.8.3.14.8.44.8.54.8.5.14.8.64.8.74.8.7.14.8.84.94.104.10.14.10.24.10.34.10.44.10.54.114.11.14.11.24.11.34.11.44.11.54.124.134.13.14.13.24.13.34.13.4ENABLING AND DISABLING SEGMENT AND PAGE PROTECTION .
. . . . . . . . . . . . . . . . . . . . . . 4-1FIELDS AND FLAGS USED FOR SEGMENT-LEVEL ANDPAGE-LEVEL PROTECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2Code Segment Descriptor in 64-bit Mode . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 4-5LIMIT CHECKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Limit Checking in 64-bit Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 4-7TYPE CHECKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7Null Segment Selector Checking . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9NULL Segment Checking in 64-bit Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9PRIVILEGE LEVELS. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9PRIVILEGE LEVEL CHECKING WHEN ACCESSING DATA SEGMENTS . . . . . . . . . . . . . . . . . . . 4-11Accessing Data in Code Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .4-14PRIVILEGE LEVEL CHECKING WHEN LOADING THE SS REGISTER . . . . . . . . . . . . . . . . . . . . . 4-14PRIVILEGE LEVEL CHECKING WHEN TRANSFERRING PROGRAM CONTROLBETWEEN CODE SEGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .