I think we had this topic already… somewhat similar… the 8GiB for blender thread. can´t find it now…
but its basically like this:
2 ^ 32 = 4294967296 so you could address 4GiB of Memory.
(1111 1111 1111 1111 1111 1111 1111 1111)
However practically windows32 can only adress ~3,5GiB because ~500MiB are reservered for PCI addressing. This is the infamous memory hole IBM already encountered when designing the 8086 and they thought… 3GiB of ram… no one ever will use more ^^
So basically the plan was… we need to adress graphic cards, harddrives and other stuff too, a computer just with RAM would be useless. So they took the memory adress range of the last (4th GiB) to remap the adresses. (in older days it where those 640k missing of your ram)
windows64 bit could address 2^64 Bit which would equal 16 Exabyte (17 179 869 184 GiB) and if i remember right the current actual limit is 2^40, and the real limit is that there are only a few mainboards for mainstream users with support up to 16GiB Ram, besides the enormous pricing for 1*4GiB module.
However if you got mostly new hardware drivers are not problem. The only thing i haven´t got a driver for is my oooold Canon Scanner. The rest got xp64 drivers
(Wacom, nVidia, Printer, Sound…)
Also xp64 is not really XP. XP64 is a windows server 2003.
x86 compatibility how microsoft calls the 32bit compatibility is no problem.
everything runs in 32 or 64 bit mode… only flash can make some troubles here and there (there is no 64 bit flash (yet))
XP64 is only worth it, if you cant live with loosing 500GiB of your ram, or installing PAE or AWE API (which hacks around the 3.5GiB limit) on a XP32.
It gives you a significant boost on real 64 bit applications but else there is no real benefit.