The technology industry is rife with buzzwords. The packaging of a computer or computer hardware is crowded with technical terms and badges. One of the more prominent ones is 64-bit. So, it begs the question, what exactly does 64-bit mean? What does it imply? And, most importantly, what does it mean for you?
This article serves as both a technical and practical explanation about nature of 64-bit computing.
What is 64-bit Computing?
Information in computers is normally represented in bits, a binary sequence (what’s binary ?) of ones and zeros. The more bits you have, the more information you can represent. Specifically, a sequence of n bits can represent 2n different pieces of information.
A lot of hardware components don’t work with a continuous flow of data, but rather processes the data in chunks, limited by a certain bit size. A processor is similarly limited by its word size: the processor’s natural unit of data. Among other things, this word size determines the amount of information that can be processed in one go (during one cycle of the hardware clock) and the amount of RAM memory that can be accessed.
When we’re talking about a 64-bit processor, we essentially mean a processor with a 64-bit word size.
The operating system has a key role in communicating with hardware components. It is the operating system that handles process scheduling, memory addressing and storage access. To make full use of 64-bit hardware, the operating system needs to step up its game as well. It’s for this reason that the 32-bit and 64-bit distinction is carried through to the operating system (e.g. there’s a separate 64-bit version of Windows). A 64-bit operating system, then, is one that is designed to exploit 64-bit hardware.
In the market of consumer computers, 64-bit computing is used to indicate the combination of 64-bit hardware (the processor in particular) and a 64-bit operating system.
From 32-bit To 64-bit
Several decades ago, 32-bit processors were originally designed, a word length of 32 bits seemed plenty. Back then, 4 MB of memory was the standard, so 4 gigabytes (the memory addressing limit of a 32-bit processor) was thought to be astronomic. The difference hoped to provide enough of a buffer to withstand the test of time.
As we know now, that wasn’t entirely correct. Four and eight gigabyte memory capacities are standard for new consumer hardware today. For commercial hardware, servers and powerful desktops, even more memory is regularly used. In a few more years, those numbers will be dwarfed once again.
In several areas, current hardware is nearing the limit of what can be realistically achieved using a 32-bit architecture. The industry is now in a transitional period between 32-bit and 64-bit computing. Thanks to several efforts to provide backwards compatibility (more on that later) this should prove to be a relatively painless transition.
Benefits of 64-bit Computing
The step from 32-bit to 64-bit computing has several practical benefits for users. Most notable are the effects on processing speed and memory capacity.
Speed and Accuracy
With a 64-bit word size, the size of the chunks which your processor can handle data is doubled. More importantly, the x86-64 specification increases the number of general-purpose registers from 8 to 16, which makes a 64-bit processor technically faster.
This also impacts the accuracy that can be attained by the processor in its calculations; after all, the processor can use twice as many bits to represent a single number. With 64 bits, you can make over 4 billion times as many combinations as you would with 32 bits.
Larger Memory Support
When working with a computer’s RAM, memory addresses are used. These memory addresses convey the location of instructions or data in the computer’s physical memory (RAM). Although many clever addressing schemes have been devised, the number of available addresses is bound by the maximum number of bits that comprise it.
For 32-bit computing, 4 gigabytes worth of RAM can be theoretically addressed. If you put more RAM in a 32-bit setup, there’s just no way for the processor to refer to the additional memory. In effect, the situation is even more dire than that. Some operating systems reserve part of the available memory for the operating system kernel. Windows, for example, usually claims between 1 and 2 gigabytes for kernel use, further lowering the amount of memory available to applications in the user space.
If you want to use more than 4 gigabytes of memory, 64-bit computing offers a solution. These 32 additional bits give 64-bit addressing schemes a theoretical upper limit of 16 exabytes (that’s 16 billion gigabytes, or 16 million terabytes). In reality, the number is lower. To give you an indication, current AMD64 (which is AMD’s version of the x86-64 specification) support a physical addressing space of about 256 terabyte.
Computer memory is several orders of magnitude faster than computer storage — even SSD storage. Memory mapping is used to speed up some storage interactions. Simplified, it loads oft-accessed files from storage into computer memory, thereby speeding up subsequent access.
Memory mapping has been employed by operating systems for some time, so it’s not new to 64-bit computing. However, there’s a notable trend of growing file sizes. Big data, big video, big games, and so on. With a 4 gigabytes maximum for computer memory (see the above section), memory mapping is slowly crippled as well.
So What Applications Will Benefit?
Concretely, it’s the applications that work with big data. Your average text processor or web browser doesn’t need a lot of memory and processor registers. They will work just swimmingly with a 32-bit processor and 4 gigabytes of memory. However, even for web browsers the difference is clearly noticeable .
Applications that work with encoding, decoding and encryption can benefit a lot from the additional registers in 64-bit processors. One such example is video conversion . 3D applications can benefit if the rendering is CPU-heavy. For gaming, the GPU will take the brunt of the rendering impact and games will mostly benefit from the additional RAM .
When implemented correctly, some HPC (high power computing) software processes like stress testing, multi-tasking and clustering can benefit from 64-bit as well.
Drawbacks of 64-bit Computing
Although most of the evidence is in favour of 64-bit computing, the drawbacks should also be mentioned. Most notably: increased memory usage and the lack 16-bit software and 32-bit driver compatibility.
Compatibility is discussed at length in the next section.
Increased Memory Usage
The same data may occupy more memory on a 64-bit system, than on a 32-bit system. This is mostly due to the increased length of some internal structures, like memory addresses (bigger pointers) and 64-bit numbers. On the larger scale, this isn’t really noticeable. It’s nothing to worry about if you have sufficient memory to warrant a 64-bit system.
People have expended a lot of effort to make the transition between 32-bit and 64-bit computing as smooth as possible. Compatibility, in 64-bit computing, can be considered at several levels. We’ll start at the computer processor and work our way up to computer applications.
The center piece of the 64-bit parade, you certainly need a 64-bit processor. You can find out whether you have a 64-bit processor by checking the manufacturer’s website, or by using the Securable tool from Gibson Research Corporation. This tool takes a closer look at the processor in your computer and can tell you if it has a 64-bit maximum bit length, among other things. The Windows 8.1 Upgrade Assistant will tell you much the same.
64-bit processors have become the standard for consumer computers since x86-64 CPUs made their entry in 2003. If you’ve bought your processor in the past few years, you probably have a 64-bit processor.
Operating System Compatibility
64-bit processors are compatible with both 32-bit and 64-bit operating systems. Nowadays, all popular operating systems come in these two flavours. If you have a 64-bit processor, you can choose with which of these two flavours to install. Although, if you want to make full use of the benefits of a 64-bit processor, you’ll have to go with a 64-bit operating system as well.
You might even be using a 64-bit operating system already .
It’s very important to note that 32-bit drivers are not compatible with a 64-bit operating system, and vice versa. In other words, your hardware needs a 64-bit driver to work with a 64-bit operating system. For almost all recently manufactured hardware, both a 32-bit and 64-bit driver are supplied. If you go to the store and buy an HP printer, rest assured that it will have 64-bit drivers.
The main problem exists with old hardware, for which in some cases, the hardware manufacturer has not been able (or willing) to make new drivers since 2003. In other words, hardware that hasn’t been actively supported in the last decade. Again, you can check with the manufacturer if 64-bit drivers are supplied. For most products, these can be downloaded from the manufacturer’s support page.
You can also check the Windows Compatibility Center. If a product is certified for Windows 8.1, it is guaranteed to work on both the 32-bit and the 64-bit versions of the operating systems.
A lot of effort has been expended in the hopes of making the inevitable transition from 32-bit to 64-bit computing as painless as possible. As a result, software compatibility is nearly seamless. In effect, almost all 32-bit software is compatible with 64-bit operating systems.
Two types of software are not supported on 64-bit operating system. First, because of the driver compatibility discussed in the previous section, the software may not rely exclusively on a specific 32-bit driver. Second, the software must not incorporate 16-bit code (the even more ancient predecessor of 32-bit) in its own code.
You can again check the Windows Compatibility Center to see if a 32-bit software will run on a 64-bit Windows operating system. With Windows 8.1 certification, it will work on both 32-bit and 64-bit versions of the operating systems.
Are you running a 64-bit or 32-bit system right now? What made you switch, or what’s holding you back? Drop a line in the comments!