X86-64 – What is it?
The introduction of x86-64 marks a number of enhancements over both the original 32-bit x86 Instruction Set Architecture (ISA), and for AMD a significant enhancement of the main CPU design
in the form of the basic Athlon core design.
X86-64 is as it’s name sounds an extension of the 32-bit x86 Instruction set out to full 64-bit compatibility. The main benefit of being able to run software in 64-bit mode is the ability to break
through the 4GB addressable memory barrier that is looming for the 32-bit x86 CPU. We are already seeing the effects of this when CPUs are used in some server and workstation
configurations. Whilst there are ways around this problem such as using forms of Page Address Translation (PAT, not to be confused with the “Performance Acceleration Technology” found
in the i875 chipset), this does not give the benefits of the CPU being able address memory directly.
With the move to x86-64 AMD is allowing an x86 CPU design the ability to directly address up to 8 Terabytes of memory. In order to achieve such a move AMD has had to add appropriate
extra registers to the base K8 design address this extra memory.
The main changes in order to accommodate x86-64 over the current 32-bit x86 design required AMD to built the following on top of the existing architecture:
- Widened the existing 32-bit general purpose registers
- Implemented additional registers
- SSE register increased in depth
The actual CPU design itself is not pure 64-bit but gives the ability to run 64-bit software. The K8 core itself currently offers only 48-bit virtual addressing of memory along with only 40-bit
hardware addressing. The CPU design itself does though have the ability to be extended out to 64-bit and this will probably happen when the need arises for the ability to address extremely
large amounts of memory. In the meanwhile, the extension out to 48-bit virtual addressing and 40-bit hardware addressing gets over the 4GB memory barrier.
Initially there will be no 64-bit support under Windows as this is still in a beta test phase, with Microsoft planning to release the software early next year. There is though already a 64-bit version
of SUSE Linux. In the meanwhile users of Windows will have no difficulty in running their existing software on Windows XP (or Windows 2000 should they wish to do so) on the Athlon 64 or
Athlon FX. In fact this demonstrates one of the other major bonuses of the x86-64 CPU design, which is the ability to run both 32-bit code under a 64-bit OS. This is not unlike the ability of
existing x86 CPU’s being able to run 16-bit code under a 32-bit OS. I presume that users will still be able to run even 16-bit code on the x86-64 architecture (there is always the classic
gaming fraternity to attend to).
With x86-64 AMD will also utilise their now well established HyperTransport bus technology. This will allow the CPU to have access to a 16-bit wide channel which can move up to 3.2 GB/s
data in each direction simultaneously.
Another significant feature of the first two AMD 64-bit CPUs to appear is the integration of the memory controller directly onto the CPU itself. This allows for decreased latencies when
addressing memory and thus enhancing performance.
One area where AMD have not sought to make the x86-64 architecture fully 64-bit compliant is in regards to the x87 Floating Point Unit. AMD regards the stack based x87 design to be obsolete
and has not fully implemented Intel’s SSE2 FPU architecture. That is not to say AMD have done away with x87, and in fact they have kept the triple pipelined design found on the K7 core which
gives good performance under 32-bit applications.
Introduction.
|
Athlon FX/64 - What's new?
|