コンピュータは電子回路でできています。高機能なパソコンもスマートフォンも、とことんまで分解すれば単純な役割の素子の組み合わせです。論理回路の講義では、論理素子と呼ばれる単純な素子から高機能なパーツ、ひいてはコンピュータを作る方法を学びます。
電子回路と論理回路の違いはアナログかデジタルかの違いです。電子回路では、時間とともに電流が変化するような回路や、ときにはノイズの影響を考えますが、論理回路は細かな物理的な特性は無視して、常に 0V か 5V かという二つの値をとるような回路を考えます。ノイズによるぶれや、5V まで上昇するのにかかる時間は考慮しません。
なので、論理回路では電子回路に比べて議論が単純化されているわけですが、この単純化のおかげでコンピュータを構成するための本質的な部分に着目することができます。
この講義では、AND 素子や OR 素子などの単純な論理素子の説明からはじめて、最後には素朴なコンピュータを作るところまで目指します。コンピュータまで作ってしまうのは論理回路の講義としてはイレギュラーなのですが、こうすることで、後のマイクロプロセッサアーキテクチャやコンピュータアーキテクチャの話が理解しやすくなると思います。
パソコンやスマートフォンなどのコンピュータ製品には鮮やかなディスプレイが付いていますが、この講義で作るコンピュータはそんな高度なことはできません。ただ 8 つの LED ライトが付いているだけです。これでは動画を見ることも画像を表示することすらできません。
しかし、8 つの LED ライトといっても侮ってはいけません。それぞれ光っている場合と光っていない場合を考えると合計 \(2^8 = 256\) 通りの発光パターンがあります。この発光パターンをどう捉えるかは使う人次第です。これを二進数として解釈すると 0 から 255 までの値を表現できることになります。アスキーコードとして捉えると、文字を一文字出力できるコンピュータということになります。どのようなアプリケーションを作れるかはプログラムと想像力次第です。それに、理論上は 8 つができたらそこからいくらでも増築することができます。1024*756*3 個の LED ライトをつなげてディスプレイとするのも夢ではありません。
LED ライトには電流が流れたら発光し、電流が流れなかったら発光しないです。電流が流れている回路を 1、流れていない回路を 0 と表すことにします。結局、論理回路の設計でやるべきことは、思い通りに回路に 0 と 1 を流すにはどうすればよいか、という問題になります。
- コンピュータは単純な素子の組み合わせでできている
- 論理回路は電子回路からアナログな要素を取り除き 0 か 1 かのデジタルで表現できるようにしたもの
次回からは、単純な論理素子からはじめて、徐々に複雑な回路を設計できるように目指していきます。