64-bit : Computer Hardware Buyers’ Glossary

In 64-bit CPUs (Central Processing Units)
such as the Athlon, Itanium and Opteron, programs process information 64 bits (or 8 bytes) at a time. Thus they can handle positive numbers
up to 9,223,372,036,854,775,807 [263-1] aka
Long. MAX_VALUE as a single
chunk and in theory address up to 18 billion gigabytes of
virtual RAM (Random Access Memory), about 30 billion
CDs (Compact Discs)
full, which ought to hold them for a while. In practice you are limited by how much
RAM you can afford
and limits on the addressing hardware lines of real world CPU (Central Processing Unit)
s and by the way some CPUs
reserve some of the addressing bits of housekeeping. Nearly all
AMD (Advanced Micro Devices) and Intel CPUs
in desktops sold today are 64-bit capable, at least in
theory.

Technically the 64-bitness refers only to addressing
capability. In modern machines, it nearly always matches the register size.

64-bit Software

When you buy a 64-bit CPU, it will typically run in either 32 or 64-bit mode. If you don’t buy a
special 64-bit operating system and acquire special 64-bit
software (such a 64-bit Java JVM (Java Virtual Machine),
64-bit Linux and 64-bit Vista),
your chip will never strut its 64-bit powers.

There is not much point is going to 64-bit software
unless you have 4+ GIG of RAM. If you are thinking of experimenting in this
direction, make sure you buy a CPU
and motherboard that supports at least 4 GIG. You can experiment with less, but you
will make less efficient use of your resources than had you used 32-bit software.

Which is Faster?

Compare two computers with equal RAM,
the same clock speed, one with a 32-bitCPU
and one with a 64-bitCPU.
You may be surprised to discover the 64-bitCPU
will run perhaps 15%slower. This is
because every pointer consumes twice as much RAM,
and most integers occupy 64 bits instead of 32. 64-bit mode has the effect of reducing
your RAM. If you added
sufficient RAM to your 64-bit system to
compensate, it would run faster mainly because the new
AMD64-bit architecture has 8 times as many high
speed registers. Processing of longs and doubles will benefit from the 64-bit data
paths.

On the other hand, adding RAM to a 32-bit system would
speed it up too. 64-bit architectures will tend to do
better on computationally intensive tasks, where 32-bit
architectures will tend to do better on RAM-intensive tasks. Of course, 64-bit architectures will handle massive virtual address spaces that
32-bit can’t computers even attempt. The best way to
find out which will better and by how much is to benchmark your application in both
32 and 64-bit mode.

When To Consider 64-bit

The main advantage of the
64-bit machine is its ability to address a huge virtual
address space. A 32-bit machine in theory can address up to
4 gigabytes of RAM, but in practice often only about 1 gigabyte of that
is usable for an application program’s heap. If you have a gaming video card,
it might chew up a 1 gigabyte of your RAM
leaving even less for your programs.

The main reason then to go for a 64-bit machine is when
you have bought 4+ gigabytes of real RAM,
and you want massive virtual RAM
space so that
you can memory-map huge files (i.e. treat them as part of the vidual memory) or deal
with millions of Java objects. The other reason is for improved floating point
performance. This has nothing to do with 64-bitness per se, just
AMD ’s
redesign of the floating point part of the architecture.

Availability

There are no single chip X86-64 solutions existing addressing
more than 8 gigabytes of real RAM
now. Motherboards typically support 2 through 8 Gig of RAM
max. Only those with 4+ GIG are of much interest to those wanting to run 64-bit
software. You could run 64-bit experiments on a smaller
machine, but the benchmarks would be disappointing.

AMD ’s
Athlon, Turion, Sempro and Opteron series use a different 64-bit architecture than the Intel Itanium(IA-64) called AMD64 or x-64.
The architecture features 64 general purpose registers (vs only 8 in 32-bit mode) and an address space of 248 bytes or 281,475 gigabytes.
The architecture is designed to be theoretically extended to support 264
bytes of virtual RAM. There is a x-64 version of Windows Vista at nominal extra charge. Because of
AMD ’s
success with this instruction set and the slow Itanium sales, Intel implemented
AMD64 too, (renaming it Intel-64, IA-32e, EMT64T… to disguise its origin) and
used it in their newer Pentium, Celeron D, Xeon and Core 2 processors.

64-bit is still largely experimental
since only a subset of the device drivers have been ported to 64-bit. When you run in 64-bit mode, you may
find not all of your peripherals will work. 64-bit in
production is limited to number crunching machines and servers without any fancy
peripherals.