入力の組合せだけで出力が決まり、過去の状態を記憶しない論理回路。
組合せ回路とは、そのときの入力の組合せだけで出力が決まり、過去の状態を一切記憶しない論理回路のことです。AND・OR・NOT といった論理ゲート(=0と1で計算する小さな部品)を線でつないで作ります。
身近な例で考えると、自動販売機の「ボタンを押すと商品が出る」仕組みに似ています。押したボタンに応じて出る商品が即決まり、昨日どのボタンを押したかは関係ありません。入力(ボタン)が同じなら、出力(商品)はいつも同じです。
上のツールで▶ボタンを押すと、入力 A・B・C を与えると AND ゲート・OR ゲートを通って出力 Y が即座に確定する様子を確認できます。クロック(合図)を待つことなく出力が決まるのが特徴です。
論理回路は大きく2種類に分けられます。両者の最大の違いは「過去の状態を覚えているかどうか」です。
それぞれの特徴は次のとおりです。
・組合せ回路:現在の入力だけで出力が決まる。記憶を持たず、入力が同じならいつも同じ出力
・順序回路:現在の入力に加えて過去の状態でも出力が決まる。フリップフロップ(=1ビットを覚える部品)で状態を記憶する
・クロックの有無:組合せ回路は不要、順序回路は状態を更新するクロックの合図が必要
| 項目 | 組合せ回路 | 順序回路 |
|---|---|---|
| 記憶 | なし | あり(状態を保持) |
| 出力が決まる要素 | 現在の入力だけ | 現在の入力+過去の状態 |
| 代表例 | 加算器・デコーダ | レジスタ・カウンタ |
計算するだけなら組合せ回路で十分ですが、「何かを覚えておく」「順番に動く」といった働きには順序回路が必要です。実際のコンピュータは、この2種類を組み合わせて作られています。
組合せ回路を設計するときは、いきなり配線を考えるのではなく、「どんな入力でどんな出力が欲しいか」を真理値表で先に決めるのが基本です。真理値表は、入力の全パターンとそれに対する出力を一覧にした表のことです。
設計はおおむね次の流れで進めます。
・① 真理値表を書く:入力の全組合せに対し、欲しい出力を 0/1 で埋める
・② 論理式に直す:出力が 1 になる行を AND と OR でつないで式にする
・③ ゲート回路に置き換える:論理式どおりに AND・OR・NOT を並べて配線する
料理にたとえると、真理値表が「完成させたい料理(仕様)」、ゲート回路が「実際の調理手順」です。まず完成形を決めてから手順に落とすので、無駄なく正しい回路を作れます。入力の数が増えると真理値表の行数は 2 のべき乗で増えるため、式を簡単にする工夫(簡単化)も設計の大切な一部です。