Why do computers work in base 2, as opposed to base (higher number here)?

549 views

I realise (/think?) that CPUs essentially treat two different voltages as a 1 or 0, but what stops us from using 3 or more different voltages? Wouldn’t that exponentially increase the CPU’s throughput by allowing for decisions with greater than two outcomes to be calculated in one cycle? This would presumably mean that a LOT of stuff written for base 2 would need to be updated to base 3 (in this example), but I can’t imagine that’s the only reason we haven’t done this.

I feel like I’ve explained that poorly, but hopefully you get the gist.

In: 12

20 Answers

Anonymous 0 Comments

> Wouldn’t that exponentially increase the CPU’s throughput by allowing for decisions with greater than two outcomes to be calculated in one cycle?

A CPU operates all of its transistors every cycle, which means that potential outcomes is more dependent on the number of transistors the CPU has, not the base it operates in. Consider adding 2 numbers. A simplified CPU does the addition in a single clock cycle. It doesn’t matter if its binary or ternary.

A 32 bit binary CPU can add 2 numbers from 0 to 4294967295 (2^32) in a single cycle.

A 64 bit binary CPU can add 2 numbers from 0 to 18446744073709551615 (2^64) in a single cycle

A 32 bit ternary CPU can add 2 numbers from 0 to 1853020188851840 (3^32) in a single cycle.

A 64 bit ternary CPU can add 2 numbers from 0 to 3433683820292512484657849089280 (3^64) in a single cycle

The number of potential outcomes of the add operation is related to the bit length and the base the CPU is operating in. For the 32 bit binary CPU, it’s 2^32. For a 32 bit ternary CPU it’s 3^32. But as you can see from above, that’s really just saying the largest numbers you can add in a single operation. A 64 bit binary CPU far exceeds the potential outcomes from a 32 bit ternary CPU.

This means that the base the CPU operates in is pretty much irrelevant for how fast the CPU is. Which means the speed of the CPU is dependent on both how many operations it takes to add 2 numbers together and how long each cycle is.

To get a CPU to add larger numbers together, you just need to cram more transistors on the chip. Which means that in this case, the only factor that impacts how fast a binary computer is compared to a ternary computer is how fast the transistors are and how many you can cram onto a chip. The reason we don’t have ternary computers is simply because we’ve gotten extremely good at making fast, small, and reliable binary transistors. On the internet people often post stories about soviet ternary computers being “superior”. There’s a reason why Russia today has no domestic chip making industries, and why ternary computers are an academic pursuit at best.

You are viewing 1 out of 20 answers, click here to view all answers.