Hoicos Blog

Author: かどけん

論理関数とその応用

論理関数とパソコンの関係
4065859 m 1024x683 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

皆さん論理関数という言葉を聞いたことはありますか?
そもそも関数というのは簡単に言ってしまえば、値が与えられたとき結果が一つに決まるものだから論理関数にも何かの入力とそれに対応する出力が存在することになります。

その入力と出力の値は論理の世界では1か0のどちらか一つになります。1か0というのはコンピュータで使われる2進数と同じであり、下の記事で書いた2進数の性質と今回の論理関数を組み合わせることでコンピュータの基礎は出来上がっているといえます。

ということで今回はそんな論理関数の代表例とその応用方法について述べていきたいと思います!!

主な論理関数

論理の世界において以下の4つの論理関数は非常に重要です!というかむしろ以下の4つしか覚えるものはありません。ここからはそれぞれの論理関数の具体的な性質と回路をかくときにどのような記号になるか(論理回路)についてもお話ししていきますね。

b6d7b6ba82522a330d5542bec0c59a08 1024x257 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン
論理回路の具体例

論理積(AND)

最初の論理関数は論理和と呼ばれるものです。画像にある通りどちらか一方に0があるときは0となり、すべてが1のときのみ1を出力します。(ここではX,Yともに1である。)論理回路では丸いかまぼこのような形で表現します。

AND 1024x578 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

論理和(OR)

次に紹介する論理関数は論理和(OR)です。これはすべてが0の場合0を出力しそれ以外はすべて1となる論理関数です。論理和と論理積は日本語の”または”と”かつ”と同じような働きをするといえます。論理回路における論理和の形はブーメランのように左側が少しへこんでいるのが特徴です。

OR 1024x517 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

否定(NOT)

否定(NOT)はそのままの意味なのでとても分かりやすいですね。働きとしては入力されたものとは違う値を返します。(1なら0を返し、0なら1を返す)論理回路では三角形の先に小さい丸が付いたおでんのようなマークで表します。また、小さい丸だけでも同じような意味になるため否定(NOT)はほかの論理関数の左側面に小さい丸を付ける等で示すこともあります。日本語で言うところの”~でない”です。

NOT 1024x446 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

排他的論理和(XOR)

最後は排他的論理和です。こちらは簡単に言ってしまえばX,Y両方の入力が同じなら0を出力し、バラバラな値だったら1を出力する論理関数です。論理回路では論理和(OR)に曲線を加えた形で排他的論理和を示します。

XOR 1 1024x541 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

排他的論理和についての細かい説明は別の記事で紹介されていますので興味がある方はぜひ読んでみてください。

論理回路の応用

さて、4つの代表的な論理関数を学んだわけですが……果たしてこれがどのようにしてパソコンに生かされているのでしょうか?

下の画像について考えてみましょう。NOTが2つあり片方の出力がもう片方の入力に繋がっています。これはインバータループと呼ばれ赤と緑の2つの状態があります。

赤の場合:①の出力が0なら、②の入力は0となり、②の出力は1となる。これより①の入力は1、出力は0でループを作る。
緑の場合:①の出力が1なら、②の入力は1となり、②の出力は0となる。これより①の入力は0、出力は1でループを作る。

どちらの場合も入出力の値は整合性がとられ安定しています。この赤の場合と緑の場合は”0を記憶している状態”と”1を記憶している状態”ととらえることができます。このループはレジスタと呼ばれるコンピュータ内の小容量の記憶装置に活用されています。

f000cc431a16d24ae3e68d28ebd65157 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン

しかしこのループだけでは任意の値を入出力することはできないので、本当はインバータループを埋め込んだSRラッチという回路がレジスタ内に組み込まれています。

SRラッチは今までの回路より難しいので詳しくは説明しませんが先ほどのインバータループに無理やり入出力口を作ったものになります。

ad3se 6cxp3 - 論理関数とその応用-%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3-自由研究, パソコン
SRラッチ概図

最後に

コンピュータの回路は単純な4つの代表的な論理関数とクロック回路等の特殊な回路との組み合わせでできます。物事を”記憶”するということも論理和(論理積)と否定のみで実現することができるというのは実に面白いことだと思いませんか??もちろんコンピュータは本記事で述べたものよりもはるかに高度なことを行っています。ですが根幹部分にはこのような理論があることは覚えておくと何かの役に立つかもしれませんよ!!

ここまで読んでいただきありがとうございました。




この記事がいいと思ったら↓のシェアボタンから

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。