未来エンジニア養成所Blog

月単価180万以上のプログラミング講師がプログラミングを皆に楽しんでもらうための情報をお届けします。

【コンピュータの仕組み】論理演算の電気回路による実現

title



電子計算機を実現


機械に計算をさせると言っても、電子回路によってどう作れば良いのか。

また、0〜9の数字を2進数でどう扱うかがわからないという問題がありました。



電気回路で計算ができるまで


そこで登場したのがクロード・シャノンです。

電子回路の問題と2進数の問題を解決し、電子式の計算機を見事に実現させます。

今回はシャノンの情報理論を中心に解説します。


まずは電気を使って論理演算を実現させます。


AND、OR、NOT演算を電気回路に置き換えるとどうなるのでしょうか。

仕組みを簡単に説明します。



論理演算


上記はブールの考えた論理値表です。

「真」と「偽」という値を「1」と「0」の数字に置き換えました。

最後には「命題X」と「命題Y」の組み合わせを真理値表としてまとめました。



電気のON/OFFで表現


では、この真理値表を電気と結びつけます。


電気が流れている時を1

電気が流れていない時を0

とします。


つまり、電気のON/OFFで「1」と「0」を表現するのです。


例えば、上記の表にあるAND演算の計算では、一番上の論理演算を「スイッチのXがON」「スイッチのYがON」の時に「結果であるスイッチがON」になるようにすれば良いのです。

これによって論理演算を電気のON/OFFとして実現することが可能です。

思ったよりも簡単にできたのではないでしょうか。



そんなにすごい?


論理演算の「1」と「0」を電気のON/OFFで実現するという話をしましたが、ここで一つ疑問がわきます。

それは、そんなにすごいことなのでしょうか。


現代の私たちが聞くと「そんなものか」とあまりありがたみを感じられないかもしれませんが、当時としては画期的なアイデアでした。


何がすごいかというと、

一つ目がエネルギーを情報として表す

二つ目が工学の世界に論理学をミックスさせた

という2点です。



電気は「エネルギー」に利用される


電気と言えば通常「エネルギー」に利用されることが多いです。

エアコンや洗濯機、掃除機、冷蔵庫など身の回りにある電化製品はすべて電気をエネルギー源として動いています。


これに対してシャノンは電気のON/OFFを「情報」を表すものとして考えました

つまり「エネルギー」としての電気から「情報」としての電気へという発想の転換はなかなか思いつかないアイデアでした。

またその実現に際して、論理学の世界からアイデアを持ってくるというのは当時としてはかなり画期的なアイデアだったのです。



AND演算を電気回路で実現


ではブールの論理演算を電気のON/OFFによって電気回路で作っていきます。


まずはAND演算を電気回路で表した場合です。

AND演算は、2つの命題がどちらとも真でなければ結果も真になりませんでした。

上記の図にもスイッチがXとYで2つあります。


そして、両方ともスイッチがONにならないと結果の部分に電気が行き着くことなく、明かりが付くことはありません。

どちらか片方だけスイッチがONになれば結果は0、両方ともスイッチがONになったときだけ結果は1となります。

これによってAND演算が電気のON/OFFによって実現できたことがわかります。



OR演算を電気回路で実現


次はOR演算を電気回路を使って作ります。

OR演算は、どちらか片方が真なら結果も真になる演算でした。

その場合、上記の図のように2つのスイッチを並列で繋げれば作ることができます。


XとYのどちらかがONになっていれば結果の部分に電気がたどり着くようになっています。

これにより、OR演算を電気回路で実現ができました。



NOT演算を電気回路で実現


最後はNOT演算を電気回路を使って作ります。

NOT演算は、命題が真の場合は結果が偽、命題が偽の場合は結果が真と逆の値を出す演算でした。


NOT演算電気回路はこれまでと少し形が変わります。

電源を入れていないOFFの状態で電気が流れるようになっています。


つまり命題が偽の場合は結果が真となり、そして電源をONにすると電気が流れなくなります。

通常のスイッチの動きとは逆にすることで、スイッチがOFFの場合は電気が付き、ONで起動したときには電気が付かないようになっています。

通常のスイッチとは逆の動きをすることに注意してください。

NOT演算もこのように電気回路によって実現ができました。



XOR演算を電気回路で実現


ここまでブールの考えた論理演算を電気回路を使って作ってみました。

AND、OR、NOT回路のみできましたが、最後にもう一つXOR回路を作ってみます。


XOR回路は二進数で足し算や引き算など、計算をするときに使われる回路です。

こちらも一緒に内容を押さえておきましょう。


XOR回路はどちらか一方がONになっているときだけ電気が流れます。

それ以外の時は流れません。


少し特殊な形をしているので、実際に回路を確認しましょう。



XOR演算を電気回路で実現


上記がXOR回路の図です。

どちらか一方のスイッチがONになっていれば電気が流れるようになっていて、それ以外の場合はすべて電気は流れません。


上記の図を確認すると、左側のスイッチと右側のスイッチが青い棒で繋がっています。


例えばスイッチXの電源を入れると下のスイッチが棒で押し下げられます。

右側のスイッチYも電源を入れると上のスイッチが棒で押し上げられます。

XOR回路はこのように少し特殊な動きをするようになっています。



XOR演算を電気回路で実現


例えば、スイッチXがONで、スイッチYがOFFなら電気は流れるようになります。

逆もまた同じで、スイッチXがOFFならで、スイッチYがONなら電気は流れます。

両方ともONなら片方が片方の邪魔をしてしまいます。(上記の図)

両方ともOFFでも電気が流れるようにはならないのです。



XOR演算を電気回路で実現


上記の場合はXのみがONとなっているので、電気を流すことができるようになっています。



まとめ


ここまでの内容をまとめます。


クロード・シャノンは電気回路で論理演算を実現させ、さらには四則演算を実現させました。

その背景には10進数を使った電子式計算機の実現が困難だった背景がありました。

そこでシャノンは二進数による計算を考え、1と0を電気のON/OFFで表します。

今回はAND、OR、NOT、XORの4つの論理演算を電気回路で実現しました。


このようにクロード・シャノンのアイデアによって論理演算を電気回路によって実現できました。


参考図書



LINE公式アカウント

仕事が辛くてたまらない人生が、仕事が楽しくてたまらない人生に変わります。
【登録いただいた人全員に、無料キャリア相談プレゼント中!】


LineOfficial

友だち追加