With the upcoming release of Windows 7 this October I’ve been facing a flurry of questions about what version to choose. Ultimately 95% of you will want to stick with Home Premium, this is half of the battle. The other half of the decision is deciding which architecture you will use, 64-bit or 32-bit. Most computers you buy at your chosen store will come with 64-bit, however, this can change depending on the specifications of the computer in question. It can be an even more daunting decision if your computer is older and you have an older selection of hardware. 64-bit does provide some advantages if your hardware has 64-bit support. Before we go any further it’s important to stress that you are not likely to see any performance gains by going to 64-bit, this makes the question one based on architecture which will be discussed next.
Processor architecture refers to a very low-level form of implementation on a CPU. Processor architecture determines certain capabilities of your computer. With this being said processor architecture should be something that mere mortals should not have to think about. All that’s important to know for the scope of this article is that when processor architecture it is referring to the construction of the CPU or its capabilities.
Hardware is the basis for all benefits that 64-bit can provide, without appropriate hardware the software can’t take advantage of 64-bit. There are three main 64-bit advantages that will provide an advantage to higher level software.
The first and most crucial is a larger physical address space. The larger physical address space is what allows a computer to exceed the 4GB address space limitation. 32-bit processors are limited to 232 – 1 (4,294,967,295) bytes of address space. This is what we call the 4GB limit, it should be noted that Windows only allows access to 3.7GB at the most. In a nutshell this means that your computer will be able to use greater than 4GB of RAM. With modern computers sporting 4GB RAM and a video card that can use 512MB or 1GB of memory this is definitely a reason to consider 64-bit.
Another reason to consider 64-bit are the enhanced instruction sets that a 64-bit CPU offers. An instruction set is a low level set of operations that a CPU can perform. A classic example of a basic instruction that all CPUs support would be ADD. As one might guess, ADD allows one to add two numbers together and store their result elsewhere. It is these enhanced instruction sets that can make applications quicker once developers update their applications to support them. A classic example of this is Adobe modifying Photoshop to include a 64-bit version of the application when Photoshop CS4 shipped. Enhanced instruction sets can deliver increased speed if your application you are using supports them.
Finally I’d like to mention in passing native support for 64-bit integers. In a computer any number is stored as bits. The maximum native limit on a 32-bit processor is 4,294,967,295 (232 – 1). With a 64-bit CPU larger numbers are supported natively. You’re asking, so what? Well in day to day use this won’t even be apparent. However, if you are crunching large numbers for scientific purposes this could be very useful for the slight speed increase provided. While on the topic of integers, 64-bit can also store more data on the CPU before needing to write to memory. Once again this won’t be apparent in day to day use but if you work with large sets of data it may very well help you.
Software is critical when it comes to 64-bit. The operating system is in charge of implementing most 64-bit features. There are once again three reasons why 64-bit should be considered from the software perspective.
The first that was mentioned in the hardware section is the expanded address space beyond 4GB. Windows 7 Home Premium supports up to 16GB of memory providing you have the 64-bit version. This is more than enough for any user whether they be video editing, gaming, or just browsing the web. Just for fun I’m going to note that Home Basic (for Emerging Markets) supports 8GB, Professional, Enterprise, and Ultimate support 192GB.
The second reason may not seem overly obvious but it’s something that you don’t get to do very often with computers: future-proofing. 64-bit can future-proof your computer by preventing an OS upgrade to 64-bit later on if a piece of software that’s important to your daily use comes out with a 64-bit version. As mentioned before with Photoshop CS4 those who had a 64-bit version of Vista were able to take advantage of the enhanced version of Photoshop without an upgrade.
The third factor, security, which can be viewed as most important and in some cases the deciding factor. Before we get into the deciding security factor there is a security feature that is enhanced by 64-bit capable CPU. Data Execution Protection (DEP) prevents an application from executing code in a memory segment that is marked as non-executable. This can prevent attempts to modify the operating system by a rogue application that you’ve downloaded and installed. Finally Windows 7 also carries on Windows Vista’s 64-bit driver model which stipulated that all drivers must be signed by Microsoft. This delivers security since any random person can’t create a driver. Drivers are low level pieces of software that connect hardware to the operating system. With low level software a great deal of damage could be done with malicious intent. The caveat of course is that with older hardware you may not be able to get drivers for it.
At the end of the day 64-bit is nice but not absolutely required. If you are a gamer and plan on getting a video card with a large amount of memory and 3GB+ of RAM there’s no question that should go with 64-bit. If you have no need for a greater amount of memory 32-bit is probably fine. If you’ve been using a 64-bit version of Vista on a bought computer, Windows 7 64-bit will work just fine. If you are still unsure there’s a free application from GRC called SecurAble. Securable tells you if your CPU supports 64-bit, DEP, and Hardware Virtualisation.
Words of Wisdom: If you need greater than 4GB go 64, if legacy (hardware) is your game go 32.