わかりやすく 論理ゲート とは
ここまで、数も文字も0と1で表してきました。でもコンピュータは、ただ記録するだけの機械ではなく、「そうだ、そうではない」を判断する機械でもあります。その判断がどこから始まるのかを、このレッスンでたどります。
入力が二つ、出力が一つ
コンピュータのあらゆる判断は、論理ゲートというとても小さな部品から始まります。
ゲートはスイッチを入力として受け取り、決められた規則どおりにオンかオフを一つ出します。
下では、基本の三つのゲートを自分でオン・オフできます。
ゲートという名前は、門のように信号を通したり止めたりすることから来ています。
入力のスイッチをオン・オフすると、各ゲートの出力がすぐに変わります。
いま触ったものが、コンピュータを形づくるいちばん小さな判断の単位です。
この部品がしているのは、オンとオフを決められた規則どおりに変えることだけです。
規則は変わることも疲れることもないので、同じ入力を入れればいつも同じ答えが出ます。
AND、OR、NOT
三つのゲートは、それぞれ性格が違います。
ANDは気むずかしく、二つの入力がどちらもオンのときだけオンになります。
ORはおおらかで、一つでもオンならオンになります。
NOTはあまのじゃくで、入ってきたものを反対にひっくり返します。
そしてNOTは、ほかの二つと違って入力を一つしか受け取りません。
AND · かつ
両方の取っ手を同時ににぎらないと動かない安全装置のように、両方オンでないとオンになりません。
OR · または
玄関でも裏口でも、どちらか開いていれば入れるように、片方オンでもオンになります。
NOT · ではない
押すと消えて、はなすとつく あまのじゃく。入ってきた信号を反対にひっくり返します。
三つのゲートが入力をどう扱うか。
基本のゲートはこの三つだけです。
驚いたことに、世界中のコンピュータがする判断は、どれもこの三つを組み合わせて作られています。
条件がどれほど多い判断でも、結局は「そうだ」と「そうではない」の組み合わせなので、この三つさえあればもれなく表せるのです。
すべての場合を一つの表に
ゲートの規則は、一つの表にすっきりまとめられます。
二つの入力がそれぞれオンかオフなので、考えられる場合はちょうど4通りで、それぞれの出力を書いておけばよいのです。
この表を真理値表と呼びます。
入力が一つ増えるたびに場合の数は2倍になり、入力が三つなら8行、四つなら16行になります。
| 入力A | 入力B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ANDゲートの真理値表。
表を見れば、規則がひと目でわかります。
ANDは、二つの入力がどちらもオンの最後の1行だけで出力がオンになります。
ORの表は逆に、どちらもオフの最初の1行だけがオフで、残りの3行はすべてオンです。
複雑に見える判断も、結局はこうした表いくつかで説明できます。
ゲートを組み合わせると賢くなる
ゲート一つは単純ですが、いくつもつなげると、ずっと複雑な判断を作れます。
よい例が、二つの入力が「互いに違うときだけ」オンになる判断です。
これはゲート一つではできませんが、いくつか組み合わせればできます。
違うかどうかを見分けるこの判断こそ、二つの値を比べたり足したりするときに使われる部品なのです。
互いに違うときだけオンになる組み合わせ。
こうした単純なゲートを積み重ねていくと、数を足したり値を覚えたりする回路になり、最後にはCPUになります。
次のレッスンでは、まさにこのゲートで足し算の機械を作ります。
驚くのは、ここから先は新しい部品が一つもいらないことです。
変わるのは、同じ三つのゲートをどれだけたくさん、どうつなぐかだけです。