リレーコンピュータは、前々から作ってみたかったモノのうちの一つでした。原始的で基本的な部品であるリレーという部品で、コンピュータという情報を扱う機械を作り上げることができるというのは、非常に魅力的でした。そして、何よりも動作音が魅力的でした。「作ってみたい!」、「動いているところを見てみたい!」という感情がありました。また、雑誌「アスキー」の創設者である、西 和彦氏は中学3年の頃、当時1個500円のリレーを450個買い計算機を作り上げたということを本で読みました。いま、調べてみるとリレー1個24円程度で中華製のものが手に入ることがわかりました。金銭的に当時より、格段に作りやすくなっていると感じた私は、「作ってみたい」から、「作ろう」という気になりました。
aliexpressで中華製のリレーを調べたところ、1ロット50個9.22ドルというものが送料も含めて最安値そうだったのでこれを1050個(21ロット)注文しました。送料込みで243.44ドル(一個あたり24円ぐらい?)になりました。また、関税で2,000円程取られました。いやー、便利ですねぇー、海外からこんなに簡単に輸入ができるなんて。そして、届いたのがこちらです。リレーとはいえ、1000個集まればかなり重いです。
1000個も集まると圧巻ですねー。最強のおもちゃになりそうです。それにしてもこのリレー届いてから思ったんですけれども、ピンが中途半端なところにあります。最初はユニバーサル基板で作ろうかなと思っていましたが、これはどうやらプリント基板を作らなくてはいけなそうです。
そんな感じで、製作していきます。
リレーコンピュータというくらいですから、主基板には半導体は使いません。デバック用の表示等はLEDをしようと考えていますが、コンピュータの制御にかかわる部分すべてリレーで構成します。
リレーコンピュータを設計する上で一番重要ものが、「どのくらいのリレーをどこに割くか」ということだと思います。リレーコンピュータの全体の性能も変わることになります。ということで、今のところ決まっているモノから紹介します。
RAM(レジスタ)
データーを保持する仕方は、主にDラッチという組み合わせによって1bit保存します。リレーによるDラッチは2つのリレーと1つのコンデンサーで構成することができます。このDラッチを8個つなげることで、8bitレジスタができます。計9個の8bitレジスタを積もうと考えています。リレーは(2個*8bit*9個)=144個必要としています。それぞれ用途は以下のようになっています。
名前 | 用途 |
A | アキュムレータ |
F | フラグレジスタ |
B | 汎用レジスタ |
C | 汎用レジスタ |
D | 汎用レジスタ |
E | 汎用レジスタ |
H | 汎用レジスタ |
L | 汎用レジスタ |
PCL | プログラムカウンタ |
名前は、Intel8080やPICなどを参考に付けています。
ALU(演算装置)
ALUは最初は減算回路のみ積もうと思っていました。というのは、リレーの個数が決まっている以上、高機能なものは載せることができません。最低限のALUとして、加算回路のみか、減算回路のみかを比べた場合、減算回路のみ載せたコンピュータの方が有利です。と考え、減算回路のみを積もうと思ったわけです。全減算器を作るにはリレーが10個必要です(計算間違えていなければ...)。ということは8bit減算回路で80個必要なわけです。キャリールックアヘッド回路にするならば120個です。
しかしながら、少し余裕があるのならば、もう少し簡単な機能を付けることにより、かなり高機能なALUにすることができます。ですから、ここについては考慮の余地があります。
MUX(マルチプレクサ)
2入力のマルチプレクサは、リレーの構造をそのまま活かし1つで足ります。ということはn入力のMUXはn-1個のリレーを必要とするわけです。DMUXについても同じです。