beautypg.com

Intel IA-32 User Manual

Page 116

background image

3-36 Vol. 3A

PROTECTED-MODE MEMORY MANAGEMENT

The base physical address in an entry specifies the following, depending on the type of entry:

Page-directory-pointer-table entry — the physical address of the first byte of a
4-KByte page directory.

Page-directory entry — the physical address of the first byte of a 4-KByte page table or a
2-MByte page.

Page-table entry — the physical address of the first byte of a 4-KByte page.

For all table entries (except for page-directory entries that point to 2-MByte pages), the bits in
the page base address are interpreted as the 24 most-significant bits of a 36-bit physical address,
which forces page tables and pages to be aligned on 4-KByte boundaries. When a page-directory
entry points to a 2-MByte page, the base address is interpreted as the 15 most-significant bits of
a 36-bit physical address, which forces pages to be aligned on 2-MByte boundaries.

The present flag (bit 0) in the page-directory-pointer-table entries can be set to 0 or 1. If the
present flag is clear, the remaining bits in the page-directory-pointer-table entry are available to
the operating system. If the present flag is set, the fields of the page-directory-pointer-table entry
are defined in Figures 3-20 for 4-KByte pages and Figures 3-21 for 2-MByte pages.

The page size (PS) flag (bit 7) in a page-directory entry determines if the entry points to a page
table or a 2-MByte page. When this flag is clear, the entry points to a page table; when the flag
is set, the entry points to a 2-MByte page. This flag allows 4-KByte and 2-MByte pages to be
mixed within one set of paging tables.

Figure 3-21. Format of Page-Directory-Pointer-Table and Page-Directory Entries

for 2-MByte Pages with PAE Enabled

63

36 35

32

Base

Reserved (set to 0)

Page-Directory Entry (2-MByte Page)

31

12 11

9 8 7 6 5 4 3 2 1 0

P

C

D

D

P

P

W

T

Page Base Address

Addr.

G 1

A

Reserved (set to 0)

21 20

R

/

W

U

/

S

63

36 35

32

Base

Reserved (set to 0)

Page-Directory-Pointer-Table Entry

31

12 11

9 8

5 4 3 2

0

P

C
D

P

W

T

Avail.

Page Directory Base Address

Addr.

Res.

Reserved

Avail.

P

1

13

P

A
T