# 64-bit Computing

## How Can a Switch from 32 to 64-bits Improve Computing?

### Introduction

At this point, all laptop and desktop personal computers have transitioned from 32-bit to 64-bit processors. Even though this is the case, some computers still feature 32-bit versions of Windows which has some implications on how much memory they can access. There are still a few low-end mobile processors that use 32-bit though which is why the software is still available.

The big area where 32-bit versus 64-bit processing is really an issue has to do with tablet processors. Most mobile phones and tablets currently still use 32-bit processors. This is primarily because they tend to be more efficient when it comes to their power usage and the hardware is already limited by size. Still, 64-bit processors are becoming more common so it is a good idea to understand how a 32-bit versus 64-bit processors can impact your computer experience.

### Understanding Bits

All computer processors are based on binary math because of the transistors that comprise the semiconductors inside the chips. To put things in very simple terms, a bit is a single 1 or 0 either stored on processed by a transistor. All processors are referred to by their bit processing ability. For most processors now, this is 64-bits but for others, it may still be limited to just 32-bits. So what does the bit count mean?

This bit rating of the processor determines the largest numerical number that processor can handle. The largest number that can be processed in a single clock cycle will be equivalent to 2 to the power (or exponent) of the bit rating. Thus, a 32-bit processor can handle a number up to 2^32 or roughly 4.3 billion. Any number greater than this will require more than one clock cycle to process. A 64-bit processor, on the other hand, can handle a number of a 2^64 or roughly 18.4 quintillion (18,400,000,000,000,000,000). This means that a 64-bit processor would be able to more efficiently handle large number mathematics. Now processors aren't just doing math strictly but the longer string means it can complete more advanced commands in a single clock cycle rather than having to split into multiples.

So, if you have two comparable processors running at the same clock speed given similar programming commands, a 64-bit processor could be effectively twice as fast as a 32-bit processor. This is not entirely true because each clock cycle does not necessarily use all the bits in a pass but anytime it is greater than 32, the 64 bit will take half the time for that instruction.

### Memory is the Key

One of the other items directly affected by the bit rating of the processor is the amount of memory that the system can support and access. Let's take a look at the current 32-bit platforms of today. Currently 32-bit processors and operating system can support a total of 4 gigabytes of memory in the computer. Of the 4 gigabytes of memory, the operating systems can only allocate 2 gigabytes of memory to a given application.

This is much more important when it comes to laptop and desktop personal computers. This is because they have access to more complex programs and applications not to mention space for the memory for the processors. Mobile processors, on the other hand, have limited space and generally have the memory integrated into the processor. As a result, even top end processors for smartphones and tablets generally have just 2GB of memory so it does not reach the 4GB limits.

Why does this matter? Well, the amount of memory the processor has impacted the complexity of the programs. Most smaller tablets and phones do not have the capability of running extremely complex applications such as Photoshop. This is why a company like Adobe has to put other many applications that do the different aspects of the single more complex PC program can. By using a 32-bit processor with its memory restrictions, it will never achieve same level of complexity that a full personal computer is capable of.

What is a 64-bit CPU without a 64-bit OS?

So far we have been talking about the capabilities of the processors based on their architecture, but there is a key point to be made here. The full use of a processor is only as good as the software written for it. Running a 64-bit processor with a 32-bit operating system is going to end up wasting a large amount of the computing potential of processor. The 32-bit operating system is only going to use half the registers of the processor thus limiting its computing ability. It will still have all the same limitations on it that an existing 32-bit processor has with the same OS.

This is actually a fairly large problem. Most architecture changes such as 64-bit processors generally require a completely new set of programs be written for them. This is a large problem for both the hardware makers and the software makers. The software companies don't want to write the new software until the hardware is out there to support their software sales. Of course, the hardware people can't sell their product unless there is software to support it. This is one of the major reasons why enterprise CPUs such as the IA-64 Itanium from Intel had problems. There was little software written for the architecture and its 32-bit emulation to run the existing operating systems severely crippled the CPU.

So, how are AMD and Apple getting around this problem? Apple has started added 64-bit patches for its operating system. This adds some additional support, but it is still running on a 32-bit OS. AMD has taken a different route. It has designed its processor to handle the native x86 32-bit operating systems and then added additional 64-bit registers. This allows the processor to run 32-bit code as effectively as a 32-bit processor, but with the current 64-bit versions of Linux or the upcoming Windows XP 64 it will utilize the full processing potential of the CPU.

Is the Time Right for 64-bit Computing?

The answer to this question is both yes and no. The industry is reaching the limits of 32-bit computing for much of the higher end computer market such as enterprise and power users. If computers are to increase in speeds and processing power, it is necessary to make the jump to the next generation of processors. These are systems that generally require much more memory and large number calculations that will get the direct benefits of a 64-bit platform.

Consumers are a different matter. Much of the tasks that the average consumer does on the computer are more than adequately covered by the existing 32-bit architecture. Eventually, users will get to the point where the switch to 64-bit computing will make sense, but currently it does not. How many consumers out there will likely even have 4 gigabytes of memory in a computer system even in the next two years?

The real benefits of 64-bit computing will eventually trickle down to the consumers. Manufacturers and software developers like to limit the variety of products that they have to support to try and reduce costs. Because of this, they will eventually focus solely on the production of 64-bit hardware and software. Until that time, it is going to be a bumpy ride for those who choose to be early adopters.