Why we don’t have 128 bit OS or CPUs?
In: 927
A better question would be, why *would* we have 128 CPUs?
32 bit architecture gives us 2^32 values, a bit over 4 billion, which more or less sets the limit for memory addresses, capping your RAM at 4 GB. This was fine for a while but just wasn’t enough eventually.
64 bit is way more common now, which lets us use native values of up to 2^64, or 18 quintillion. RAM is capped by factors other than the number of memory addresses. 64-bit is great for things like IP addresses; 18 quintillion is really plenty for the foreseeable future.
128 bit would let us use native values of up to 2^128, or 10^39. We have no use for numbers this big. You could assign a unique ID to every star in the visible universe and only use 0.000000000000001% of the values available to you.
You’re much better off designing a 64-bit processor that’s half the size or draws half the power than designing a 128-bit processor.
No real need for them yet. Sixty four bit numbers can hold really huge numbers. And there aren’t many tasks that need bigger numbers. So while eight bit, sixteen bit and thirty two bit CPUs were limited and needed multiple instructions to do things, the current CPUs are capable for most things you want to do. And we have specialized GPU hardware for the things that a general purpose CPU isn’t good at.
I’m 5 when it comes to tech, so will explain as I know it: basically it’s possible and exists, there just isn’t a practical reason to go beyond 64 bit for most computing needs—the ability to store and use the amount of unique values a 128-bit system provides isn’t necessary for home use, gaming use, or most office use. And since 128 bit would require more power and resources, it’s not practical to just throw-in if it isn’t needed
Because we don’t need it yet.
Imagine you want to give a number to all flats in an apartment building. If there are less than 10 flats, you can number them 0-9, which is 1 digit.
If your apartment building is large, you may need 2 digits. You’ll get 00-99.
If it’s a skyscraper, you’ll probably need 3 digits: 000-999.
But, assume you need to give a number to all houses in the US. How many digits will you need? We have about 350 million people, we definitely have less than a billion houses. You can use 9 digits, so 0-999,999,999. As you can see, you don’t need more than 9 digits.
It’s similar with the 64 and 128 bit namespaces. 64 bits could theoretically manage 18 quintillion bytes of RAM, which is about 18,000 Terabytes if my math is correct.
Wikipedia article > https://en.m.wikipedia.org/wiki/128-bit_computing
Modern x86 CPUs already have some memory and operations which work on a 128 bit base (SSE and AVX extensions). It just does not make much sense or bring big advantages to use them as a general base.
64 bit addresses are enough for current memory and 128 bit numbers are not used so often (and for the cases where you would use them you have these extensions).
And 128 bit CPUs would most likely be more complex and need larger chip sizes (and therefore would be more expensive and need more energy). And doing that for little to no advantage makes no much sense.