NANDputer Lives (2013)
blog.kevtris.org
blog.kevtris.org
Isn't any (reasonably modern) computer made out of nothing but NAND gates (discounting DRAM, power supply, etc)? Sure, it's not discrete components, but its NAND gates nevertheless.
It's just that when you are merely drawing a schematic and treating all gate types as equivalent atomic particles, where a NAND is just a symbol like OR, and ignoring what they're actually made of, NAND is captivating because you can build anything else out of nand.
But the only reason you can build anything else out of nand in the first place is because a single nand gate does a lot, and is made of a lot of transistors and diodes, and you essentially waste some to get other functions.
For a basic example, if you need to simply invert a signal, you can just feed it to both inputs of a nand, and the output will be the opposite of the input.
But that is wasting 90% of the nand. NAND is just AND with an inverter added to the output. Feeding the same signal to both inputs of an AND is a no-op. So you just used a lot of transistors and diodes to do nothing at all, just to use the inverter on the output.
(edit to add real numbers: 4 transistors for the AND part, and 2 more transistors for the inverter, and really a single CMOS transistor is really two simpler transistors, so that's 12 classic transistors to make a single nand gate, and it also needs it's own power and ground connections to half of the transistors besides just the inputs and output, for each single nand gate.)
Building on that, OR is actually just AND with inverters on all inputs and outputs. NAND is half of that already, and above we know how to get an inverter by itself. So you can make an OR out of 3 nands, one to be the AND and inverter on output, and two more nands just to act as inverters for the inputs. So, that is a hugely wasteful way to get an OR.
NOR -> add another inverter on the output of OR, that's 4 NAND to make a NOR. And so on.
It is still actually useful for real manufacturing when you're talking about discrete parts with only a few gates. It's more efficient to have one part number than three different part numbers if you're only talking about a few, and you can eliminate items from the bom. 2 of the same nand part are cheaper than one nand and one or, just like it's worthwhile to use all the same size resistors, even if it means using more of them.
But there is no such advantage from uniformity for designing a larger ic like a cpu. In that case it would just be a huge waste of junctions (diodes and transistors).
https://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Logic...