x86-32 doesn't exist either.
Windows (the desktop and server variety) only runs on three architectures:
-x86 (32-bit with 16-bit legacy support). Sometimes refered to as IA-32 (Intel Architecture 32-bit).
-x86-64 (64-bit with 32-bit and 16-bit legacy support). It has two subtypes: AMD64 and EM64T. They are generally cross compatible.
Technically, the processor is still 32-bit but has been extended to be able to address >32-bits worth or RAM. Some processors, for example, are 36-bit capable and others are 48-bit. No exisiting x86-64 processor is a true 64-bit processor.
-IA-64 (64-bit with 32-bit legacy support). Not compatible with x86 or x86-64. Only found in datacenter or super computer server systems. It is slated to be discontinued by Intel and Microsoft soon.
Your bit in bold is wrong, GT. The part of the CPU that gives it its size is the
word size. That is, the amount of data it can hold in its main data processing registers in one go, not the
address bus size. So, a 32-bit CPU can hold 32-bits and a 64-bit CPU 64-bits at once. This means that a 64-bit CPU can chomp through twice as much data in one go than a 32-bit one. They are therefore literally twice as fast as 32-bit CPUs in a straight run, keeping all other factors such as clock speed, instruction cycle time etc the same. One often doesn't see a speedup in the real world, because they are either working in 32-bit mode, or they are not working on large data sets where you would notice the difference.
They would be twice as fast for example, in copying large blocks of memory to other large blocks of memory, as they will grab twice as much in go.
The size of the address bus is often confused as defining the size of the CPU. It doesn't. The x86/x64 architecture specifies a data bus that has the same width as the address bus, but there's no reason why this must be so and many other processors don't (think of the old 8-bit 6502 & Z80 CPUs that had 16-bit address buses for example). What you've seen is that the full 64-bit address bus isn't
physically implemented, so you get 36 bits, 48 bits or whatever. However, it is
logically implemented in all x64 CPUs. x64 CPUs all have a 64-bit data bus. If you don't believe me, have a look at the spec sheets on Intel's or AMD's websites, or even look this up on Wikipedia; it'll tell you the same thing.
Technically, you could have a 64-bit CPU with a 1-bit address bus and it would still be a true 64-bit CPU ie it's registers would hold 64-bits in one go. You'd have to be nuts to make one of course... lol Just to confuse things a little further, the physical data bus doesn't have to be the same size as the word size of the registers. Making it narrower would simply cause the CPU to take extra clock cycles to store and load data to memory and therefore significantly hurt its performance. However, it would make it cheaper to manufacture and cheaper to manufactur the motherboard as it would need less parallel circuit traces.
The fact that they will handle smaller word sizes such as 16 & 32 bits for compatibility is also incidental and not relevant.
This is stuff that I know like the back of my hand, so if you would like me to explain anythging else, please ask away!