RETRO TECH / ANALYSIS
processors typically supported up to 166MHz (333MHz
effective) buffered – that is, registered – and 200MHz
(400MHz effective) unbuffered DIMMs.
Although the Athlon 64’s physical address space supports
up to 1TB of RAM, breaking the 4GB barrier imposed by
32-bit instruction sets, initial Socket 754 and Socket 940
motherboards typically supported up to four 1GB sticks
of RAM. Support for 8GB of memory also bypassed
the improved Socket 939 motherboards and wouldn’t
become commonplace until 2006, on the new Socket AM2
motherboards and processors with support for DDR2 RAM.
However, bear in mind that it’s not just system RAM that
comes under the 32-bit limit. That 4GB of addressable space
has to be shared with graphics memory, cache and any other
addressable memory in your PC. As such, if you were lucky
enough to have 4GB of RAM and a 64-bit operating system
at the time, you could use all your memory.
As well as reducing the distance travelled to communicate
data between memory and the processor, reducing latency,
the dedicated memory connection also eliminated the
potential for bottlenecks suffered by the motherboard
northbridge. This chip also handled communication between
the CPU and other components, such as graphics cards and
the southbridge (controlling IDE channels, the ISA bus, USB,
storage and so on), as well as memory.
Like many features introduced by the K8 series, on-CPU
memory controllers would become standard across the
industry, with Intel introducing its own integrated memory
controller four years later in its first Nehalem Core i7
processors. The K8 CPUs also included an integrated
HyperTransport interconnect to create a low-latency, point-
to-point link for direct communication between the CPU
and all other components on the motherboard. It operated
at 800MHz on Socket 754 processors and 1000MHz on
Socket 940, 939 and AM2 CPUs.
This is a pipe
A less headline-grabbing advantage that made AMD’s K8
processors top-of-the-line choices for many tasks was their
comparatively short 12-stage integer instruction pipeline (17-
stage for floating point instructions), compared with the rival
Pentium 4’s NetBurst microarchitecture. Intel’s Willamette
and Gallatin processors both had a 20-stage pipeline,
while the Prescott CPUs, released in February 2004, had a
whopping 31-stage pipeline.
An advantage of lengthening the pipeline is that it gives
you more headroom to increase the clock speed, making
for a potent setup if your software is giving the CPU
regular, predictable instructions, giving Intel the edge on
paper in terms of raw clock speed. That’s great for tasks
such as media encoding – long jobs that repeatedly use
predictable instructions.
However, if you’re using software that’s less predictable,
the pipeline can stall if the branch prediction system
makes the wrong call, and will then need to be flushed
before it starts again, creating latency. NetBurst was an
interesting idea in theory, but the short pipeline of the Athlon
64 CPUs gave them a considerable advantage in a lot of
software, despite their comparative lack of clock speed.
Intel eventually ditched NetBurst, and went back to a short
pipeline design with its first Core-branded CPUs.
Software support
While previous 64-bit processors could only run 64-bit
software – in some cases with 32-bit application support
handled by an emulation layer in the OS – the K8 added
the now ubiquitous AMD64 (x86-64) instruction
set to Intel’s x86 CPU standard, with full backwards
compatibility for 32-bit x86 instructions. That included
a legacy mode with the ability to run 16-bit and 32-bit
software natively, so you could go ahead and install a
normal 32-bit edition of Windows XP on your Athlon 64
system and use it like any other CPU.
THE K8 ADDED THE
AMD64 INSTRUCTION
SET TO INTEL’S X86
CPU STANDARD
The top-line
FX models
had unlocked
multipliers, and
were aimed
squarely at
enthusiasts
In 2005, the
Athlon 64 X2
introduced a
second core to
the package