CARDboard Illustrative Aid to Computation (nonfiction): Difference between revisions
(Created page with "'''CARDIAC''' ('''CARDboard Illustrative Aid to Computation''') is a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Telephone Laboratories in 1968 to...") |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''CARDIAC''' ('''CARDboard Illustrative Aid to Computation''') is a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Telephone Laboratories in 1968 to teach high school students how computers work. The kit consists of an instruction manual and a die-cut cardboard "computer". | [[File:CARDIAC - CARDboard Illustrative Aid to Computation.jpg|thumb|CARDIAC (CARDboard Illustrative Aid to Computation).]]'''CARDIAC''' ('''CARDboard Illustrative Aid to Computation''') is a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Telephone Laboratories in 1968 to teach high school students how computers work. The kit consists of an instruction manual and a die-cut cardboard "computer". | ||
The computer "operates" by means of pencil and sliding cards. Any arithmetic is done in the head of the person operating the computer. The computer operates in base 10 and has 100 memory cells which can hold signed numbers from 0 to ±999. It has an instruction set of 10 instructions which allows CARDIAC to add, subtract, test, shift, input, output and jump. | The computer "operates" by means of pencil and sliding cards. Any arithmetic is done in the head of the person operating the computer. The computer operates in base 10 and has 100 memory cells which can hold signed numbers from 0 to ±999. It has an instruction set of 10 instructions which allows CARDIAC to add, subtract, test, shift, input, output and jump. | ||
Line 5: | Line 5: | ||
== Hardware == | == Hardware == | ||
The "CPU" of the computer consists of 4 slides that move various numbers and arrows to have the flow of the real CPU (the user's brain) move the right way. They have one flag (+/-), affected by the result in the accumulator. | |||
The | |||
Memory consists of the other half of the cardboard cutout. There are 100 cells. Cell 0 is “ROM”, always containing a numeric "1"; cells 1 to 98 are | Memory consists of the other half of the cardboard cutout. There are 100 cells. Cell 0 is “ROM”, always containing a numeric "1"; cells 1 to 98 are "RAM"; available for instructions and data; and cell 99 can best be described as "EEPROM". | ||
Memory cells hold signed decimal numbers from 0 to ±999 and are written with a pencil. Cells are erased with an eraser. A “bug” is provided to act as a program counter, and is placed in a hole beside the current memory cell. | Memory cells hold signed decimal numbers from 0 to ±999 and are written with a pencil. Cells are erased with an eraser. A “bug” is provided to act as a program counter, and is placed in a hole beside the current memory cell. | ||
Line 16: | Line 15: | ||
CARDIAC has a 10 instruction machine language. An instruction is three decimal digits (the sign is ignored) in the form OAA. The first digit is the op code (O); the second and third digits are an address (AA). Addressing is one of accumulator to memory absolute, absolute memory to accumulator, input to absolute memory and absolute memory to output. | CARDIAC has a 10 instruction machine language. An instruction is three decimal digits (the sign is ignored) in the form OAA. The first digit is the op code (O); the second and third digits are an address (AA). Addressing is one of accumulator to memory absolute, absolute memory to accumulator, input to absolute memory and absolute memory to output. | ||
High level languages have never been developed for CARDIAC | High level languages have never been developed for CARDIAC because: | ||
* High level languages would defeat one of the purposes of the device: to introduce concepts of assembly language programming [citation needed]. | |||
* Emulating high level languages with analog paper devices is a non-trivial challenge [original research]. | |||
Programs are hand assembled and then are penciled into the appropriate memory cells. | Programs are hand assembled and then are penciled into the appropriate memory cells. | ||
Line 39: | Line 41: | ||
* [https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_Computation CARDboard Illustrative Aid to Computation] @ Wikipedia | * [https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_Computation CARDboard Illustrative Aid to Computation] @ Wikipedia | ||
* [https://boingboing.net/2019/11/21/heres-how-to-made-a-comput.html Here's how to make a "computer on a card" from the 1960s] @ Boing Boing | |||
[[Category:Nonfiction (nonfiction)]] | [[Category:Nonfiction (nonfiction)]] | ||
[[Category:Computer science (nonfiction)]] | [[Category:Computer science (nonfiction)]] | ||
[[Category:Computation (nonfiction)]] |
Latest revision as of 06:31, 22 November 2019
CARDIAC (CARDboard Illustrative Aid to Computation) is a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Telephone Laboratories in 1968 to teach high school students how computers work. The kit consists of an instruction manual and a die-cut cardboard "computer".
The computer "operates" by means of pencil and sliding cards. Any arithmetic is done in the head of the person operating the computer. The computer operates in base 10 and has 100 memory cells which can hold signed numbers from 0 to ±999. It has an instruction set of 10 instructions which allows CARDIAC to add, subtract, test, shift, input, output and jump.
Hardware
The "CPU" of the computer consists of 4 slides that move various numbers and arrows to have the flow of the real CPU (the user's brain) move the right way. They have one flag (+/-), affected by the result in the accumulator.
Memory consists of the other half of the cardboard cutout. There are 100 cells. Cell 0 is “ROM”, always containing a numeric "1"; cells 1 to 98 are "RAM"; available for instructions and data; and cell 99 can best be described as "EEPROM".
Memory cells hold signed decimal numbers from 0 to ±999 and are written with a pencil. Cells are erased with an eraser. A “bug” is provided to act as a program counter, and is placed in a hole beside the current memory cell.
Programming
CARDIAC has a 10 instruction machine language. An instruction is three decimal digits (the sign is ignored) in the form OAA. The first digit is the op code (O); the second and third digits are an address (AA). Addressing is one of accumulator to memory absolute, absolute memory to accumulator, input to absolute memory and absolute memory to output.
High level languages have never been developed for CARDIAC because:
- High level languages would defeat one of the purposes of the device: to introduce concepts of assembly language programming [citation needed].
- Emulating high level languages with analog paper devices is a non-trivial challenge [original research].
Programs are hand assembled and then are penciled into the appropriate memory cells.
In the News
Fiction cross-reference
Nonfiction cross-reference
External links:
- CARDboard Illustrative Aid to Computation @ Wikipedia
- Here's how to make a "computer on a card" from the 1960s @ Boing Boing