On Wed, Nov 26, 2008 at 9:13 PM, Luke Dashjr [email protected] wrote:
- There is no such thing as "x64"
Nor is there an official "x86" but we don't point this out in polite company either.
- For most architectures, 32 vs 64 bit mostly just allows more more memory
- For x86, 64-bit adds a number of new registers, which can improve speed.
It also doubles the size of existing registers and memory addresses, which gets important later.
- For x86, you can only mix 32-bit and 64-bit apps by having two copies of your OS (32-bit and 64-bit).
This is hardly the only RAM problem. It turns out pointers now need twice as much RAM to store, even on uni-arch 64bit systems. This has a number of bad effects: not only do applications need more RAM, cache fills up faster, wider byte padding is necessary and the memory pipeline takes longer (no shotgunning requests as in 32bit compatibility mode). All of this has bad effects on speed.
There's also a number of handy features aside from a larger address space you've left unmentioned. NX, IP relative addressing, fast 64bit int math and standardized floating point. There's also the recalcitrance of binary software providers to rewrite their code for 64bitness. It's something of a milestone that Adobe is working on 64bit Flash.
Justin