Intel 64 and IA-32 Architectures Software Developers Manual Volume 3A, System Programming Guide, Part 1
3-50 Vol. 3A
PROTECTED-MODE MEMORY MANAGEMENT
The IA-32 architecture does not enforce correspondence between the boundaries of
pages and segments. A page can contain the end of one segment and the beginning
of another. Likewise, a segment can contain the end of one page and the beginning of
another.
Memory-management software may be simpler and more efficient if it enforces some
alignment between page and segment boundaries. For example, if a segment which
can fit in one page is placed in two pages, there may be twice as much paging over-
head to support access to that segment.
One approach to combining paging and segmentation that simplifies memory-
management software is to give each segment its own page table, as shown in
Figure 3-28. This convention gives the segment a single entry in the page directory
which provides the access control information for paging the entire segment.
3.12 TRANSLATION LOOKASIDE BUFFERS (TLBS)
The processor stores the most recently used page-directory and page-table entries in
on-chip caches called translation lookaside buffers or TLBs. The P6 family and
Pentium processors have separate TLBs for the data and instruction caches. Also, the
P6 family processors maintain separate TLBs for 4-KByte and 4-MByte page sizes.
The CPUID instruction can be used to determine the sizes of the TLBs provided in the
P6 family and Pentium processors.
Most paging is performed using the contents of the TLBs. Bus cycles to the page
directory and page tables in memory are performed only when the TLBs do not
contain the translation information for a requested page.
The TLBs are inaccessible to application programs and tasks (privilege level greater
than 0); that is, they cannot invalidate TLBs. Only, operating system or executive
Figure 3-28. Memory Management Convention That Assigns a Page Table
to Each Segment
Seg. Descript.
LDT
Seg. Descript.
PDE
Page Directory
PDE
PTE
PTE
PTE
PTE
PTE
Page s
Page Frames