4-52 Vol. 3
PAGING
concurrently information for multiple address spaces in its TLBs and paging-structure
caches. See Section 25.1 for details.
When EPT is in use, the addresses in the paging-structures are not used as physical
addresses to access memory and memory-mapped I/O. Instead, they are treated as
guest-physical addresses and are translated through a set of EPT paging structures
to produce physical addresses. EPT can also specify its own access rights and
memory typing; these are used on conjunction with those specified in this chapter.
See Section 25.2 for more information.
Both VPIDs and EPT may change the way that a processor maintains information in
TLBs and paging structure caches and the ways in which software can manage that
information. Some of the behaviors documented in Section 4.10 may change. See
Section 25.3 for details.
4.12 USING PAGING FOR VIRTUAL MEMORY
With paging, portions of the linear-address space need not be mapped to the phys-
ical-address space; data for the unmapped addresses can be stored externally (e.g.,
on disk). This method of mapping the linear-address space is referred to as virtual
memory or demand-paged virtual memory.
Paging divides the linear address space into fixed-size pages that can be mapped into
the physical-address space and/or external storage. When a program (or task) refer-
ences a linear address, the processor uses paging to translate the linear address into
a corresponding physical address if such an address is defined.
If the page containing the linear address is not currently mapped into the physical-
address space, the processor generates a page-fault exception as described in
Section 4.7. The handler for page-fault exceptions typically directs the operating
system or executive to load data for the unmapped page from external storage into
physical memory (perhaps writing a different page from physical memory out to
external storage in the process) and to map it using paging (by updating the paging
structures). When the page has been loaded into physical memory, a return from the
exception handler causes the instruction that generated the exception to be
restarted.
Paging differs from segmentation through its use of fixed-size pages. Unlike
segments, which usually are the same size as the code or data structures they hold,
pages have a fixed size. If segmentation is the only form of address translation used,
a data structure present in physical memory will have all of its parts in memory. If
paging is used, a data structure can be partly in memory and partly in disk storage.
4.13 MAPPING SEGMENTS TO PAGES
The segmentation and paging mechanisms provide in the support a wide variety of
approaches to memory management. When segmentation and paging are combined,