Since 2005 Microsoft has offered both a 32-bit and 64-bit version of its Windows operating system. It can be hard to tell what the differences are, and why they matter – ultimately, 64-bit is superior, but it isn’t suitable for every computer.
What is a ‘bit’?
In computing, a bit is a single binary digit, it has two possible values, 1 and 0. For each bit you add, the number of possible values doubles, so for two bits, you have two binary digits and four possible values. For three bits, you have three binary digits and 8 possible values and so on. At 32-bits, you have 232 possible combinations or 4,294,967,296 possible values. With 64 bits, there are a total of 18,446,744,073,709,551,616 possible values.
On their own, both these numbers are impressive but don’t really mean anything. A 32bit-CPU is only capable of using 32-bit registers to store data and processing 32-bit values.
Tip: A register is a piece of extremely fast memory that stores the data that the CPU is actively working on.
The main limitation of a 32-bit CPU is the amount of RAM it can support. A 32-bit CPU can only address up to 4 GiB of RAM, a 32-bit CPU is physically not capable of calling the address of any RAM above this amount. For a real-world simile, imagine filling in an online form with your address, but where you need to enter your house number it only allows two digits, if you happen to live in house number 100, you’re just out of luck.
Tip: GiB means Gibibytes. Gibi is a prefix designed for binary systems like computers and is designed to allow for the fact that the standard prefix of giga (1,000,000,000) is not a whole number in binary. In this prefix notation, each stage of prefix is 1024 times larger than the previous one, rather than 1000 times. For example, one kilogram is 1000 grams and one kibibyte is 1024 bytes. Four gibibytes is 4 x 1024 x 1024 x 1024 bytes, or 4,294,967,296 bytes.
Why you need a 64-bit CPU
Realistically, modern computers need more than 4 GiB of RAM to be able to run their operating system and software well. Windows 10 claims that it’s minimum required amount of RAM is 1GB on a 32-bit CPU or 2GB on a 64-bit CPU. If you try running a computer with that little RAM, however, you’re going to have a really bad experience. Even with 4 GB of RAM in your system, you’re going to constantly run into issues where you’re running out of space in your RAM and have to move data out of it back to your much slower hard drive.
A lot of modern video games, tools like editing software, and even Chrome with a fair number of tabs open can all use more than 4 GB of RAM on their own. Even mobile phones can push the limits of 4 GB of RAM when you take into account the requirements of the operating system, background apps, and a game or two. As technology advances the system requirements will continue to increase, the move to a 64-bit platform was designed to resolve this problem, before it became too much of an issue.
A 64-Bit CPU is theoretically able to address the full 16 Exbibytes of RAM, however, for performance and compatibility reasons the current standard is to “only” support 4 pebibytes of RAM.
Tip: A pebibyte and exbibyte are (roughly) a million and a billion gibibytes respectively. Roughly because these are increases in binary so they’re really in multiples of 1024 rather than 1000. So, the exact numbers would be 1,048,576 and 1,073,741,824 gibibytes respectively.
Using a 64-bit CPU means that more RAM can be addressed, but it also means that each address, register value, and number that the CPU handles is bigger. This doesn’t have a noticeable performance impact, but it does mean that more storage is required for register values, etc.
To take advantage of the extra RAM you also need to use a 64-bit operating system, without this, a 64 bit CPU will be hamstrung by the 32-bit limitations of the operating system. All consumer-orientated 64-bit CPUs and operating systems support running 32-bit applications without any changes being required. So, you don’t need to worry about software compatibility in almost all cases.
In the real world, a 64-bit CPU is no faster than a 32-bit CPU for most users. In some high-performance computing applications, such as supercomputers the architecture change can have an effect, but most people are unlikely to notice a difference.