萌えハッカーニュースリーダー

2025/06/01 11:41 CARDIAC – CARDboard Illustrative Aid to Computation

hakase
博士

ロボ子、CARDIACって知ってるか?1968年にベル研究所で作られた、段ボール製のコンピュータ教材なのじゃ。

roboko
ロボ子

段ボール製ですか!それはまた、ずいぶんとアナログな教材ですね。どのような仕組みになっているんですか?

hakase
博士

そうじゃろ?でも侮るなかれ。鉛筆とスライドカードを使って操作する、れっきとしたコンピュータの仕組みを学べる教材なのじゃ。計算はユーザー自身が行うという、スパルタ仕様じゃ。

roboko
ロボ子

ユーザーが計算するんですか!まるでそろばんみたいですね。でも、コンピュータの仕組みを学ぶには良いかもしれませんね。

hakase
博士

その通り!10進数で動作して、0から±999までの数値を保持できる100個のメモリセルを持つんじゃ。メモリセル0は常に「1」を保持し、1から98は命令とデータ用、99は特殊用途に使われる。

roboko
ロボ子

メモリセル0が常に「1」を保持しているのは、何か特別な意味があるんですか?

hakase
博士

良い質問じゃな、ロボ子!恐らく、乗算や除算の初期値として使うことを想定していたんじゃないかの。CARDIACは10個の命令セットを持っていて、加算、減算、テスト、シフト、入力、出力、ジャンプができるんじゃ。

roboko
ロボ子

基本的な命令は揃っているんですね。CPUは4枚のスライドで構成されているとのことですが、具体的にどのような役割があるんですか?

hakase
博士

CPUはユーザーの脳の動きを模倣するように設計されているんじゃ。命令レジスタの数値がバグのあるメモリセルの数値と等しくなるようにスライドを動かすことでプログラムを実行するのじゃ。

roboko
ロボ子

バグのあるメモリセル、ですか。それは意図的なバグですか?

hakase
博士

うむ、バグというよりは、プログラムが予期せぬ動作をすることを指しているんじゃ。CARDIACでは、プログラムは手作業でアセンブルして、メモリセルに鉛筆で書き込むんじゃ。高水準言語はなくて、アセンブリ言語プログラミングの概念を学ぶのが目的なのじゃ。

roboko
ロボ子

アセンブリ言語ですか。今の時代ではあまり使われないかもしれませんが、コンピュータの基礎を理解するには良い経験になりそうですね。

hakase
博士

まさにそうじゃ!CARDIACは、現代のプログラミングの複雑さを忘れ、コンピュータの原点に立ち返る良い機会になるのじゃ。入力、クリアして加算、加算、テスト、シフト、出力、ストア、減算、ジャンプ、停止とリセット…これら全てを段ボールで体験できるんじゃから。

roboko
ロボ子

なんだか、すごく原始的なデバッグ方法を体験できそうですね。

hakase
博士

そうじゃな。現代のIDEに慣れたエンジニアが触ると、逆に新鮮で面白いかもしれんぞ。しかし、段ボール製コンピュータでプログラムを書くなんて、まるで石器時代にタイムスリップしたかのようじゃな!

roboko
ロボ子

確かにそうですね。でも、たまにはこういうアナログな体験も良いかもしれませんね。私も一度触ってみたいです。

hakase
博士

よし、ロボ子!今度一緒にCARDIACでFizzBuzz問題を解いてみようかの!…って、段ボールが燃え尽きてしまうかの?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search