NANDputer: a computer built entirely from NAND gates

What is a NANDputer? It’s obviously a computer built entirely out of NAND gates. NAND logic (along with NOR) is functionally complete, so it is possible to construct all other logic gates using just NAND gates. But why? Well, like any good hardware hack: to see if it could be done.

Taking Kevin Horton nearly two months to design and make, every part of the build apart from the peripheral board is based on NAND gates (hence why the point-to-point wiring is…crazy). The basic architecture of the computer is fairly conventional, with an accumulator, a full ALU, 8 bit registers, separate RAM/ROM areas (Harvard architecture), instruction skipping for decision making, bit set/clearing, a three-level stack and even an interrupt.

It takes 96 clock cycles to run a single instruction, giving just over 100kIPS (thousands of instructions per second) with the clock running at 10MHz. Not great (roughly 2-3x slower than a Commodore 64 at 250-300kIPS), but not bad considering the hardware engineering. For example, it’s faster than a TMS1000!

The image below shows all of the NANDputer boards installed into the backplane; check out the images of the other PCBs, as well as the NANDputer running its first program.

nandputer-fully-populated-backplane

(N.B. If you’re still curious about how a NAND-based computer works, then try this online course.)

Tagged , , ,

3 thoughts on “NANDputer: a computer built entirely from NAND gates

  1. David Cunnah says:

    This reminded me of this, a 16 bit ALU in Minecraft:

  2. […] NANDputer: a computer built entirely from NAND gates […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: