Wednesday, October 21, 2009

32-bit or 64-bit System?

For home users with Windows XP there is no question, they have a 32-bit operating system. With Windows Vista or Windows 7 you need to know what version your computer is running. How do you find out what it is? Right click on Computer and click on Properties. Under the heading “System” you find the answer. Here is an example from my computer: 
Recent hands-on experience shows that on identical hardware 64-bit systems are often faster than 32-bit systems. 
If you found yourself thinking “Will this 32-bit software run on my 64-bit operating system?” or “Will this 64-bit software run on my computer?” or "Should I buy that 64-bit system?" or if you just would like to know more about the difference then read on.
I will try to answer these questions and help you understand the 64-bit and 32-bit concepts of hardware, operating system and applications.
32-bit systems have been part of consumer computing for more than a decade since the time of the Intel Pentium, also known as 80386 architecture or sometimes x86 for short. Most software and operating system code written during this time is 32-bit compatible.
32-bit systems can address up to 4 GB of memory. Some modern applications require more memory to complete their tasks. Progress in chip fabrication technology and demands of high power applications led to the development of 64-bit processors for mainstream computing.
Here is the problem: Most of the software available today is still 32-bit code, but processors have migrated to 64-bit and operating systems are catching up quickly. Eventually even the applications will catch up. Thus we have to cope with many possible combinations of 32 and 64-bits hardware, operating system and applications.
Consider these three factors to be three layers with the processor as the lowest layer and the application as the highest layer.

To run a 64-bit application, you need support from all lower levels (64-bit OS and 64-bit processor).
  • To run a 64-bit OS, you need support from its lower level 64-bit processor; it will NOT run on a 32-bit processor.
  • A 32-bit OS will run on a 32 or 64-bit processor without any problems because 64-bit processors can emulate a 32-bit processor.
  • 32-bit applications will run on any supported combination of OS and processor. In a 64-bit OS this is possible due to software emulation, a feature of 64-bit operating systems.
  • Device drivers run parallel to the operating system. Emulation happens only at the operating system level; it is available to the higher layer only, that is the applications. Thus it is not possible to install 32-bit device drivers on a 64-bit machine.
Answers to common questions:
Will a 64-bit CPU run a standard 32-bit program on a 64-bit version of an OS?
Yes it will. 64-bit systems are backward compatible with the 32-bit counterparts (see the warning below).
Will a 64-bit OS run a standard 32-bit application on a 64-bit processor?
Yes it will because of backward compatibility. Please see the warning below.
Can I run Win2K and WinXP on an 64-bit CPU and use old software? Yes, a 32-bit OS like Win-2K and Win-XP will run on 64-bit processors. You can run "old software" on these 32-bit OS and 64-bit processors (see the warning below).
Will my devices (printer, scanner and so on) work when I buy this fancy new 64-bit machine with 64-bit OS?
Here you have to do your homework! Before you buy the fancy new 64-bit computer with 64-bit OS you have to verify that 64-bit drivers are available for all devices you plan on to keep using!
A warning: Many times 64-bit programs may contain bits of 32-bit code; old 32-bit programs can contain 16-bit code. Be aware that 16-bit code will NOT run on a 64-bit OS.
This is one reason why some old 32-bit programs will not work on a 64-bit OS.
Update 2-22-2010:
Personal recommendation when buying a new computer:
For quite a few peripherals that you may have like printers, scanners and so on you may NOT find 64-bit drivers. Do your home work before you buy the fancy-shmanzy new 64-bit system!
Should you not quite know how to do this sort of home work then send me an email to ejheinze_at_gmail_dot_com (or my “normal” email address) with a detailed list of exactly what peripherals you have and a request to find out for you if there are 64-bit drivers available. There will be a small charge for this service because it may be time consuming. 
As usual I welcome comments and suggestions right here in the blog.
Thank you in advance.

No comments: