There is a great explanation for these architectures (processor types) on wikipedia:

X86:http://en.wikipedia.org/wiki/X86

X64: http://en.wikipedia.org/wiki/X64

IA64: http://en.wikipedia.org/wiki/IA64


Computer technologies are constantly evolving, and if we base our predictions to Moore’s law, it would keep going for decades to come. The fast paced development of computer hardware is largely due to the voracious appetite of the consumers for better and faster components. Whenever developers hit a roadblock that limits the further advancement of the current standard, we see a sudden shift to a new standard. This is what is happening between x86 and x64.

x86 is a very old technology that started with the 8086 family of processors. It has now evolved into the x86-32 version which is the most common version and its successor the x86-64 or more commonly known as x64. The move gradual shift to x64 has started quite early while there were still no major drawbacks seen in the pc market. This is because the first market to experience the problems related to x86 was those who run high end servers.

Running a system that has 32bit architecture means that you are always limited to what 32bits can point to. In this case, the problem stemmed from memory. A 32bit long pointer could only point to a maximum of 4.2billion addresses which is just about 4GB of memory. As such, it can only allocate up to 4GB of memory to a certain program even if it has 16GB of memory available. This limitation may never be a problem for a home setup but in a server environment, it presents a huge problem. That’s why x64 processors appeared very early for the consumers.

The x64 architecture still follows what x86 has but it improves on it by having 64bits in every address. This means that the memory capacity of the x64 architecture is the square of 4.2billion, which for now is an unimaginable amount of memory. That coupled with certain enhancements makes the x64 architecture a certainly great processor to replace its predecessor.

The problem with x64 is that the software for it isn’t really there yet. Although there are already operating systems that try to take advantage of the x64 architecture, most do not and there are even some that won’t run on an x64 OS. Eventually, the software meant for x64 architecture would arrive and all the 32bit hardware and software would become obsolete. But for now, the x64 architecture is still haunted by software incompatibilities that limit its appeal to the general public.

The last feature of the x64 architecture is its absolute backwards compatibility with the x86. So that even if your processor is x64, the user wouldn’t notice any difference as long as your OS is 32bit. This could be good since once the software arrives, you would only need to update your OS and software since the hardware is already there.