Big Questions: The 64-bit Windows FAQ

Nathan Taylor | Sep 26, 2008 4:34 PM
You've been raising some big questions in the forums about 64-bit. Here's our FAQ to 64-bit Vista vs XP, and whether it's worth the hassle if you're not a workstation user, but a gamer or power user.
Which is better: 64-bit Vista or 64-bit XP?
In terms of hardware support there is no question: support for 64-bit Vista far outstrips 64-bit XP. We’re not going to argue aesthetics or interface here, but if you want to be sure of running new hardware on your 64-bit system, Vista is really your only choice. Fewer and fewer vendors are going to release drivers for 64-bit XP, and many didn’t even bother in the first place. 64-bit Vista support, however, while still lagging behind 32-bit, is gradually making its way towards universal.

What desktop PC software is available for 64-bit?
Programs compiled to run in native 64-bit are few and far between. Most are either open source (like Firefox) or professional products (like Adobe’s high-end image and layout tools).

Quite a few utilities have made the jump as well, including SlySoft’s CloneDVD, VMWare and several other popular applications.
Consumer applications, however, including most office suites, productivity applications and games are typically compiled for the lowest-common-denominator: 32-bit (though some, like Crysis, come in multiple versions).

As we’ve mentioned, most of these will work just fine on 64-bit Windows.
If you’re specifically looking for native 64-bit programs, we can recommend these sites, which contain list of compatible programs:
http://www.vistax64.com/software/
http://www.64xsoft.com/
http://www.start64.com/

Can I upgrade my 32-bit Windows to 64-bit?
Nope. The Microsoft installers don’t support that kind of upgrade. You have to back up your files, format your had disk and do a clean install if you want to move to 64-bit Windows.

What does “64-bit” mean, anyway?
You’d think this would be an easy question to answer, but it’s not, because the term is a little amorphous. In the context in which we’re talking, however, it means that the processor can operate on integers of up to 64-bits in size (a 32-bit processor can only operate on 32-bit numbers) and it also means that memory can be accessed using 64-bit addresses (and because you have more addresses, you can have more memory).

It was actually AMD that introduced 64-bit processing to consumer x86 devices when it released the Athlon 64. The Athlon 64 fully supported previous 32-bit programs, but added extra 64-bit capabilities, which AMD called x86-64. These included:

- added 64-bit integer instructions
- expanded the general purpose register count from 8 to 16 (the extra 8 are only accessible in 64-bit mode). Registers are used to hold “current” bits of data for extremely fast processor access. It’s from these additional registers that x86-64 gets its general performance boost.
- expanded the SIMD (XXM/SSE) register count from 8 to 16
- expanded the memory address space from 4GB to (theoretically) 16 exabytes – though current AMD processors “only” support 256TB (that’s 256,000GB).
- The addition of a “No-execute” bit, which prevents common buffer overrun attacks.

Later, Intel joined in the fun, effectively cloning the AMD x86-64 instructions – though it called its implementation EM64T, which it installed in selected Pentium 4-based processors. Now all of Intel’s Core 2 processors support EM64T. Likewise, all current AMD processors support x86-64.

We should make a quick note on the nomenclature here as well. AMD no longer calls its implementation x86-64: it’s officially known as AMD64. Intel has done something similar, abandoning the term EM64T and is now using Intel 64. Most people still use the term x86-64 or simply x64 to refer to the extensions.

Can 64-bit Windows run all of my existing programs?
Probably. Every 64-bit version of Windows has what is called the Windows on Windows 64-bit emulation layer, a.k.a. WOW64. This creates an environment in which 32-bit Windows programs can run without modification on 64-bit Windows systems.

The upshot is that nearly all existing 32-bit programs will run perfectly on 64-bit Windows, though they won’t be able to take advantage of some of the performance benefits of 64-bit Windows. They will still run as fast as they ever did.

There are some exceptions. Old 16-bit programs won’t run on Windows 64-bit (though you could use an emulator like VMware). Software that interfaces directly with the kernel also won’t run unless it’s 64-bit – so drivers, for example, need to be 64-bit. Some other programs, for reasons that are usually deeply buried in their code, may also not work.

Security software, in particular, can be a mixed bag. The most recent versions of the major suites (including Norton/Symantec products, as well as Zone Alarm, Trend Micro and McAfee), are nearly all compatible with 64-bit Windows, however.

If you’re worried about your favourite software and whether it will run on 64-bit Windows, check the vendors site, or visit Microsoft’s excellent compatibility database (remember to check on the 64-bit system type in the bottom left).

What versions of Windows are 64-bit?
All versions of Windows Vista, from Home to Ultimate, come in either 64 or 32-bit flavours (with the exception of Starter, which is not normally available in Australia, anyway). Typically, the 32-bit and 64-bit versions are sold separately, and the 64-bit versions can be a little hard to track down.

With Windows XP, it’s a little trickier. Windows XP 64-bit edition is actually for IA-64 Itanium processors and won’t work on regular AMD or Intel Core processors. For that you need Windows XP Professional x64 Edition.

Even back when Windows XP was still being sold at retail, x64 Edition was hard to find – and 64-bit drivers for it a nigh-impossible to get, since most hardware vendors did not care enough to create them.

Do I need to use 64-bit Windows on a 64-bit processor?
No. x86-64 processors (including all new PC processors) are backwards compatible with 32-bit programs – including 32-bit Windows. You can run 32-bit versions of Windows on these processors just fine. In effect, they just turn into regular 32-bit processors – which means you miss out on some of the advantages of the 64-bit capabilities but also don’t suffer some of the pitfalls of 64-bit Windows.

What advantages does 64-bit Windows have?
The big advantage of 64-bit Windows is the memory capacity of your PC is increased. You need 64-bit Windows to “activate” the 64-bit extensions found in x86-64, and one of those extensions is the increased memory address space.

32-bit Windows is limited to just 4GB – any memory in your system above 4GB is wasted. Meanwhile, the 64-bit version of Vista Home Basic supports 8GB, Home Premium supports 16GB, and all other versions support 128GB and up.

64-bit Windows also has a few performance and security advantages. It and other 64-bit programs can use the extra registers in x86-64, and it can also better protect memory and the system kernel from malicious attacks.

What disadvantages does it have?
Installing 64-bit Windows is not without its problems, and most of those relate to “legacy” software. Some of these include:

- It can’t run 16-bit programs and software (such as old DOS and Windows 3.1 programs)
- Some 32-bit programs won’t work, often because of bits of legacy 16-bit code in the installer or the program itself.
- Kernel-mode software has to be 64-bit. Most notably, hardware drivers have to be 64-bit (and they also have to be digitally signed), so you have to be sure that there are 64-bit drivers available for all the hardware you want to use with the system. Similarly, some security software which accesses the kernel directly will also need to be 64-bit.


Is driver support up to scratch with 64-bit Vista?
That largely depends on the kind of hardware you use. If you’re using common hardware with nothing too exotic, you’re probably in pretty good shape. Nvidia and AMD/ATI keep their 64-bit graphics drivers on schedule with their 32-bit drivers, for example.

Intel is, of course, maintaining 64-bit drivers for everything. Realtek, used by so many motherboard manufacturers for audio, also maintains compatible 32-bit and 64-bit sound drivers (though your motherboard supplier may not be passing those on in their official motherboard driver packs). Likewise, Silicon Image, commonly used in RAID products also keeps its 64-bit drivers up to date.

Products that are less core can be a mixed bag, although driver support across the board has improved dramatically in recent months. There are 64-bit drivers for most common printers, cameras, TV tuners (including all the major suppliers, like Leadtek, Hauppauge and DViCO), input devices as well as professional sound cards and RAID controllers. Microsoft’s compatibility database keeps tracks of many of them.

All in all, after a scratchy start, it’s not at all difficult to find 64-bit drivers now. They may not come with the device, but you can usually find them online. Of course, it’s still a good idea to check before you buy, especially if you have older hardware that the vendor no longer sells (and is therefore unlikely to update the drivers for).

Is 64-bit faster?
Yes and no. It does support more memory, so technically you can build a faster system using 64-bit Windows, which is something.

In addition, actual compiled 64-bit programs (of which there are few right now, since most people still run 32-bit Windows) will also be able to take advantage of the extra registers and the larger integer support of x86-64 and get a performance boost from that, perhaps as much a 10 or 20%. So yes, 64-bit programs running on a 64-bit OS actually do run faster.

But for the programs that you’re currently using, including pretty much all released PC games, it’s not going to make a noticeable difference. Being 32-bit programs, they can’t access the advantages of x86-64 and so will only run pretty much the same as they would under 32-bit Windows.

If you want to see some benchmarks on the subject, then we’d suggest hopping over to ExtremeTech, which has performed a decent comparison of 32 and 64-bit Windows. The upshot: there’s very little difference when running 32-bit applications and games.

What’s the difference between IA-64 and x86-64?
One source of confusion, especially when looking at 64-bit versions of Windows XP, is the difference between x86-64 (a.k.a. x64) and IA-64. There are 64-bit versions of Windows for both platforms, and you need to get the one that’s right for your processor. Unless you have an Itanium processor, that means x64. The IA-64 architecture is exclusive to the Itanium.

Despite the similarity in name, IA64 and x86-64 have very little to do with each other, and are not at all compatible (though they do have a shared legacy).

IA64 was first introduced to the world in 2001 when the first Itanium processor was released. The Itanium possesses a radical new massively parallel architecture, wildly different from the traditional x86 PC processors of yore, and it requires a completely different instruction set to run. Intel called the instruction set IA-64 (Intel Architecture 64) because it was 64-bit.

But Itanium failed to have much of a market impact, however, and AMD capitalised with x86-64. x86-64 was almost completely the same as previous 32-bit x86 processors, and was highly compatible with existing programs – it just added a few 64-bit extensions.

This article appeared in the October, 2008 issue of PC Authority.