Some of the most interesting projects in computing are the “Just for fun,” builds that individuals dream up. A year and a half ago, we met the Megaprocessor, a room-scale CPU implementation with each and every component visible, clocked at a blistering 20KHz. Now we’ve got another from-scratch CPU implementation on a smaller scale, and its own unique window into the history of CPU design.
Paulo Constantino has built himself an 8-bit CPU implemented on breadboard, with a veritable explosion of wires running across the hardware to connect everything together.
All programming is done via DIP switches, and the CPU can perform tasks like counting from 0-255, or playing an off-key-but-recognizable-variant of the Mario theme. No shade for the wrong notes; I can’t even play the Mario theme on a piano, much less program something else to play it for me.
Part of what’s interesting about projects like this, and the earlier Megaprocessor, is the way they demonstrate previous state of the art technology. Breadboards have all but replaced earlier methods of prototyping hardware, like wire-wrapping, but there was a time when this kind of CPU design process represented a cutting-edge hardware implementation. We take modern-day PCB manufacturing and printed circuit boards for granted, but these technologies had to be invented.
The image above shows the wire-wrapped backplane of a Zilog Z80 system, circa 1977. The Z80 was an 8-bit CPU developed by Federico Faggin, who also led the development of the first single-chip microprocessor (the Intel 4004), as well as several later Intel CPUs, the 8008, 4040, and 8080. The Z80 was a major improvement over the 8080, retained software compatibility with it, and is still in production today. You can see a distinct similarity between the wire-wrapping technology we were using in the late 1970s and the modern solderless breadboard approach used today.
In this case, looking at the tangle of wires required for a simple 8-bit CPU illustrates how more complex chips, with wider buses and more functions, required the creation of new mounting technologies. It eventually became impractical to wire-wrap a prototype. Increasing clock speeds and larger buses meant trace lengths needed to be controlled more rigorously. The Megaprocessor similarly showcases a time when reducing the distance between function units and increasing component integration cut costs, reduced power consumption, and led to long-term performance gains. Sometimes it’s as interesting to see where computing used to be as where it’s headed today. As for Constantino, Motherboard reports that his next goal is to integrate a keyboard, making his homemade CPU a bit easier to program.
Udemy Class Review: How To (Incorrectly) Build a Computer From Scratch, Circa 1999
I can’t express enough how absolutely terrible this course is. If you really want to learn how to build a PC, look elsewhere.
Udemy Class Review: HTML5 Game From Scratch Step By Step Learning Java