Hacker News new | ask | show | jobs
by manithree 396 days ago
This one is higher quality (https://content.instructables.com/F84/WG7G/K2XU5LKV/F84WG7GK...) and it's all kinda pointless without the "machine" https://www.instructables.com/CARDIAC-CARDboard-Illustrative...

I didn't get mine until about 1979 or 1980. Still have it, though.

2 comments

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.)

FYI, the link to the Al Williams article on DrDobb's website from the Instructables page seems dead but.. Wayback machine to the rescue:

https://web.archive.org/web/20180306072013/https://www.drdob...

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.

It give me the concrete basis for "being the computer" that I put to use a year or two later programming assembler on a PDP-8I

:-)