x86-64 is a 64-bit superset of the x86 instruction set architecture. Because the x86-64 instruction set is a superset of the x86 instruction set, all instructions in the x86 instruction set can be executed by central processing units (CPUs) that implement the x86-64 instruction set; therefore those CPUs can natively run programs that run on x86 processors from Intel, Advanced Micro Devices (AMD), and other vendors.
x86-64 was designed by AMD, who have since renamed it AMD64. It has been cloned by Intel under the name Intel 64 (formerly known as EM64T among other names). This leads to the common use of the names x86-64 or x64 as more vendor-neutral terms to collectively refer to the two nearly identical implementations.
- See also: List of 64-bit Linux distributions
Linux also provides backward compatibility for running 32-bit executables. This permits programs to be recompiled into long mode while retaining the use of 32-bit programs. Several Linux distributions currently ship with x86-64-native kernels and userlands. Some, such as SUSE, Mandriva and Debian GNU/Linux package both 32-bit and 64-bit systems on a single DVD-ROM image to allow automatic selection of the best software during installation.
Other distributions, such as Ubuntu, are available in a version compiled for 32-bit and one compiled for x86-64 architecture.
64-bit Linux allows up to 247 bytes (128 TiB) of address space for individual processes, and can address approximately 246 (64 TiB) of physical memory, subject to processor and system limitations.
- 1 AMD64
- 2 Intel 64
- 3 Differences between AMD64 and Intel 64
- 4 Operating system support
- 5 Industry naming conventions