この記事はセルオートマトンによるCPU作成連載記事の4つ目です。(2022/12/08)
今回は、セルオートマトンで基本的な論理回路であるAND回路・OR回路・NOT回路を組み立てます。
セルがOn状態(紺色表示)を1、Off状態(灰色表示)を0とします。
最初はOR回路です。
OR回路は複数の入力の中で1つでもOn状態(1)であれば出力もOn(1)になる回路です。すべての入力がOff(0)の時に限り出力がOff(0)になります。
このセルオートマトンでは単に合流させればORになります。
入力1 | 入力2 | 出力 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
次はNOT回路です。OnとOffを反転させる回路です。
このセルオートマトンでは赤いセルがそのままNOTになります。
入力 | 出力 |
---|---|
0 | 1 |
1 | 0 |
これらを組み合わせたNOR(OR+NOT)回路です。OR回路の出力にNOT回路を接続します。入力が1つでもOnであれば出力はOffになり、入力がすべてOffのときに限り出力はOnになります。
入力1 | 入力2 | 出力 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
さらに入力側にもNOT回路を接続します。入力が1つでもOffであれば出力はOffになり、入力がすべてOnのときに限り出力はOnになります。
つまりこれはAND回路になります。
入力1 | 入力2 | 出力 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
AND回路は赤いセルを寄せることでコンパクトにできます。
AND回路にある出力のNOTを削除するとNAND回路になります。
入力1 | 入力2 | 出力 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
AND回路、OR回路、NOT回路、NAND回路、NOR回路がそろいました。これで任意の論理演算ができるようになるはずです。