User Guide

12 Memory Model
AMD64 Technology 24592—Rev. 3.15—November 2009
Long-Mode Memory Management. Figure 2-3 shows the flow, from top to bottom, of memory
management functions performed in the two submodes of long mode.
Figure 2-3. Long-Mode Memory Management
In 64-bit mode, programs generate virtual (linear) addresses that can be up to 64 bits in size. The
virtual addresses are passed to the long-mode paging function, which generates physical addresses that
can be up to 52 bits in size. (Specific implementations of the architecture can support smaller virtual-
address and physical-address sizes.)
In compatibility mode, legacy 16-bit and 32-bit applications run using legacy x86 protected-mode
segmentation semantics. The 16-bit or 32-bit effective addresses generated by programs are combined
with their segments to produce 32-bit virtual (linear) addresses that are zero-extended to a maximum
of 64 bits. The paging that follows is the same long-mode paging function used in 64-bit mode. It
translates the virtual addresses into physical addresses. The combination of segment selector and
effective address is also called a logical address or far pointer. The virtual address is also called the
linear address.
Legacy-Mode Memory Management. Figure 2-4 on page 13 shows the memory-management
functions performed in the three submodes of legacy mode.
513-184.eps
051
64-Bit Mode
63 0
Paging
051
Compatibility Mode
Segmentation
Paging
031015
Physical Address
Virtual (Linear) Address
Physical Address
Effective AddressSelector
0313263
Virtual Address0