IT用語を超やさしく理解する

論理回路

別名: 論理ゲート / AND回路 / OR回路 / NOT回路 / NAND回路 / logic circuit / logic gate

先に知っておくと分かりやすいことば(1語)

必要なら先に確認できます。知っていることばは、そのまま読み進めて大丈夫です。

  • 論理演算と真理値表AND・OR・NOT・XORの意味、真理値表の読み方、ド・モルガンの法則を初心者向けに説明します。

30秒で思い出す

論理回路は、0 / 1の論理値を入力として論理演算を行い、0 / 1の論理値を出力する回路です。

代表的な回路は次のとおりです。

  • AND回路: すべての入力が1のときだけ1
  • OR回路: 少なくとも1つの入力が1なら1
  • NOT回路: 入力を反転する
  • NAND回路: ANDの結果を反転する

論理演算で学んだ真 / 偽を、回路では論理値1 / 0に対応させて考えるとつながります。

論理演算を回路にする

論理回路では、入力された0 / 1をゲートと呼ばれる回路へ通し、論理演算の結果を出力します。

たとえばAND回路なら、

A = 1
B = 1

AND

Y = 1

です。

どちらか一方でも0なら、ANDの出力は0になります。

AND回路

AND回路は論理積を実現します。

A  B  | Y
0  0  | 0
0  1  | 0
1  0  | 0
1  1  | 1

「すべての条件を満たしたときだけ1」と考えます。

OR回路

OR回路は論理和を実現します。

A  B  | Y
0  0  | 0
0  1  | 1
1  0  | 1
1  1  | 1

少なくとも1つの入力が1なら出力は1です。

NOT回路

NOT回路は入力を反転します。

A | Y
0 | 1
1 | 0

入力が1なら0、0なら1です。

NAND回路

NAND回路は、ANDの結果をNOTで反転した回路です。

A  B  | AND | NAND
0  0  |  0  |  1
0  1  |  0  |  1
1  0  |  0  |  1
1  1  |  1  |  0

つまり、両方が1のときだけ0になります。

回路を順番に読む

複数のゲートをつないだ回路では、入力側から順番に途中の値を求めます。

たとえば、

A = 1
B = 0

A OR B

X = 1

X AND C

Y

ここでC=1なら、

  1. A OR B = 1
  2. X AND C = 1 AND 1 = 1

なので、最終出力Yは1です。

一度に回路全体を読まず、各ゲートの出力を中間値として順番に求めるのが基本です。

真理値表との関係

論理回路の動作は真理値表で確認できます。上のAND回路の表のように、入力の全組合せと出力を対応させます。

回路図で迷ったときは、対応する論理演算へ戻すと整理しやすくなります。

正論理と負論理

このKnowledgeでは基本的に、

1 = 真
0 = 偽

と対応させる正論理で説明します。

ただし、電気信号の高い / 低い状態と論理1 / 0の対応を逆にする負論理もあります。

大切なのは、0と1の物理的な割り当てを勝手に決めず、問題や回路でどの論理を使っているか確認することです。

どこで使う?

論理回路は、コンピュータ内部で条件判断や演算を実現する基本要素です。

たとえば、

  • CPU内部の演算回路
  • 制御回路
  • 入力信号の判定
  • 複数条件を満たしたときだけ動作する回路

などに論理ゲートの組合せが使われます。

AND / OR / NOTなどを組み合わせることで、より複雑な処理を実現できます。

よくある勘違い

ANDは入力の足し算?

違います。

ANDは数値の加算ではなく論理積です。1 AND 1だけが1になります。

ORは1と1なら2?

違います。

ORの出力は0 / 1の論理値なので、1 OR 1も1です。

NANDはANDと別ルール?

NANDはANDの結果を反転したものです。

まずANDを求め、その結果をNOTすると理解できます。

0と1は必ず電圧の低 / 高と同じ意味?

常に同じとは限りません。

正論理 / 負論理など、信号と論理値の対応は方式によって異なります。

このKnowledgeで扱わないこと

ここでは基本的な論理ゲートと、簡単な組合せ回路の読み方までを扱います。

次はこのKnowledgeへ含めません。

  • フリップフロップ
  • 順序回路の詳細
  • 半加算器 / 全加算器の詳細
  • 回路最小化
  • カルノー図
  • トランジスタレベルの回路動作
  • FPGAなどの実装詳細

これらは必要に応じて別Knowledgeへ分離します。

ここまで分かればOK

  • AND / OR / NOT / NAND回路の出力を求められる
  • 論理演算と論理回路の対応を説明できる
  • 真理値表から回路の動作を確認できる
  • 複数ゲートの回路を入力側から順番に読める
  • 正論理 / 負論理があることを説明できる

資格との関係

基本情報技術者試験

シラバス
Ver.9.2
必要な理解
問題で応用できる
重要度
分野
テクノロジ

関連するIT用語

もっと知りたい

理解できたか確認しよう

答えを選んで、なぜそうなるのかまで確認できます。

確認問題 1

2段の論理回路の出力を求める

AとBをOR回路へ入力し、その出力XとCをAND回路へ入力して最終出力Yを作ります。A=1、B=0、C=1です。

最終出力Yとして正しいものはどれですか?

回答を1つ選んでください

確認問題 2

NAND回路の出力を求める

2入力NAND回路にA=1、B=1を入力したとき、出力Yとして正しいものはどれですか?

回答を1つ選んでください