hi,
I just know the only differences I know is that size of the registers for 64 bit arch is 64 bits and for 32 bit arch is 32 bits. Also the addresses are 64 bits in 64 bit processors. Any other differences ?
hi,
I just know the only differences I know is that size of the registers for 64 bit arch is 64 bits and for 32 bit arch is 32 bits. Also the addresses are 64 bits in 64 bit processors. Any other differences ?
Those are the key differences, but those differences have many effects - for instance, since addresses are larger, the amount of memory you can effectively access is greater - 32-bit OSes are traditionally limited to around 4GB of memory.
x86_64 has more registers than x86, so more work can be done on the CPU rather than constantly fetching bits from RAM. Also, x86_64 guarantees that the CPU supports at least SSE2, so the compiler knows it can optimize for that.
Physical Address Extension (PAE) is a feature to allow x86 processors to access a physical address space larger than 4 GB. This can go up to 64 GB. To use PAE, the OS must support this feature. All major OSes allow the use of PAE, including Windows.
Hence, memory access can't really be held as grounds for distinction between 32-bit & 64-bit OSes.
On the other hand, almost all the processors coming now into the market are 64-bit capable, so it really depends on your OS, how much memory access it allows.