Windows 7: 64-bit to go prime time
Windows 7 64-bit will soon take over desktop computers.
(Credit: Dong Ngo/CNET)Consumers have had the option of 64-bit Windows computing since the release of Windows XP Professional x64 Edition in May 2005, four years after the release of Windows XP 32-bit. At the end of 2006, Windows Vista 32-bit and 64-bit versions were released simultaneously. Yet chances are you're currently using a machine that runs the 32-bit version of Windows.
This is about to change. Windows 64-bit has started to gain a significant foothold in the past two years as more systems ship with 3GB or more of memory. However, with Windows 7, 64-bit computing is likely to become even more common.
What's the difference between 32-bit and 64-bit computing? In a nutshell, the numbers refer to the amount of bits a computer can process in one computation. They also translate into the amount of random access memory (RAM) a computer can address. A 32-bit Windows computer can address a maximum of 4GB of RAM, while a 64-bit Windows machine can address up to 128GB and even more (64-bit applications can address theoretically up to 16 billion gigabytes of memory). So the higher number of bit means better computing, both in terms of precision and capability.
Despite the potential, the transition to the new platform has been slow. This is because of the high price of RAM and the lack of device drivers and 64-bit software applications. (Drivers are a special type of software that make hardware components work with the operating system. Without the sound driver, for example, your computer wouldn't be able to play music.)
Back when Windows Vista was released, 2GB of RAM, which is the recommended amount to make Vista run properly, could easily cost a couple hundred dollars. (This is one of the reasons Vista failed so badly as a new OS release.) There was virtually no 64-bit application then, either, other than a few game demos, and most hardware vendors didn't provide the 64-bit version of the drivers. Apart from this, 32-bit computers have been able to satisfy most of our daily computing needs.
It's been more than four years since then and things have changed a lot. Windows Vista, while it wasn't exactly celebrated, has helped make 64-bit drivers become more readily available. The fact that Windows 7 uses the same driver architecture as Vista will make it the most 64-bit-ready OS when it's officially released come October. On top of that RAM is now about four times more affordable than it used to be back in 2005.
(Currently, if you buy a computer from Dell or HP or any other vendors and choose to have 4GB of RAM or more, the computer will come with Windows Vista 64-bit.)
I just finished testing the 64-bit version of Windows 7 for the review of the OS and can confirm that most of the critical hardware components, including networking, sound, and video, now have 64-bit drivers ready. By the time Windows 7 is officially released, you'll probably have no problem finding 64-bit drivers for most components.
That said, despite the fact there are not yet many 64-bit applications, here are the compelling reasons to move to the 64-bit platform:
Larger memory: As RAM gets cheaper, new computers come with more RAM, and the only way to make this useful is to use a 64-bit version of Windows. It's safe to say all computers equipped with 4GB of RAM or more will be pre-installed with Windows 64-bit. In short, you might just get a Windows 64-bit computer whether you are aware of that. This is probably the main reason for the 64-bit platform to take off.
(RAM, or system memory, is the place where information is being processed. This is not to be confused with hard drive, the place where information is stored. The more RAM a computer has, the faster it can get things done.)
Backward compatibility: Most, if not all, 32-bit software applications (except for drivers) can operate in Windows 64-bit the way they do in Windows 32-bit. In other words, Windows 64-bit can run all what Windows 32-bit runs plus 64-bit applications.
Nvidia is one of many hardware vendors that offer 64-bit drivers for their products.
(Credit: Dong Ngo/CNET)Better experience: Together with the 64-bit Windows, Microsoft enforces the digital signature of the drivers. This means there will be less badly developed device drivers, which are one of the main causes of crashes. Also, 64-bit versions of software, especially games and graphics/multimedia programs, will offer much better overall performance.
However, there are still a couple of reasons to expect some hiccups during this transition. First off, drivers are still issues, as many legacy peripheral devices, such as printers or scanners, will never work with 64-bit Windows. Secondly, 16-bit software applications, those designed for Windows 3.1 or DOS, will not be supported anymore. Lastly, I personally have found out that codecs for many types of compressed video formats, such as MKV or DiVx, for now, are not working well with Windows 64-bit, especially with the Media Center application.
Also, we can't ignore the fact that as a 32-bit application can run on both platforms, developers are now still more enticed to make them than the 64-bit versions.
Nonetheless, together with Windows 7, the 64-bit platform will definitely be taking over desktops and high-performance laptops, leaving the 32-bit primarily for Netbooks and low-power, low-performance applications.
Apple is also moving in the same direction with the upcoming release of Snow Leopard, whose accompanying applications (including Finder, Mail, Safari, iCal, iChat, and so on) will be 64-bit.
If you have been using the 64-bit version of Windows, please share your experience in the comments section below.
Corrected at 2:10 p.m.: This story initially misstated when Windows Vista 32-bit and 64-bit versions were released. It was 2006.
Dong Ngo is a CNET editor who covers networking and network storage, and writes about anything else he finds interesting. You can also listen to his podcast at insidecnetlabs.cnet.com. E-mail Dong. 


The demand for faster computers always catches up to what's on the market.
Great reply.
Great points otherwise, though.
One reason I didn't get 64bit Vista was I saw many people had problems with their iPhone connecting even though it's supposed to work.
i couldn't say no to running 8gb of ram in my system :P
ddr2 is so cheap these days.
To put this into perspective, say you play a game like World of Warcaft. Each of the WoW clients can take up to say 1.5gigs of physical ram. you have web browsers open, a few chat clients, then say iTunes running. On 32 bit windows you'd be squeezing this all into a total of about 3 gigs of max memory, along with the rest of the OS. A bump to 8 gigs of ram (again, this is so cheap now, why wouldn't you?) and each of the applications would have up to 4 gigs of ram to grow to, and easily fitting the OS into ram with plenty left over to buffers and caching.
The myth that you don't need a 64 bit os , even if you're only using 32 bit applications couldn't be further from the truth. Even if you're not using all that ram, the OS will make it to use of the extra ram to make the overall experience snappier from the user experience.
I meant 4 GIGABYTES, not 4 megabytes :)
If you want to spend money on more hardware (RAM) then you will get better performance. However, for many office computers, they are usually only running one application anyway (not all, many), and there are lots of people that are not multitasking demons and they will not benefit from it at all. On top of that, these very machines could have older peripherals that do not have 64 bit drivers available. In the worst case scenario, these same owners could find that some of their peripherals have to be replaced.
The bottom line is, you don't NEED a 64 bit o/s, it's just nice to have.
When you can buy 2 x 2gig sticks of mid-range memory for 40 bucks, everyone can sample the love of more memory. Memory, even after all the years, still tends to be most people's choke point. 64 bit lifts that maximum beyond 3 gigs and makes big memory buys worth it.
x64 nay sayers are full of fluff... or are writting from thier netbooks or iPhones...
Anyone who writes software or plays a video game will switch but then again most of those folks have a clear understanding of the importance of a full bump in addresses.
Anyone who plays HD video will appreciate the 64 bits. They may not understand why but they will appreciate it especially if they try to replay it on a mediocre 32 bit machine.
This is not true for 32 bit applications running on a 32 bit windows. Windows only allows 2GB per process.
If you have a 64 bit Windows, the 32 bit application is allowed to address 4GB of RAM
Just upgraded to WIndows 7 Final x64 (Company is a Microsoft Gold Partner) last week, with no problems. All hardware working, and even running Office 2010 Tech Preview x64.
Everything very nice!
Michael
I had 64bit Vista and it was ok, I'm running all the same stuff on 32-bit 7 and it doesn't seem any slower at all (4GB DDR3 ram - playing games and producing videos)
32 bit applications have been supported on the 64 bit Windows platform since it debuted with 64 bit XP.
Legacy devices simply will not have 64 bit drivers. Good luck running those old SCSI scanners in Snow Kitty or 64bit Windows 7. Good riddance for people in IT like me ... we can finally tell that guy down in the research science lab to BUY A NEW SCANNER ALREADY! :-)
As for 16 bit apps in Windows 7, they too can run on 32 bit Windows XP virtual machine or Windows XP compatibility mode. That will be quite possible. Most new computers are shipping with 4-6 gbytes of RAM maxed out so the overhead is minimal.
If you have multiple processes, *each one* can use up to 2GB.
It's true Windows may impose licensing limits for marketing reasons, i.e. to be able to charge more for the same binary which is packaged differently.
Put another way, consumers will need to use > 2GB with a single process, in order for them to justify 64bit OS.
That is so eloquent..if completely off-base. Consider the fact that a 32-bit operating system is limited to addressing 4GB (or less, depending on other factors) of total RAM (without the funny hacks like PAE which introduce their own problems), then it becomes obvious that anytime you are running a concurrent set of applications that demand more than said 4GB you would be better off with a 64bit OS along with enough RAM to run stuff in.
Saying something "may" happen is not a factual statement. It's completely hypothetical and your critisizing for something they haven't actually done.
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx#physical_memory_limits_windows_vista
See also Mark's Blog "32-bit Client Effective Memory Limits: While 4GB is the licensed limit for 32-bit client SKUs ..."
http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx#physical_memory_limits_win2k
Sorry but you are factually wrong. In the 32-bit world both virtual AND physical memory are limited to 4GB total, of which Windows will map 1GB to 2GB for itself depending on bootstrap switches. While each application "sees" 4GB of flat-virtual space, the total physical RAM still needs to fit within 4GB as well.
Let's imagine the consumer runs 2 applications concurrently, using 2GB each. That means 4GB of physical RAM is needed for applications, plus space for Windows itself (kernel, memory maps, etc.) So lets say a total of 6GB in physical RAM is required. Since the 4GB physical limit is exceeded, the only way to achieve this is in a 32-bit system is by hard swapping, at a huge performance penalty.
On a 64-bit system however you can install 6GB of RAM and everything works smoothly.
Also, the math you do is incorrect: While Windows maps 2GB to the kernel, it is a mapping only, it does not mean it really uses up all this 2GB, it only means that the user-space process cannot use the memory which was mapped to the Kernel directly.
Products like IBM WebSphere, Siebel have been using this feature for years, scaling to many GB of RAM by using multiple processes.
In order to have more than 4GB of physical RAM, PAE has to be used.
However, true PAE *cannot* be enabled on 32-bit XP (or even Vista) because it breaks the 32-bit driver model. 32-bit drivers (which live in kernel space) expect 32-bit memory addresses, not 36-bit ones. At a minimum all the drivers would need to be recompiled.
So on XP or 32-bit Vista, a PAE kernel is only loaded to support DEP, *not* to increase physical memory size beyond 4GB.
IBM WebSphere and Siebel have NOT used "this feature for years" because PAE is a feature of the operating system (plus underlying hardware), not application. WebSphere in particular uses a JVM, which has its own problems past 2GB (fragmentation, garbage collection, etc).
1. The bottom line is, *consumers* should use a 64-bit OS if they want to access 4GB+ RAM.
2. Windows Server Enterprise & Data Center can support more than 4GB because they are NOT consumer operating systems. They can enable PAE and have all the server vendors (HP / IBM / Dell, etc) supply validated drivers for few server hardware devices (as opposed to the gazillion 3rd party drivers on the consumer side).
3. FreeBSD, Linux, etc., can use PAE because all kernel modules can simply be recompiled from source to support PAE. OS X can use PAE because PAE is only used for applications -- OS X kernel itself remains 32-bit with 32-bit drivers (plus they control the drivers for the most part).
4. PAE is slow and inefficient. You're accessing huge amount of data using 32-bit pointers and three-way indirection (because the page table is too small, an extra indirection is needed by PAE to access 4GB+ of RAM). A 64-bit system can in most cases fetch and process data at more than twice the speed of PAE!!
So why you are insisting on using PAE on a 32-bit OS, when you have hardware perfectly capable of doing 64-bit is way beyond me.
This fact has allowed middleware software providers to scale by running several processes and dividing work between them. This is done in Siebel 7.x on Windows. This is also done by Apache webserver, a part of WebSphere and is also done by other middleware SW running multiple JVM processes.
Not sure, but perhaps certain driver issues related to PAE are basically the result of Intel confusing everyone up to think 4GB physical memory is a true limit of x86, not just the way they packaged some earlier CPUs and the need for I/O to access > 4GB of physical memory directly. Otherwise, nobody would need an acronym.
Am I saying 64bit is not useful? Hell no. Server SW can benefit immensely from it.
I am pretty sure Microsoft does not want the extra resources needed to support a "different" OS release, would rather have everyone use 64bit. But as a consumer, I would not be in any hurry to use 64bit at home.
At the office, I already use a 64bit Linux system.
@mbenedict,
I hate to blow your bubble, but x64 mode page table uses 4 stage mapping, while PAE uses 3 stage. Each item takes 8 bytes. In x86 PAE directory table, only 4 items in the first-level table are used. They are even preloaded, so effectively, it only needs to do 2 levels of indirection.
http://forums.nvidia.com/index.php?showforum=33
As for 64-bit compatibility, I think I've only ever had one program that refused to run, and that was an admittedly old 16-bit game. HP also has pretty good driver availability for their business-line notebooks too, so that's made it easier.
The same application compiled by 64 bit and 32 bit.
The 32 bit version is faster than 64 bit version.
Does Windows 7/complier solve the problem ?
The reason you are experiencing 32 bit apps being faster then their 64 bit ports is because these apps were originally written in 32 bit for 32 bit Os's and have so far been poorly ported over to 64bit. All a computer does at the bottom layer of code is play with the bits in the bytes and as more play has been done so far with 32 bit C code/ASM code then the code is simply better at the moment for 32 bit apps. Theoretically if written right a 64bit multi core app could run faster than is 32 bit version if it was coded better but the reality is that there is many tricks that have yet to be ported and tweaked for that to become the norm. So the answer to your question is no the compiler itself if written right will work very well/better for both 32 and 64bit in windows 7 but with 64 bit vs 32bit you will still need to probably do some extra tweaking even with these windows 7 compilers to get 64 bit to be better for the moment anyway.
However, one point that noone seems to have brought up here is that both the OS itself and sometimes runtimes (such as the .NET CLR) have fairly advanced memory management. If you boot XP and see how much memory is used on a machine with 1GB installed, then shut down and install 4GB and repeat, it will use much more memory. Similarly many applications, even designed for 32-bits, will use more memory if more is available, which of course they should do. I for one am not among those who install "RAM savers" that cripple the performance of my system by taking steps to prevent my available hardware resources from actually being used! The ideal system would have 100% CPU utilization whenever some useful work could be done (why doesn't Windows defrag and index my hard drives in lowest-priority processes that only use CPU when nothing else is using it?), but simplistic thinking (I suppose) lead many to think they can somehow have great performance by *not* using their CPU and RAM to their full potential....
So the same app compiled for x64 can run slower on some systems, and if it's constantly putting swapping stuff between RAM and disk it might be slower on *any* system. But a well-designed app should definitiely run faster on x64 with more RAM available.
And by the way, PAE isn't intended to let 32-bit os's run on 64-bit processors...PAE was invented long before the amd_64 extensions were released. Might want to re-read the history of PAE before you continue throwing around that "ignorant" label...just a thought.
From http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx:
"PAE is an Intel-provided memory address extension that enables support of greater than 4 GB of physical memory for most 32-bit (IA-32) Intel Pentium Pro and later platforms."
While it might be uncomfortable for most wannabe techno-pundits..you *do* actually have to branch out beyond wikipedia sometimes.
um, LOL. Yes, people have been running PAE on otherwise x86-64-capable processors for a while..it's true (I never said it couldn't be)..but that's not what PAE was invented for. You seem to be missing the point of the technology. It does not enable a 32-bit OS to be run on a 64-bit cpu. Let me repeat that for you. PAE does not enable a 32-bit OS to be run on a 64-bit cpu. Its sole purpose in life is to allow 32-bit operating systems access more than 4GB of RAM. And as for "I've been working on OS-level technology that supports it for as long as it's existed."...um, wow...I hope you weren't being paid for that work.
No one seems to list performance disadvantages of 64 bit: the computer runs a little slower since suddenly all addresses, ints are 64-bit and the CPU has to shuttle in-out more data from memory for any operation. For most consumers, 32 bit is going to be more than enough.
Having said that, it probably will be much better if Windows 7 exclusively used 64 bits, thereby eliminating the confusing option for buyers, device driver and application writers altogether.
The performance penalty would only be there if accessing 64-bit data with 32-bit registers, causing everything to be fetched twice. This might happen with poor porting of 32-bit code into a 64-bit environment.
Lastly, 64-bit can actually be faster because large integer computations is very fast in 64-bit. From time to time I do some cryptography work and the speed difference can be massive. A colleague of mine decided not to purchase specialized cryptography hardware because modern 64-bit cpus are so fast, it actually exceeded the capabilities of this particular hardware.
I could be wrong, but i thought both processors handled the same number of bits per computation, except that the 64 bit processor could address more RAM.
About the only 64 bit app I use is Adobe Photoshop CS4 Extended. I expect that will change as more software developers code for the 64 bit.
For MKV files I use the 64 bit version of MPC Home Cinema . It is available free from Sourceforge and supports MPEG2, WM9/VC-1, H.264, Xvid, as well. MPC-HC 64 only uses 64 bit codecs so for other formats a 32 bit player is still needed.
IE-8 is also available as a 64 bit version but Flash is not supported on it yet.
- by luke_marsh August 10, 2009 2:58 PM PDT
- That said why release a 32 bit main windows system at all
- Like this Reply to this comment
-
-
- by RMarch August 10, 2009 4:04 PM PDT
- A con? Are you serious. I can't remember the last time I laughed out loud reading Cnet.
- Like this
-
- by Mergatroid Mania August 10, 2009 4:27 PM PDT
- Yawn, I have three computers in my home, and two of them will never be upgraded to 64 bit. Will I go out and spend $100 to $200 on a new o/s for computers that don't need it....uh no.
- Like this
-
- by snodinn August 11, 2009 8:50 AM PDT
- I am commenting more on RMarch's comment about MS getting bashed. Generally I like to give everyone the benefit of the doubt, but MS has pulled some grand blunders over the years. Rushing to get something out before it was close to ready. Charging so much for its OS that people can't afford to upgrade. The list goes on.
- Like this
-
Showing 1 of 5 pages (210 Comments)I can see why for CE or a net book edition of windows but why for the premium editions too.
It sounds like a con. When you consider this year the cost of 4 gigs or more and more that most new systems are DDR3 which has bigger ram modules available and with memory manufactures looking to push their profit margins with larger ram to come like the 32Gig server modules and such then obviously when someone buys a 32bit OS they'll only have to upgrade that OS around the corner which is an added cost and more money for Microsoft like I said 32bit these days sounds like a con.
Both versions cost the same. If you buy the retail package of Windows 7 it comes with both the 32 and 64 bit versions and you are licensed to use either (although you can't upgrade / downgrade between them without doing a clean install). You clearly have no idea what you are talking about.
Funny how MS gets bashed no matter what they do by some. In this case, they offer the corporate / consumer the choice, with no difference in cost and a license for both, and somehow you spin this into greedy MS?
MS continues to offer the 32 bit version exactly for thier corporate base you losely refer to above. Moving to 64 bit will take a much heavier toll on large corporates with custom apps and a stable of old but reliable hardware that will not be officially supported in a 64 bit OS. Offering only the 64 bit version (even now in 2009) would only be a futher barrier to adoption.
Of course, if you would like to hand over the bucks to upgrade those computers so I don't have to pay for it then fine, I'll upgrade them if you insist.
For my own personal computer, I will consider 64 bit when games or applications I use come out in a truly "programmed for 64 bit" version. Other than that, no I will not be spending money on upgrading to 64 bit.
Same goes for the three systems we have at work. No point spending money upgrading them if they are adequate for the tasks they perform and none of the apps they run are available in 64 bit anyway.
Now, if I was buying a new computer that came with an o/s, or a friend was buying a new computer, then I would recommend getting one with a 64 bit o/s. Since that is your point, I would have to agree however I don't see it as a "scam". It's just a matter of the new systems with 32 bit o/s working their way out of the supply chain. Of course, since I tend to build the systems for my friends and relatives it would be their choice. If price was the same, I would still recommend 64 bits.
I actually teach my students, if at all possible, to use other software from MS products, i.e. Open Office, Safari, Mozilla, etc. I know that the evil hackers etc out there take advantage of the fact MS OS is on the majority of computers. So those evil doers write their malicious code for the vulnerabilities in MS products.
If Linux were easier to use, I would suggest they all change over to Linux. But after getting a netbook with a Linux OS I will not be advising anyone to change unless they are much more computer literate then I am.