Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Oct 22, 2009


Feedback


Yes No

Related Links - Developer Zone

Related Links - Products and Services

A Closer Look at 32-Bit vs. 64-Bit Windows

256 ratings | 3.41 out of 5
Read in | Print

Overview

The release of Windows 7, the latest Microsoft operating system, is an opportunity for engineers and scientists to harness new technologies to solve technical problems. Like the predecessor, Windows Vista, users can select between a version for 32-bit processors and a version for 64-bit processors. Whether porting a system to a new version of Windows, or starting new development on the OS, it is important to understand which version best suits your needs.

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.

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.

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.

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.

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.  

Summary

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.

More Information on Windows 7

Visit ni.com/windows7

Learn more about 64-bit support for NI Products and NI LabVIEW

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.

256 ratings | 3.41 out of 5
Read in | Print

Reader Comments | Submit a comment »

here it is 2010 and we still have this 64bit BS
I say this speaking from experience. My platform for the last 3 years has been: Thinkpad T61 * 4 Gb Ram * Dual core 2.4 ghz My core apps: * Firefox * Photoshop * Dreamweaver * VMWare * Visual Studio .NET 2008 * Komodo IDE * Winamp * Symantec Antivirus/Endpoint Client I went from: 32 bit vista ---> Windows Xp ---> 64 bit vista ----> to ----> 64 bit Windows 7 to FINALLY Settling on Windows 7 32 bit. My lessons learned while working on 64bit (as of 2009): The overhead for the 32bit emulation layer, while it is seamless, is still is a kluge.. Ive had random freezes, sluggishness, forced restarts... but hey ...i got to access all 4 GB of my ram! Why I went back to 32bit on vista * My only drawback is losing approx 500 mb ram (guess what.. i can deal) * General *snappiness* of my pc is phenominal. I feel much more productive * Until there is a BIG.. and i mean HUGE advantage to running 64bit anything (and not just, "supporting" it) 64bit computing is irrelevant. (but wait) * Unless you have some need which requires greater than 4 gb's of ram, dont even worry about 64bit computing 32bit is FINE. I think for the next 10 years (unless we have some dramatic new technology or shift that rquires 64bit computing) we will be at this general stage of computer use. *I am apalled that even now, Flash (as ubiquitous as it is to computing today) has no serious 64 bit support. I rest my case. Viva 32bit computing for the average computer user!
- techcowboy. ewok@fentooza.net - Jan 28, 2010

Missing one crucial point
I think this article misses one crucial concept: A 64-bit Operating System allows for 64-bit memory *addressing*. In the context of Virtual Address spaces, every running application thinks it has the entire 64-bit address space to itself and does not need to know about what addresses other applications are using. It is up to the CPU's hardware to *re-map* Virtual Address spaces to Physical Address spaces, whether they are in physical RAM or on the hard disk's page file. Furthermore it is possible for applications to declare whether the addressed memory is "pageable" or "non- pageable". Performance improvements in 64-bit operating systems and applications are only realized when there is more than 4 GB of physical RAM. Any less and there is *NO* significant benefit since running memory intensive 64-bit applications will simply result in more memory swapping to the page file resulting in the dreaded disk thrashing. It is only within the last few years that PC's capable of installing more than 4 GB of physical RAM became available. When a 64-bit operating system is loaded, the 64-bit processor instructions are available which are capable of accessing the current 128-bit memory bus at double-bandwidth compared to 32-bit memory access so in theory RAM access is faster but other system bandwidth bottlenecks remain, particularly in disk and network data access. Anthony Maw, B.Sc., MCSE, Vancouver, Canada www.anthonymaw.ocm
- Anthony Maw, Anthony Maw. anthony@maw.bc.ca - Dec 30, 2009

Braw!!! It's really worthy,,,It's the perfect article out of many which I googled to read on these,,,bits systems,...
- Dec 20, 2009

really good document for clarification
Actually i have doubt.. 1) I already have a 64 bit vista os but the problem that i am facing is that i am not able to install all the softwares required because most of them are 32 bit compatible.So what should i do? 2)I tried installing 32 bit vista os in my system but a problem has arised that i am not able to change any thing in the registry.What should i do?
- Dec 16, 2009

Very informative
Thanks for this wonderful article which summarizes everything about 32 bit vs 64 bit. It saved me time from reading multiple articles.
- Ashwanth, Avaya. - Nov 17, 2009

64-bit is coming
I agree with all who say, "lets just move forward with 64 bit systems". Just think, soon we will be exploring 128 bit systems and all wireless technologies. This is called progress people. I say make 64-bit the norm!
- klon37@yahoo.com - Nov 8, 2009

This was very informative! helped me make a decision. thank you!!
This was very informative! It helped me make a decision. thank you!!
- aquatone1805@gmail.com - Feb 13, 2009

Move forward
Would you like to go back to DOS? Lets just move forward and stop discussing it. Its time to move to 64-bit
- Jan 8, 2009

Regardless of addressable space...
One must take the utmost care when doing any development on a Vista machine. There are plenty of common tasks that have been obfuscated and some necessary functions that cannot be done. At my company, we have been testing and we can't remove an activeX web control so we can install an updated version. All the researching we have done leads back to Microsoft saying, "Sorry, you can't do that in Vista" XP lets you do it just fine. If you want to make the best possible use of your personal x64 machine without all the frustration on Microsoft's oversights and assumptions, I would look into x64 capable versions of linux.
- Jan 8, 2009

Props for Vista-64
I've recently installed a new Intel quad core with Vista 64 and am very impressed both with the stability and performance. Everything on this machines run smoother than any previous version of Windows (and I've used every version since 1.0 back in 1987 on a Zenith 8086!) My key applications (Adobe Photoshop and Lightroom) are out in 64-bit versions and the performance is breathtaking. 64-bit computing has arrived!
- Nov 10, 2008

32-bit is becoming history
Took a little while, but as of today, 64-bit seems to be the main focus of PC builders as well as the preferred choice of desktop buyers. New HP’s are mostly 64-bit as well a NewEgg’s Top Sellers (as of this writing). http://news.cnet.com/8301-13924_3- 10076795-64.html?tag=mncol http://www.newegg.com/Product/Product List.aspx? Submit=ENE&N=2032280010% 204802&name=Top%20Sellers
- Ericson Mar, The Cooper Union. mar@cooper.edu - Nov 2, 2008

brilliant
clarified loads of stuff about 32vs64bit in one article.
- Oct 6, 2008

Now I'm found
Thank you for the article. It written in such a way that I feel like I have a good understanding of 32-bit and. 64-bit processors. That was something that boggled me; but no more!
- Enlightened, N/A. running_the_dream@yahoo.com - Sep 20, 2008

Intel G33 chipset
Gateway makes a model with Vista X64 that uses the Intel G33 chipset. Will that be able to use the 4GB of memory installed?
- Sep 16, 2008

A very well-written and informative article - thanks!
- Sep 11, 2008

A good synopsis that supplied every thing I needed to know.
Thank you for the article, Set at the right technical level for my requirements and gave me all the info I required In one go (a rare thing these days). Ta, Mick.
- mick_obrien685@hotmail.com - Aug 5, 2008

All Core 2 Duos and Quads support 64 but
64 bit processors have been out for a while now, most pentium 4 processors support 64 bit (my 3 year old 630 did). All the core 2 duos and quads support it.
- Jul 19, 2008

Memory Limits
Quoted from Microsoft's website: For Windows Vista to use all 4 GB of memory on a computer that has 4 GB of memory installed, the computer must meet the following requirements: The chipset must support at least 8 GB of address space. Chipsets that have this capability include the following: • Intel 975X • Intel P965 • Intel 955X on Socket 775 • Chipsets that support AMD processors that use socket F, socket 940, socket 939, or socket AM2. These chipsets include any AMD socket and CPU combination in which the memory controller resides in the CPU. • The CPU must support the x64 instruction set. The AMD64 CPU and the Intel EM64T CPU support this instruction set. • The BIOS must support the memory remapping feature. The memory remapping feature allows for the segment of system memory that was previously overwritten by the Peripheral Component Interconnect (PCI) configuration space to be remapped above the 4 GB address line. This feature must be enabled in the BIOS configuration utility on the computer. View your computer product documentation for instructions that explain how to enable this feature. Many consumer-oriented computers may not support the memory remapping feature. No standard terminology is used in documentation or in BIOS configuration utilities for this feature. Therefore, you may have to read the descriptions of the various BIOS configuration settings that are available to determine whether any of the settings enable the memory remapping feature. • An x64 (64-bit) version of Windows Vista must be used.
- Jul 15, 2008

Can 32 bit applications use 64 bit custom written drivers?
I would like to know whether on 64 bit Vista: 32 bit applications can use 64 bit custom drivers. Or will the application need to be 64 bit to use the 64 bit driver. I could notfind much about this issue on the internet.
- Jul 1, 2008

A very good document. Now I understand!
- Carl - Jun 23, 2008

Which Processors support Vista x64?
Which processor families support Vista x64? My AMD 64 x2 loaded the 32 bit version and the install wizard never mentioned a 64 bit option. I have ordered an Intel Q6600 and don't know if I can or should make the x64 jump on that system.
- May 18, 2008

Excellent
I like the article.
- Apr 29, 2008

So, if you are using a 32-bit operating system on an x64 processor, you are not fully utilizing it. 64-bit long mode has several advantages: it allows the processor to break the 4gb memory barrier and also 64-bit long mode enables twice the number of general purpose registers than in 32-bit mode… which explains why it is faster than a 32- bit processor/mode. 64 bit is the future! BTW: the 64-bit version of Windows Vista operating system is for about 10.9 percent faster than 32-bit Vista, according to the GeekBench benchmark for 32-bit and 64-bit Windows platforms.
- Dec 16, 2007

Good clear explanation of 32 Bit vs 64 Bit fundamentals
Traditionally larger width cpu's means more powerful instructions and more addressable memory. 64 Bit Vista from my viewpoint is really about eliminating memory thrashing. 32 Bit only gets you roughly 3325MB of usable memory out of 4 GB which quickly puts you into paging when running multiple or large apps.
- Jerry Mills, Ideal Computer Services. jerrym@icsgroup.com - Dec 14, 2007

Very helpful article
Great article. Really clarified what components / software need to be compatible to upgrade to x64. Interested that 32 bit can reference 4 GB of RAM. My brand new 32 bit system can only reference 3 GB (1 GB is completely unused). Any suggestions?
- Dec 12, 2007

Damn that was a full breakdown and I'm still confused. Ok already I'll stick with 32- bit Vista. I only wish I understood all that info.
- Nov 26, 2007

this article is poor written. x64bit version is faster than x32, because it uses 64-bit instructions and 64-bit registers.
- Oct 15, 2007

Best Vista 64 bit Article
So far this is the best and most professional/complete article I have read on the internet comparing Vista 32 bit and 64 bit providing valuable information regarding pros/cons for each. Thanks for the info.
- Amar - Aug 22, 2007

Vista 32 OS with a 64-bit CPU onboard
There are a bunch of off the shelf machines now with 64-bit CPUs , but all I have seen run , mostly, with 32-bit Vista (speaking of the newest stuff), is the 64-bit processor buying you anything?
- May 18, 2007

good article
good article for anybody who has doubts regarding the Vista 64 bit os ...provides adequate info ...but would be great if also includes how the mem addressing works in 64 bit o/s in detail
- Mar 21, 2007

Only memory addressability
The article gives MS VISTA perspective from memory addressability only; it would have been better to widen the scope to include Data Bus size, System Bus speed, memory speed too. One can argue that this all pertains to system architecture but then system architecture along with VISTA decide the overall speed of the PC system.
- Vinay Gupta, MTE Meter Test Equipment AG. viney1@vsnl.com - Feb 1, 2007

Dear Sir, The 64 bit processor and 32 bit processor refers to data bus width. This article refers that as address bus width. Is my opinion right? A.G.Kumar
- A.G.Kumar, R.Stahl private limited. kumar@rstahl.net - Jan 30, 2007

very helpful survey of Vista
- barnaade@luther.edu - Jan 30, 2007

 

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).