Soft Intro

The Impact of Windows Vista on Test

Test and measurement systems increasingly use the PC platform to create computer-based automated measurement and control applications. Traditional, vendor-defined benchtop instrumentation often cannot offer the flexibility and customization level needed in the marketplace.

The heart of the PC platform is software, including the computer�s operating system. To help remedy some of the shortcomings of today�s PC platform, Microsoft has released Windows Vista, its first new operating system in more than half a decade.

Courtesy of Microsoft

Windows Vista offers many new features and a great deal of functionality. Many potential users are excited about transitioning to Windows Vista because of improvements in security, the user interface, and the networking capabilities, but it is important to be aware of the often-disruptive nature of new PC technology as well. For example, Windows Vista is available in 32-bit and 64-bit versions, the latter designed for the increasing number of computers with one or more 64-b processors.

Although a 64-b Windows operating system is not entirely revolutionary, Windows Vista marks the first time that such an operating system is widely available to the general public. While some applications may benefit from the 64-b version of Windows Vista, known as Windows Vista x64 Edition, the overall impact of 64-b computing within the engineering and scientific community is not widely understood.

Differences Between 64-Bit and 32-Bit Processors
Since the first transistor was created half a century ago, the engineering community has sought out faster and more powerful processors. Advances in processor designs have made difficult tasks seem relatively routine, facilitating the development of engineering or scientific applications once thought to be impossible. The evolution of the modern computer is partly a tale of several major processor transitions, including 8-b to 16-b, 16-b to 32-b, and most recently 32-b to 64-b processors.

To understand why 64-b processors and 64-b 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. To accommodate this situation, programs store some of their data on the hard drive and copy it back and forth to physical memory as needed.

This solution often is referred to as virtual memory, in which the computer simulates having large amounts of contiguous physical memory. With virtual 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 RAM, the paging table stores low-priority processes on the hard drive in a page file, which is much slower than RAM.

When you need these processes, the page table remaps them into physical memory where you can access them at high speeds. 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-b processors. The bit size of a processor refers to the size of the address space it can reference. A 32-b processor can reference 232 bytes or 4 GB of memory.

These 32-b processors were standard at a time when 4 GB was thought to be more than enough memory space for software applications on Windows. When you create a process, such as running a program, on an x86 Windows computer with a 32-b 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 while the other half is for kernel processes such as drivers. Modern computing systems increasingly exceed the 4-GB ceiling thanks to memory-intensive applications and the need to store multiple processes in memory simultaneously.

In 2003, AMD released the Athlon 64, the first widely accepted 64-b processor aimed at consumers, 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-b processors. For the sake of clarity, x64 refers to the 64-b 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-b processors are theoretically capable of referencing 264 locations in memory, or 16 exabytes, which is more than 4 billion times the number of memory locations accessible by 32-b processors. However, all 64-b 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.

Windows Vista x64 Edition allocates 8 TB of virtual memory for user processes and 8 TB for kernel processes to create a virtual memory of 16 TB. The capability of x64 to add address space helps minimize the amount of time spent swapping processes in and out of memory by storing more of them in RAM.

Misconceptions
The 64-b operating systems are not automatically faster than 32-b operating systems. In some cases, they even may perform slower because of the larger pointers as well as unrelated overhead.

Overall, an application�s performance depends on how you use it and implement it. Emulated applications running within the Windows on Windows 64 (Wow64) layer are not able to address any more memory than they could on a 32-b system.

WoW64 enables 32-b programs to run the same as they would on a 32-b version of Windows by translating instructions passing in and out of 32-b applications into 64-b 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-b version of Windows allocates to every process. However, despite WoW64, 32-b programs on x64 cannot take advantage of the larger 64-b address spaces or wider 64-b registers on 64-b processors.

Another common misconception about Windows Vista centers on the architecture of the processor and the number of available cores. Contrary to what you may have heard, you do not need a specific version if you have a dual-core machine. Every version of Windows Vista runs on single- and dual-core processors without the need for special settings or configurations.

Hardware Requirements
Windows Vista requires significantly more processing power than previous versions of Microsoft Windows. The enhanced user interface promises to be one of the biggest consumer attractions to the new operating system, but it places considerably greater demands on a system�s processor, graphics card, and memory.

Both editions of Windows Vista share these performance requirements and offer compatible modes for use on slower systems; however, to install x64, you must have a 64-b processor. Conversely, the x86 edition of Windows Vista can run on a 64-b as well as a 32-b processor.

Some motherboards that work with 64-b processors retain the limitations of 32-b systems, so to exploit the advantages offered by the newer architecture, it is important to ensure the motherboard has a wide enough address bus. Motherboards with wider address and data buses still impose artificial limitations on the amount of memory. The x64 allows up to 128 GB of memory, far more than most current motherboards permit, but it is important to consider the expandability of applications built using the new architecture as the technology improves.

Potential Benefits
The transition to the 64-b architecture is overwhelmingly driven by the limitations of the x86 architecture in terms of memory addressing. Applications running on x64 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-b system, the larger memory space on x64 allows more processes to actively reside in the system RAM simultaneously. 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-b operating system, you should invest in at least 4 GB of RAM and a compatible motherboard.

Microsoft also requires a digital signature on drivers for x64. These new, signed drivers should reduce failures and improve stability by shining a spotlight on vendor responsibility for bugs.

With the 32-b version of Windows Vista, administrators can install unsigned drivers, but Microsoft continues to discourage their use. All nonlegacy National Instruments drivers will be digitally signed and available for both the 32-b and 64-b editions of Windows Vista.

Potential Drawbacks
Windows XP was available only as a 32-b operating system for 32-b processors until 2005 when Microsoft released a 64-b 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.

Given the increasing number of 64-b processors, x64 is unlikely to suffer the same lack of support. However, it will take some time for vendors to release 64-b software and hardware drivers.

A potential drawback stems from the possibility that some hardware vendors may not release x64-compatible versions of drivers quickly or they may not offer signed drivers.

To work with x64, you must invest in large quantities of RAM. The overhead associated with Windows Vista is larger than that of prior operating systems such as Windows XP so slower systems are likely to see performance decreases.

Test and Measurement Systems
Windows Vista represents an upgrade from Windows XP for consumer PC users in many ways, and the 64-b edition in particular is drawing a lot of attention. The 64-b processors have enormous potential that modern PCs are not fully exploiting, which means there is significant room for growth during the next few years. However, x64 was not designed explicitly for test applications, and not all scientific and engineering applications will immediately benefit from migrating to a Windows Vista x64 Edition PC.

Four types of applications could see performance benefits on x64, provided that both 64-b application software and drivers are available:

� Applications for creating digital content in computer-aided design and digital video editing.
� 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.

If your application does not fall into one of these categories, you should reconsider using x64. Not every application stands to benefit from the x64 architecture, and it will take time for it to gain widespread adoption.

If you still are interested in migrating an existing test or measurement application to x64 or perhaps developing a new system based on this operating system, there are a few considerations to keep in mind:

� Not all software installers work correctly on x64 because of changes to the directory structures.
� Applications face new restrictions because of the new Windows Security Model known as User Account Control. Software vendors will likely need to provide updates to conform to Microsoft-recommended guidelines.
� The 64-b version requires digitally signed 64-b hardware drivers that may not be available immediately for every hardware component of your current or planned system.
� External code may be an issue when considering the 64-b version of Windows Vista. If your application currently loads and calls a 32-b DLL, you will need a 64-b replacement before you can successfully migrate.
� Testing is the best way to ensure a successful transition to x64 from your current operating system. Many companies are developing pilot programs with specific guidelines for evaluating both the 32-b and 64-b versions of Windows Vista.

Summary
Windows Vista x64 Edition represents the first mainstream 64-b operating system from Microsoft in terms of general availability and support from third-party add-on vendors. Because of this new option, moving from a 32-b operating system such as Windows XP to a 64-b operating system such as x64 merits consideration in some situations.

However, most test and measurement applications will not benefit from making the jump to x64, with some exceptions that depend on the specifics of the application and its requirements. In these instances, x64 offers much needed performance improvement; for most, it probably would needlessly complicate applications designed to operate on x86 platforms or even have a negative effect on performance.

Test and measurement systems based on the PC platform still stand to benefit from the security and stability improvements Microsoft provides in the 32-b version of Windows Vista. While 64-b computing is likely to be common in the future, the 32-b version of Windows Vista is sufficient for the vast majority of application needs today.

About the Author
Elijah Kerry is an applications engineer at National Instruments. He holds a B.S. in computer engineering from the University of Missouri, Columbia. National Instruments, 11500 N. Mopac Expwy., Austin, TX 78727, 512-683-0100 , e-mail: [email protected]

March 2007

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!