論理回路・論理ゲートの種類と仕組み:NOT/NAND/NOR/AND/ORの動作と真理値表
前回は「NOT回路(CMOSインバーター)」を学びました。しかし、コンピュータが複雑な計算を行うには、1つの信号を反転させるだけでは足りません。
複数の信号を組み合わせて「かつ(AND)」や「または(OR)」といった判断を行う論理回路・論理ゲートが必要です。今回は、計算機のビルディングブロックとなる主要なゲートを紹介します。
論理回路の種類一覧
代表的な論理回路(論理ゲート)をまとめました。それぞれの回路が持つ特性と、入力に対する出力の結果(真理値表)を比較してみましょう。画像をクリックすると拡大して確認できます。
| 名称 | 論理式 | 回路構造(記号) | ベン図 |
|---|---|---|---|
| NOT (反転) |
Y = A |
|
|
| NAND (否定論理積) |
Y = A・B |
|
|
| NOR (否定論理和) |
Y = A + B |
|
|
| AND (論理積) |
Y = A ・ B |
|
|
| OR (論理和) |
Y = A + B |
|
|
1. NOT回路(反転)
NOT回路(インバーター)は、入力された信号を反転させて出力する回路です。論理回路の中で最も構造がシンプルです。
NOT回路の真理値表
| 入力 A | 出力 Y |
|---|---|
| 0 | 1 |
| 1 | 0 |
動作は非常に単純で、入力が「1」なら出力は「0」に、入力が「0」なら出力は「1」になります。前回の記事で解説した「CMOSインバーター」そのものであり、すべての論理演算の基礎となる反転動作を担います。
NOT回路のベン図
ベン図で表すと、「入力A」以外の外側の領域すべてが出力対象となります。このように、論理回路は集合の考え方(ベン図)と完全にリンクしています。
2. NAND回路(否定論理積)
NAND(ナンド)回路は、AND(論理積)の結果を反転させた回路です。CMOS構造において最も効率が良く、全ての論理の基本となる「万能ゲート」として知られています。
NAND回路の真理値表
| 入力 A | 入力 B | 出力 Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NANDは、入力が両方とも「1」のときだけ出力が「0」になります。それ以外の組み合わせでは常に「1」を出力します。「ANDの反対」というだけでなく、入力のどれか一つでも「0」なら「1」が出るゲート、と覚えることができます。
NAND回路のベン図
ベン図で確認すると、「AかつB(重なっている部分)」だけを白抜きにし、それ以外のすべての領域が対象となっていることがわかります。まさにANDを反転させた形です。
なぜNANDが重要なのか?
実際のICチップ内部では、ANDやORをそのまま作るよりも、NANDを作る方がトランジスタ数が少なく、面積効率や速度面で圧倒的に有利です。さらに、「NANDさえあれば、どんな複雑な論理回路も作れる(NANDの完全性)」ため、設計の現場ではこのNANDが主役となります。
3. NOR回路(否定論理和)
NOR(ノア)回路は、OR(論理和)の結果を反転させた回路です。CMOS構造ではNANDと同様に作りやすく、設計において重要な役割を果たします。
NOR回路の真理値表
| 入力 A | 入力 B | 出力 Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
NORは、入力が両方とも「0」のときだけ出力が「1」になります。どちらか一方でも「1」があれば出力は「0」となります。これは「ORの反対」の挙動であり、特定の信号が一つも立っていないことを検知する際などに役立ちます。
NOR回路のベン図
ベン図で見ると、AとBの円の外側(どちらにも属さない領域)だけが対象となっています。OR(AまたはB)を完全に反転させた状態です。
NANDが「万能ゲート」なら、実はNORも「万能ゲート(完全性を持つゲート)」です。NORさえあれば、NOT、AND、OR、さらにはXORまですべて作ることができます。
しかし、実際のCMOSチップ設計では、電子の移動度の関係で、PMOSを直列につなぐNORよりも、高速で面積効率が良いNANDを優先して使うのがセオリーとなっています。
半導体のキャリアとは何か:電子・正孔・移動度とは4. AND回路(論理積)
AND(アンド)回路は、すべての入力が「1」のときだけ「1」を出力する回路です。直列のスイッチと同じイメージです。
AND回路の真理値表
| 入力 A | 入力 B | 出力 Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ANDは、すべての入力が「1」のときだけ「1」を出力します。条件がすべて揃ったときだけ次へ進む「ゲート」の役割を最も忠実に表しており、特定のアドレス選択(デコード)や有効化信号(イネーブル)の制御に多用されます。
AND回路のベン図
ベン図では、AとBが重なっている「共通部分」だけが対象となります。CMOS回路では、一度「NAND」を作ってからインバーターで反転させることで実現されます。
5. OR回路(論理和)
OR(オア)回路は、入力の少なくとも一方が「1」であれば「1」を出力します。並列のスイッチをイメージすると分かりやすいでしょう。
OR回路の真理値表
| 入力 A | 入力 B | 出力 Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
ORは、入力の少なくとも一方が「1」であれば「1」を出力します。どれか一つの条件でも満たせば発火させたいアラート処理や、複数の信号をまとめるバス回路などの論理に欠かせない要素です。
OR回路のベン図
ベン図では、AとBの円の中すべて(和集合)が対象となります。CMOSでは、一度「NOR」を作ってから反転させることでORを実現します。
次回:XOR / XNOR回路:演算の核となる応用ゲート
これまでの基本ゲートを組み合わせることで、「入力が不一致のときだけ1を出す(XOR)」といった、より高度な判断が可能になります。
XOR回路(排他的論理和)
| 入力 A | 入力 B | 出力 (XOR) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XORは、2つの入力が「異なるとき」だけ出力が「1」になる回路です。2進数の足し算(1+1=0、桁上がり無視)と同じ挙動を示すため、演算回路には欠かせない存在です。
XNOR回路(否定排他的論理和)
| 入力 A | 入力 B | 出力 (XNOR) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
XORを反転させたのがXNORです。こちらは2つの入力が「一致したとき」だけ「1」を出力します。データの比較(コンパレータ)などに使われます。
「NAND」の組み合わせによるXOR
CMOS構造でXOR($Y = A\overline{B} + \overline{A}B$)を一つの回路として設計しようとすると、素子間の配線が複雑になり、信号の遅延や動作の不安定化を招きやすくなります。
そのため、実務上は「4つのNANDゲート」を組み合わせて構成するのが一般的です。
NANDゲートは、CMOSにおいて最も構造がシンプルで面積効率も良く、動作が高速な「最も完成されたゲート」です。複雑な専用回路を特注で作るよりも、この信頼性の高いNANDをビルディングブロックとして使い回す方が、結果としてチップ全体の設計効率と性能が向上するのです。
前の講座






