Nepedia
Back to Discover
Advanced Reader
💻

x86-64

technology Maturity 7-9 Next article →

The x86-64 architecture is a 64-bit extension of the original x86 instruction set. This set of rules tells a computer's central processing unit, or CPU, how to perform tasks. While the older 32-bit systems were useful, they had limits on how much data they could handle at once. x86-64, also known as x64 or AMD64, was designed to overcome these limits. It provides a much larger space for a computer to store and manage information.

AMD64 Logo
AMD64 Logo

This architecture is essential for modern computing because it allows for much more powerful and efficient processing.

To understand how x86-64 works, we must look at how it handles memory and data. In a 64-bit mode, the architecture uses a new four-level paging mechanism. Paging is a method used to manage virtual memory, which is the memory a program thinks it has available. This new mechanism allows for a massive virtual address space. While 32-bit systems were limited to 4 GiB of virtual memory, x86-64 can support up to 256 TiB in current implementations. The architecture is even designed to eventually reach 16 EiB.

X86 Paging 64bit
X86 Paging 64bit

This allows a computer to map very large files directly into its memory for much faster access.

Another major change happens inside the CPU's registers. Registers are tiny, extremely fast storage locations used to hold data during calculations. The x86-64 architecture expands the number of general-purpose registers from 8 to 16. It also increases the width of these registers from 32 bits to 64 bits. This means each register can hold much larger integer values. Having more registers allows the CPU to keep more local variables and constants close at hand. This reduces the need to constantly move data back and forth to the slower main memory.

AMD x86-64 Architecture Programmers Manuals
AMD x86-64 Architecture Programmers Manuals

Mathematical operations also receive a significant boost through specialized registers. The architecture includes sixteen 128-bit vector registers known as XMM registers. These are used for Streaming SIMD Extensions, or SSE, which help with complex math. These vector registers can store multiple numbers at once, such as four single-precision floating-point numbers. This makes the CPU much better at handling heavy math tasks. Additionally, 64-bit mode makes the use of SSE2 instructions mandatory. This ensures that all modern 64-bit processors have strong, standardized math capabilities.

AMD Opteron 146 Venus, 2005
AMD Opteron 146 Venus, 2005

One of the most clever parts of x86-64 is how it manages different operating modes. It defines a compatibility mode that allows older 16-bit and 32-bit applications to run without any changes. This is possible because the full x86-32 instruction set is still implemented directly in the hardware. Because it is not being simulated by software, these older programs can run with little to no performance penalty. The system also uses a "real mode" when it first powers on. This maintains backward compatibility with the original 8086 processor.

AMD64StateDiagram
AMD64StateDiagram

This design allows a smooth transition from old software to new hardware.

The history of x86-64 is a story of competition and innovation. AMD originally announced the AMD64 design in 1999 and released the full specification in August 2000. It was created as an alternative to Intel's IA-64 architecture. While IA-64 was a completely new and incompatible system, AMD chose an evolutionary path. This meant AMD64 could support existing x86 code while adding 64-bit power. The first processors to use this were the AMD Opteron and Athlon 64 families in April 2003.

Processor families in TOP500 supercomputers
Processor families in TOP500 supercomputers

Intel eventually followed by introducing a compatible version of its own architecture.

Today, x86-64 is a dominant standard in the computing world. It has effectively replaced the discontinued Intel Itanium architecture in many areas. The architecture is used in everything from personal laptops to massive servers. It also includes security features like the No-Execute bit, or NX bit. This bit allows the operating system to mark certain parts of memory as non-executable. This helps prevent malicious code from taking control of a system through attacks like buffer overruns. By combining massive memory capacity with strong security and backward compatibility, x86-64 remains a cornerstone of modern technology.

686 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (6)
File:AMD Opteron 146 Venus, 2005.jpg
AMD Opteron 146 Venus, 2005.jpg
File:AMD_x86-64_Architecture_Programmers_Manuals.jpg
AMD_x86-64_Architecture_Programmers_Manuals.jpg
File:AMD64 Logo.svg
AMD64 Logo.svg
File:X86 Paging 64bit.svg
X86 Paging 64bit.svg
File:AMD64StateDiagram.svg
AMD64StateDiagram.svg
File:Processor families in TOP500 supercomputers.svg
Processor families in TOP500 supercomputers.svg
More to explore

🔬 Go deeper

More advanced topics to explore

🪜 Step back

Simpler topics to build understanding

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.