background image

22-18 Vol. 3B

ARCHITECTURE COMPATIBILITY

22.22 MEMORY 

MANAGEMENT 

FACILITIES

The following sections describe the new memory management facilities available in the various IA-32 processors 
and some compatibility differences.

22.22.1  New Memory Management Control Flags

The Pentium Pro processor introduced three new memory management features: physical memory addressing 
extension, the global bit in page-table entries, and general support for larger page sizes. These features are only 
available when operating in protected mode.

22.22.1.1   Physical Memory Addressing Extension

The new PAE (physical address extension) flag in control register CR4, bit 5, may enable additional address lines on 
the processor, allowing extended physical addresses. This option can only be used when paging is enabled, using a 
new page-table mechanism provided to support the larger physical address range (see Section 4.1, “Paging Modes 
and Control Bits”).

22.22.1.2   Global Pages

The new PGE (page global enable) flag in control register CR4, bit 7, provides a mechanism for preventing 
frequently used pages from being flushed from the translation lookaside buffer (TLB). When this flag is set, 
frequently used pages (such as pages containing kernel procedures or common data tables) can be marked global 
by setting the global flag in a page-directory or page-table entry. 
On a task switch or a write to control register CR3 (which normally causes the TLBs to be flushed), the entries in 
the TLB marked global are not flushed. Marking pages global in this manner prevents unnecessary reloading of the 
TLB due to TLB misses on frequently used pages. See Section 4.10, “Caching Translation Information” for a detailed 
description of this mechanism.

22.22.1.3   Larger Page Sizes

The P6 family processors support large page sizes. For 32-bit paging, this facility is enabled with the PSE (page size 
extension) flag in control register CR4, bit 4. When this flag is set, the processor supports either 4-KByte or 4-
MByte page sizes. PAE paging and IA-32e paging support 2-MByte pages regardless of the value of CR4.PSE (see 
Section 4.4, “PAE Paging” and Section 4.5, “IA-32e Paging”). See Chapter 4, “Paging,” for more information about 
large page sizes.

22.22.2  CD and NW Cache Control Flags

The CD and NW flags in control register CR0 were introduced in the Intel486 processor. In the P6 family and 
Pentium processors, these flags are used to implement a writeback strategy for the data cache; in the Intel486 
processor, they implement a write-through strategy. See Table 11-5 for a comparison of these bits on the P6 family, 
Pentium, and Intel486 processors. For complete information on caching, see Chapter 11, “Memory Cache Control.”

22.22.3  Descriptor Types and Contents

Operating-system code that manages space in descriptor tables often contains an invalid value in the access-rights 
field of descriptor-table entries to identify unused entries. Access rights values of 80H and 00H remain invalid for 
the P6 family, Pentium, Intel486, Intel386, and Intel 286 processors. Other values that were invalid on the Intel 
286 processor may be valid on the 32-bit processors because uses for these bits have been defined.