50  論理回路

複数の論理ゲートを組み合わせれば,より複雑な論理回路(logic circuit)を作ることができる.論理回路は,演算や記憶などを行う.

論理回路には,組み合わせ回路(combinational circuit)と順序回路(sequential circuit)の2種類がある.

50.1 組み合わせ回路

組み合わせ回路は,入力信号の状態に応じて出力信号が決まる.例えば,加算を行う加算器が該当する.

50.1.1 半加算器

コンピューターでは,もっとも基本的な演算は加算である.加算を行う論理回路は加算器(adder)と呼ばれる.加算器には,半加算器(half adder)と全加算器(full adder)がある.ここでは,半加算器について説明する.

半加算器は以下のような加算を行う.

\begin{array}{r} 0 \\ + 0 \\ \hline 00 \\ \end{array}

\begin{array}{r} 0 \\ + 1 \\ \hline 01 \\ \end{array}

\begin{array}{r} 1 \\ + 0 \\ \hline 01 \\ \end{array}

\begin{array}{r} 1 \\ + 1 \\ \hline 10 \\ \end{array}

半加算器は,2つの入力信号ABを受け取り,2つの出力信号SCを生成する.ここで,SはSum(和)を表し,CはCarry(桁上がり)を表す.

半加算器は,次のような真理値表で表される.

A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

ABSだけを見ると,これはXORゲートで実現できる.ABCだけを見ると,これはANDゲートで実現できる.したがって,半加算器は次のように表現できる.

半加算器

50.2 順序回路

順序回路は,入力信号の状態と内部の状態に応じて出力信号が決まる.例えば,記憶ができるSRラッチが該当する.

50.2.1 SRラッチ

SRラッチは,1 bitの情報を記憶するための基本的な順序回路である.

ここでは,2つのNORゲートを用いたSRラッチについて説明する.

NORゲートは,入力信号が両方とも0のときに出力が1になるゲートである.

A B 出力
0 0 1
0 1 0
1 0 0
1 1 0

SRラッチは,S(Set)とR(Reset)の2つの入力信号を持ち,出力信号はQ\bar{Q}で表される.Qは記憶されている値を表し,\bar{Q}はその否定を表す.

SRラッチ

SRラッチの動作は次の通りである.

  1. S = 1R = 0のとき,Q = 1\bar{Q} = 0となる.「セット」状態になる.
  2. 次にS = 0R = 0のとき,出力は変化せず,Q = 1\bar{Q} = 0のままとなる.「保持」状態になる.
  3. S = 0R = 1のとき,Q = 0\bar{Q} = 1となる.「リセット」状態になる.
  4. 次にS = 0R = 0のとき,出力は変化せず,Q = 0\bar{Q} = 1のままとなる.「保持」状態になる.
  5. S = 1R = 1のとき,出力は不定となる.
  6. 初期状態では,S = 0R = 0とする.Q\bar{Q}の初期値は不定である.

50.3 集積回路

集積回路(IC: Integrated Circuit)は,多数の論理ゲートを1つに集約したものである.集積回路は,論理ゲートの数に応じて,次のように分類される.

略語 Full Name Number of Gates
SSI Small-Scale Integration 1-10 gates
MSI Medium-Scale Integration 10-100 gates
LSI Large-Scale Integration 100-100,000 gates
VLSI Very Large-Scale Integration 100,000+ gates

(N. Dale and J. Lewis, Computer science illuminated, 7th ed. Sudbury, MA: Jones and Bartlett, 2024.)

50.4 CPU

コンピューターにおいて,最も重要な集積回路は中央処理装置(CPU: Central Processing Unit)である.

50.5 練習問題

  1. 以下の図に示す論理回路の真理値表を作成せよ.

問題1
A B Output
0 0
0 1
1 0
1 1
  1. 以下の図に示す論理回路の真理値表を作成せよ.

問題2
A B Output
0 0
0 1
1 0
1 1