Build An 8-bit CPU To Know “But How Do It Know?”

Sometime around 2009, [J. Clark Scott] published a book aimed to demystify computers for everyone by walking through construction of an 8-bit CPU from scratch. The book had a catchy, but somewhat confusing title But How Do It Know?. The back story on the title goes something like this: Joe is a very nice fellow, but has always been a little slow. He goes into a store where a salesman is standing on a soapbox in front of a group of people. The salesman is pitching the miracle new invention, the Thermos bottle. He is saying, “It keeps hot food hot, and cold food cold….” Joe thinks about this a minute, amazed by this new invention that is able to make a decision about which of two different things it is supposed to do depending on what kind of food you put in it. He can’t contain his curiosity, he is jumping up and down, waving his arm in the air, saying “but, but, but, but…” Finally he blurts out his burning question “But how do it know?” Joe looked at what this Thermos bottle could do, and decided that it must be capable of sensing something about its contents, and then performing a heating or cooling operation accordingly. Joe’s concept of how the bottle worked was far more complicated than the truth. With that introductory opening, [J. Clark Scott] goes on to cover basic number theory, leading on to logic gates, and finally the 8-bit CPU.

[Patrick LeBoutillier] decided to build a hardware version of the CPU/computer as described in [John Clark Scott]’s book. In order to keep size and cost within reasonable bounds, he choose a hybrid construction using a combination of micro-controllers and SN74HC logic IC’s. When used as a companion project alongside reading the book, he hopes people can get their hands dirty and try it out for themselves. He has published a series of 14 videos covering construction of the CPU and the first Introductory video is embedded after the break below. For the micro-controller part of the project, he is using four Arduino Nanos, the code and install instructions for which are available at his Git repo. The Fritzing schematic, also available at the repo, might look a bit daunting at first look, but when you follow along his video series, it becomes easier. You can preview the first three chapters of the book at the “But How Do It Know?” website.

If FPGA’s are more of a thing for you, or you’d like to dip your feet learning FPGA, then [Patrick] has another series of 17 videos (embedded below) where he goes through the same process using a Digilent BASYS3 FPGA development board. These aren’t your only options — if you just want to understand how it works, without having to build the hardware, then check out the online, browser based implementation of the [Clark Scott] CPU.

If it seems the breadboard build of this 8-bit CPU looks complex, then this
Home Made 8-bit CPU Is A Wiry Blinky Build and a veritable rats nest of jumper wires.

14 thoughts on “Build An 8-bit CPU To Know “But How Do It Know?”

    1. He’s using the arduino to simulate various logic blocks. Yes, the arduino is more powerful than the CPU he’s making with it, but this is a teaching tool, not a practical CPU.

      1. Okay, I get it it. You could hook a bunch of laptops together and get the same “teaching tool”. I like the concept but you could probably use IPhone12s instead of the Arduinos.

  1. When I was about twelve, I have read a book by Friedrich Haugg, which was originally titled: ‘Stets zu Diensten: Dein Computer’ (I have read it in Polish). While later I have read several similar books and articles, I have not found any that would even approach the clarity with which he explains the inner working of a microcomputer.

    As a parent I have exercised my rights and forced my kids to read it. Oh, OK, they have dropped it at the first opportunity, but we will get back to that…

  2. The Book _Computation Structures_, formerly used by MIT’s 6.004 course, goes through all the theory and practical implementation of digital logic from analog components through history, and then guides the reader through construction of a complete 8-bit microprocessor and multitasking operating system built out of LSTTL logic on solderless breadboards. Book was….. 1987 I think? I built one myself in 1991. A bit dated, though still possible to get all the parts.

    Many ‘start with a transistor and go from there’ options out there!

  3. This really brings back memories. My senior project in Computer Engineering was to build a 6502 processor completely from TTL (7400 series chips). We did it, although I recall that instruction decoding was a mess because it didn’t map to the ALU encodings we had. This was in the 70’s

    After that it was design microprocessors up through the Pentium 4 and beyond.

    It’s both amazing and disconcerting to see “how to build an 8 bit processor” shows up on Hackaday. Amazing because there’s interest outside the narrow CPU design world, and disconcerting because it may show how far removed we’ve become from basic design knowledge. It seems to me we’d be better off if we still required CS folks to actually understand assembly language.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.