Among computer vocabulary words, “bit” is certainly one of the most well-known. Whole generations of video game consoles and their pixelated art styles are defined by bits (such as 8-bit and 16-bit), and many applications offer both 32-bit and 64-bit versions.
If you look at that history, you can see that our ability to handle bits has increased over the years. However, while 64-bit chips were first introduced in the ‘90s and became mainstream in the 2000s, we still don’t have 128-bit CPUs. Although 128 might seem like a natural step after 64, it’s anything but.
What even is a bit?
The fundamental building blocks
Before talking about why 128-bit CPUs don't exist, we need to talk about what a bit even is. Essentially, it's a unit of information in computing, which represents either a '0' or a '1'. Formed from the words binary and digit, it's the smallest unit in computing and the starting point of all programming. A bit can only be defined as 1 or 0 (hence binary), though these numbers can be interpreted as true or false, on or off, and even as a plus sign or a minus sign.
In the context of CPU architecture, bit-width commonly refers to the size of the memory addresses that the CPU can handle. For example, a 64-bit CPU can address 16 exabytes of memory, which is far beyond the needs of even the largest supercomputers today.
With that said, on its own, a single bit isn’t very useful, but combining multiple bits allows us to represent more complex data, such as numbers, letters, or other characters. For instance, in 4-bit computing, the largest integer you can represent is 15 (from 0 to 15), as calculated by the formula 2^x - 1, where x is the number of bits.
For working out the maximum integer an N-bit CPU can refer to, it uses a pretty simple 2^x formula, with x being how many bits there are. In 4-bit computing, the biggest integer you can count to is 15, which is one lower than the 16 the formula gives you, but programmers start counting from 0 and not from 1.
If 4-bit can only store 16 different integers, then it might not seem like going to 8- or 32- or even 128-bit would be all that big of a deal. But we're dealing with exponential numbers here, which means things start off slow but then take off very quickly. To demonstrate this, here's a little table that shows the biggest integers you can calculate in binary from 1- to 128-bit.
|
Bit |
Maximum Integer |
|---|---|
|
1-bit |
1 |
|
2-bit |
3 |
|
4-bit |
15 |
|
8-bit |
255 |
|
16-bit |
65,535 |
|
32-bit |
4,294,967,295 |
|
64-bit |
18,446,744,073,709,551,615 |
|
128-bit |
340,282,366,920,938,463,463,374,607,431,768,211,455 |
So now you can probably see why doubling the amount of bits results in being able to handle numbers that don't just double in size but are orders of magnitude larger. Yet, even though 128-bit computing would enable us to work on much larger numbers than 64-bit computing can, we still don't use it.
As for why this integer length is important, it's not so much the integer length itself that matters, but rather the addressable space. This is why 32-bit machines can only address approximately 4GB of memory, whereas a 64-bit machine is essentially limitless at present.
How we went from 1-bit to 64-bit
It's a long road to get us here
It’s pretty clear why CPUs went from 1-bit to having more bits: we wanted our computers to perform more complex tasks. There’s not much you can do with one, two, or four bits, but at the 8-bit mark, arcade machines, game consoles, and home computers became feasible. Over time, processors became cheaper to produce and physically smaller, making it easier to increase the number of bits a CPU could handle.
The exponential nature of bits becomes apparent very quickly when comparing 16-bit consoles like the SNES and the Sega Genesis to their 8-bit predecessors, principally the NES. Super Mario Bros 3 was one of the NES's most complex games in terms of mechanics and graphics, and it was completely dwarfed by Super Mario World, which was released only two years later (although improvements in GPU technology were also a key factor here).
We still don't have 128-bit CPUs, even though it's been nearly three decades since the first 64-bit chips hit the market.
It’s not just about video games; everything improved with more bits. Moving from 256 possible values in 8-bit to 65,536 in 16-bit meant tracking time more precisely, displaying more colors, and handling larger files. Whether you were using IBM’s Personal Computer, powered by Intel’s 8-bit 8088 CPU, or building a server for a company ready to get online, more bits meant better performance.
The industry moved pretty quickly from 16-bit to 32-bit and finally, 64-bit computing, which became mainstream in the late 90s and early 2000s. Some of the most important early 64-bit CPUs were found in the Nintendo 64 and computers powered by AMD's Athlon 64 and Opteron CPUs. On the software side, 64-bit started to receive mainstream support from operating systems like Linux and Windows in the early 2000s. Not all attempts at 64-bit computing were successful, however; Intel's Itanium server CPUs were a high-profile failure and are some of the company's worst processors ever.
Today, 64-bit CPUs are everywhere, from smartphones to PCs to servers. Chips with fewer bits are still made and can be desirable for specific applications that don't handle larger numbers, but they're pretty niche. Yet, we still don't have 128-bit CPUs, even though it's been nearly three decades since the first 64-bit chips hit the market.
128-bit computing is looking for a problem to solve
We really don't need it
You might think 128-bit isn’t viable because it’s difficult or impossible, but that’s not the case. Many components in modern processors, like memory buses and SIMD units, already utilize 128-bit or larger sizes for specific tasks. For instance, the AVX-512 instruction set allows for 512-bit wide data processing. These SIMD (Single Instruction, Multiple Data) instructions have evolved from 32-bit to 64-bit, 128-bit, 256-bit, and now 512-bit operands, demonstrating significant advancements in parallel processing capabilities.
A 64-bit CPU can handle over 18 quintillion unique numbers, from 0 to 18,446,744,073,709,551,615. By contrast, a 128-bit CPU would be able to handle over 340 undecillion numbers, and I guarantee you that you have never even seen "undecillion" in your entire life. Finding a use for calculating numbers with that many zeroes is pretty challenging, even if you're using one of the bits to sign the integer, which would have its range from negative 170 undecillion to positive 170 undecillion.
The only significant use cases for 128-bit integers are IPv6 addresses, universally unique identifiers (or UUID) that are used to create unique IDs for users (Minecraft is a high-profile use case for UUID), and file systems like ZFS. The thing is, 128-bit CPUs aren't necessary to handle these tasks, which have been able to exist just fine on 64-bit hardware. Ultimately, the key reason why we don't have 128-bit CPUs is that there's no demand for a 128-bit hardware-software ecosystem. The industry could certainly make it if it wanted to, but it simply doesn't.
The door is slightly open for 128-bit
Although 128-bit CPUs aren't a thing today, and it seems no company will be releasing one any time soon, I wouldn't go so far as to say 128-bit CPUs will never happen. The specification for the RISC-V ISA leaves the possibility of a future 128-bit architecture on the table but doesn't detail what it would actually be, presumably because there just wasn't a pressing need to design it.
Three hundred and forty undecillion, the biggest number possible to create with 128 bits, also isn't nearly as much as there are atoms in the universe, which is considered to be the largest number that has any real-world significance. If you ever wanted to simulate a good chunk of the universe down to the atomic level, then maybe a 128-bit CPU would be really useful for that. Beyond that, it's hard to say what a 128-bit CPU would be used for, but many years ago we also wondered what you could want a terabyte of RAM for.
