you do if you want to run 4 or more gigs of ram
and or an application that is only 64 bit.
Other than that there is little to no reason to run
a 64 Operating System.
Ever since Pentium Pro (at least for the x86) there's support for 36-bit addressing via
PAE (wikipedia).
With PAE you're limited to 64GB of RAM and your applications are most likely to become jailed within a 4GB space, unless the OS overcomes this with some tricks. You do need an OS that provides such mechanisms and not one that castrates your computer because you didn't pay for the super plus ultra version.
Applications need to be 64-bits when they work in a transactional way (so to speak) involving huge amounts of data.
64-bit applications are actually slower than 32-bits because:
- They consume more memory, for every integer the computer must store 8 bytes compared to 4 in 32-bit mode.
- Which leads to the data cache of the CPU storing only half as much variables.
- Retrieving such integers from memory takes 64-bits of your bus width, same number of bits that can be used to fetch one integer and prefetch the other simultaneously.
Unless of course, the application NEEDS to work on 64-bit to overcome a penalty in performance that is greater than the aforementioned disadvantages.