1. 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. More often than not, 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 re-maps 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.
Figure 1. The paging table moves segments of virtual memory into physical memory as needed to provide more memory to running processes.
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.
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 64-bit versions of Windows 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 and Windows 7 x64 Editions 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.
2. Evaluating an Engineering System on Windows 7
Windows 7 represents the first viable upgrade from Windows XP for PC users in many ways, especially considering that Vista was largely overlooked due to various problems with compatibility and performance. For engineering and scientific applications, the combination of Windows 7 (64-bit) and the latest version of LabVIEW and NI Device Drivers make it possible to tap into the potential of 64-bit hardware thanks to native support.
Not every application stands to benefit from the x64 architecture, and it will take time for 64-bit editions of Windows to gain widespread adoption, but the following types of applications are most likely to see performance benefits on Windows 7 x64 Edition, provided that both 64-bit application software and drivers are available:
- Applications that require mathematical precision and floating-point performance
- Applications that involve large, high-performance databases
- Vision acquisition and analysis applications with large amounts of data moving directly into memory at rapid rates
For more information on the availability of NI products with native support for 64-bit operating systems, please visit Announcing 64-bit Support for LabVIEW.
3. Performance and Virtualization
64-bit versions of operating systems such as Windows Vista and Windows 7 are not automatically faster than their 32-bit counterparts. In some cases, they may even perform slower because of the larger pointers as well unrelated OS overhead. Overall, an application’s performance depends on what it is used for and how it is implemented. Emulated applications running within the Windows on Windows (WOW) 64 layer (discussed in more detail later in this article) will not be able to address any more memory than they could on a 32-bit system.
Most 32-bit software will still function because of a Microsoft emulation layer. This emulation layer, known as Windows on Windows 64 or WoW64, enables 32-bit programs to run as though on a 32-bit version of Windows by translating instructions passing in and out of 32-bit applications into 64-bit instructions. Emulated programs act as though they are running on an x86 computer and operate within the 2 GB of virtual memory that a 32-bit version of Windows allocates to every process. However, despite Wow64, 32-bit programs on 64-bit versions of Windows Vista and Windows 7 cannot take advantage of the larger 64-bit address spaces or wider 64-bit registers on 64-bit processors.
4. Potential Benefits of 64-bit
The transition to the 64-bit architecture is overwhelmingly driven by the limitations of the x86 architecture in terms of addressing memory. Applications running on a 64-bit edition of Windows should theoretically experience improved performance because of the larger quantity of available memory, even if the application is running within the WoW64 layer. Much like the advantage offered by increasing physical memory in a 32-bit system, the larger memory space on 64-bit versions of Windows Vista and Windows 7 allows more processes to actively reside in the system RAM simultaneously. It allows allows users to add additional RAM beyond the previous 4 GB limit, up to the amount supported by the mainboard.
This change potentially eliminates or reduces time spent loading and switching between processes, a condition that can lead to “thrashing” when all the processor’s efforts are spent merely loading and switching between threads. To reap the benefits of a 64-bit operating system such as Windows Vista x64 Edition, you should invest in a large amount of RAM (4 GB or more) and a compatible motherboard.
For 64-bit version of Windows, Microsoft also requires a digital signature on all drivers. By requiring new, signed drivers, Microsoft aims to reduce failures and improve stability by shining a spotlight on vendor responsibility for bugs. With 32-bit version of Windows, administrators can install unsigned drivers, but Microsoft continues to discourage their use. All non-legacy National Instruments drivers are digitally signed and available for both the 32-bit and 64-bit editions of Windows.
5. Potential Drawbacks to Windows x64 Edition
Windows XP was available only as a 32-bit operating system for 32-bit processors until 2005, when Microsoft released a 64-bit edition. This version of Windows XP did not see widespread adoption due to a lack of available software and hardware drivers. Vendors were hesitant to invest in a platform that seemed more novel than practical for consumers at the time, which led to compatibility issues with common devices such as sound and graphics cards. Developers interested in using 64-bit operating systems found the migration path to Vista much smoother due to the WOW emulation layer, which allowed older applications to run. However, most did not see performance increases due to a lack of applications with native support for 64-bit processors.
Given the increasing number of 64-bit processors, Windows 7 x64 Edition is unlikely to suffer the same lack of support. A potential drawback stems from the possibility that some hardware vendors may not release Windows Vista/7 x64 Edition-compatible versions of drivers quickly.
Windows 7 x64 Edition represents the first mainstream 64-bit operating system from Microsoft in terms of general availability and support from third-party add-on vendors. Because of this, moving from a 32-bit operating system such as Windows XP to a 64-bit operating system such as Windows 7 x64 Edition merits serious consideration in many cases.
However, the feasibility of successfully making the jump to Windows 7 x64 Edition depends largely on your application and its requirements. For some, Windows 7 x64 Edition offers much needed performance improvement, while for others, it could needlessly complicate applications designed to operate on x86 platforms or even have a negative effect on performance.
7. More Information on Windows 7
LabVIEW, National Instruments, ni, and ni.com are trademarks of National Instruments. Other product and company names listed are trademarks or trade names of their respective companies.