AMD amd64 architecture User Manual

Page of 336
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.