User Guide

Overview of the AMD64 Architecture 1
24592—Rev. 3.15—November 2009 AMD64 Technology
1 Overview of the AMD64 Architecture
1.1 Introduction
The AMD64 architecture is a simple yet powerful 64-bit, backward-compatible extension of the
industry-standard (legacy) x86 architecture. It adds 64-bit addressing and expands register resources to
support higher performance for recompiled 64-bit programs, while supporting legacy 16-bit and 32-bit
applications and operating systems without modification or recompilation. It is the architectural basis
on which new processors can provide seamless, high-performance support for both the vast body of
existing software and 64-bit software required for higher-performance applications.
The need for a 64-bit x86 architecture is driven by applications that address large amounts of virtual
and physical memory, such as high-performance servers, database management systems, and CAD
tools. These applications benefit from both 64-bit addresses and an increased number of registers. The
small number of registers available in the legacy x86 architecture limits performance in computation-
intensive applications. Increasing the number of registers provides a performance boost to many such
applications.
1.1.1 AMD64 Features
The AMD64 architecture introduces these features:
Register Extensions (see Figure 1-1 on page 2):
- 8 additional general-purpose registers (GPRs).
- All 16 GPRs are 64 bits wide.
- 8 128-bit XMM registers.
- Uniform byte-register addressing for all GPRs.
- An instruction prefix (REX) accesses the extended registers.
Long Mode (see Table 1-1 on page 2):
- Up to 64 bits of virtual address.
- 64-bit instruction pointer (RIP).
- Instruction-pointer-relative data-addressing mode.
- Flat address space.