A Closer Look at Windows Vista, Part III: 32-Bit vs. 64-Bit Windows
231 ratings | 3.29 out of 5

Figure 1. The paging table moves segments of virtual memory into physical memory as needed to provide more memory to running processes.
Overview
The release of Windows Vista, the latest Microsoft operating system, is an opportunity for engineers and scientists to harness new technologies and features to solve technical problems. Unlike previous versions of Windows, there are two widely available versions of the new Windows operating system: Windows Vista for 32-bit processors and Windows Vista x64 Edition for 64-bit processors. Whether porting a system to Windows Vista or starting new development on the OS, it is important to understand which version best suits your needs.
Table of Contents
1. What Are the Differences between 64-Bit and 32-Bit Processors?
2. Misconceptions about Windows Vista x64 Edition
3. Hardware Requirements for the Different Versions of Windows Vista
4. Potential Benefits of Windows Vista x64 Edition
5. Potential Drawbacks to Windows Vista x64 Edition
6. Evaluating an Engineering System on Windows Vista
7. Summary
8. More Information on Windows Vista
What Are the Differences between 64-Bit and 32-Bit Processors?
To understand why 64-bit operating systems are a logical step in the evolution of the PC, consider this background information. Often the maximum size of the physical memory on a computer is less than the amount needed for all running programs. This is especially true when multiple processes or applications execute simultaneously. The solution for this is that programs store some of their data on the hard drive and copy it back and forth to physical memory as needed.
This solution is often referred to as “virtual memory,” in which the computer simulates having large amounts of contiguous physical memory. A paging table is responsible for moving segments of virtual memory into physical memory as necessary. If the amount of memory demanded by all running processes exceeds the available physical memory (RAM), the paging table stores low-priority processes on the hard drive in the page file, which is much slower than RAM. When the user needs these processes, the page table remaps them into physical memory, where the user can access them at high speeds (see Figure 1). The total number of addresses available in the virtual memory – the total amount of data the computer can keep in its working area for applications – is determined by the width of the registers on the computer processor.
Until recently, almost all consumer PCs used 32-bit processors. The bit size of a processor refers to the size of the address space it can reference. A 32-bit processor can reference 2^32 bytes, or 4 GB of memory. These 32-bit processors were standard at a time when 4 GB was thought to be more than enough memory space for software applications on Windows. When a process, such as running a program, is created on an x86 Windows computer with a 32-bit processor, the operating system allocates its 4 GB of virtual memory, irrespective of the actual physical memory installed on a system. Half of that allocated memory is user-accessible memory, while the other half is for kernel processes such as drivers. Modern computing systems increasingly confront the 4 GB ceiling thanks to memory-intensive applications and the need to store multiple processes in memory simultaneously.
In 2003, AMD released the first widely accepted 64-bit processor aimed at consumers, the Athlon 64, and coined AMD64 as the name for the new instruction set. Microsoft refers to the instruction set as x64, which parallels the widely accepted x86 nomenclature used for the instructions that run on most 32-bit processors. Per preferred Microsoft naming conventions, Windows Vista x64 Edition refers to the 64-bit version of Windows Vista in this article.
Processors capable of referencing larger address spaces provide the opportunity to use more physical memory than ever before, potentially reducing the overhead spent moving processes in and out of physical memory. The 64-bit processors are theoretically capable of referencing 2^64 locations in memory, or 16 exabytes, which is more than 4 billion times the number of memory locations 32-bit processors can reference. However, all 64-bit versions of Microsoft operating systems currently impose a 16 TB limit on address space and allow no more than 128 GB of physical memory due to the impracticality of having 16 TB of RAM. Processes created on Windows Vista x64 Edition are allotted 8 TB in virtual memory for user processes and 8 TB for kernel processes to create a virtual memory of 16 TB.
To summarize, the ability of Windows Vista x64 Edition to add address more memory space than previous versions of Windows helps minimize the time spent swapping processes in and out of memory by storing more of them in RAM.