That instructables page is great because you can actually print out the cardboard components and build your own cardboard "computer" system!
The instructional manual probably makes a lot more sense with the actual system that it describes in hand.
As I see it, the genius of CARDIAC is this (emphasis mine):
> You will serve as CARDIAC's control unit by visually following its internal flow chart. While doing so, you will perform all of the operations described above.
Human-as-datapath is a fantastic idea for learning the basics of not just programming, but of microarchitecture. Once you start thinking, "hey, I could make a machine/circuit/etc. to do all of this stuff that I'm doing by hand" then you are on your way.
> Human-as-datapath is a fantastic idea for learning the basics of not just programming, but of microarchitecture. Once you start thinking, "hey, I could make a machine/circuit/etc. to do all of this stuff that I'm doing by hand" then you are on your way.
Having taken a survey course on computer architecture, hand simulation's the most I've ever been able to understand "complex" (scare quotes) mechanisms like out-of-order execution, multiple dispatch, speculation, etc. Which is a pity - the scare quotes belie the fact that these have been integral features of microarchitectures for decades, and they're key to understanding software performance and entire classes of security exploits.
In terms of actual implementation, I think I've only ever gotten as far as pipelining with result forwarding.
> While there are a number of great CARDIAC simulators out there (see Building a CPU simulator in Python for instance) and even an FPGA implementation (Al Williams - Paper to FPGA) there is nothing like holding and operating a physical device.
"Paper to FPGA" sounds like a cool idea, though the point of CARDIAC seems to be that you perform the operations yourself (by carefully following its flowchart/control specification and manipulating the cardboard device.)
That article has a link to an Excel implementation which allows you to "perform the operations" yourself without having to cut and assemble the computer.
The instructional manual probably makes a lot more sense with the actual system that it describes in hand.
As I see it, the genius of CARDIAC is this (emphasis mine):
> You will serve as CARDIAC's control unit by visually following its internal flow chart. While doing so, you will perform all of the operations described above.
Human-as-datapath is a fantastic idea for learning the basics of not just programming, but of microarchitecture. Once you start thinking, "hey, I could make a machine/circuit/etc. to do all of this stuff that I'm doing by hand" then you are on your way.