Athlon 64 and AMD's 64-bit technology
With the successful introduction of the Opteron processor in late April, AMD completed one half of
its forecast entry into the 64-bit processing world. Based on an evolution
of the x86 instruction set used by current 32-bit processors made by Intel and
AMD, the Opteron is targeted at the high to mid-range server and workstation market.
The second processor released under the AMD64
architecture will be the Athlon 64, formerly known as 'Clawhammer,' which aims
to bring 64-bit computing power to the desktop and mobile markets. Due on
September 23rd, the Athlon 64 will be a slightly hobbled version of the Opteron,
and with its built in compatibility with current software and operating systems,
will attempt to bridge the gap easily between 32-bit and 64-bit computing
environments.
In this article, we will focus on the Athlon 64 and
what it will offer to home users and PC enthusiasts, as well as covering the
important details of the AMD64 platform. The Opteron and the Athlon 64 share an
identical base architecture, so most of the information in the first part of
this article will be applicable to both.
The limitations of 32-bit
64-bit… Sounds magical doesn't it? Full of
the promise of faster and more powerful computing. After all, 64 is two times 32,
so there has got to be a performance increase right?
Well, yes and no. When we refer to 32-bit or 64-bit
processors, what we are talking about is primarily the size of the registers,
tiny, high-speed memory areas built right into the chip itself, closer even than
the level 1 cache memory. You can think of them as the hands of the processor,
in that they hold values to be operated on or combined.
As a vastly simplified example, say you want to add
two integers together such as 2 + 3. Both values must be stored in separate
registers until the adding operation can be performed, at which point the
resulting value of 5 is deposited in a third register for transfer out. Any data
to be processed must at some point end up in a register, therefore the number
and size of the registers helps to determine the overall performance of the
processor.
Ok, so 64-bit processors have 64-bit registers instead of 32, so they are faster,
yes? Hmm, there is a catch though. When performing mathematical operations with integers
(whole numbers), having a 64-bit register only helps performance if the integers being
worked on are numbers larger than 32 bits, which is rather unlikely in current
software. If you are adding 2 + 3 or 4,987,606 + 5,000,065 you
are still going to need one register for each value and one for
the answer, and the system doesn't care whether they are 32-bit or
64-bit registers, because you can only store one value in them at any given time.
When operating on floating point (decimal) numbers,
a 64-bit register would seem to give added precision, as it can hold more
numbers after the decimal place, but the x86 architecture, on which all current
32-bit Intel and AMD CPUs are based already provides for 64-bit floating point
registers (actually 80 bits internally) so no advantage is gained there either.
So what's the point? Well, there is one, and it's a good one. Memory.