🔢
[論理回路]デコーダを理解する
役割
概念的には「命令の解釈」を行う部品です。単なるビット列と、命令という論理的な概念を繋げてくれています。CPUの命令を特定して、命令に対応した信号を出力する役割を持ちます。
機構
図のような2bitの入力の場合、真理値表は以下のようになります。
| A1 | A0 | Y3 | Y2 | Y1 | Y0 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 |
みてわかるように、出力の信号パターンは「1bitだけが真」の全集合です。これがそれぞれ、CPUの持つ命令に対応しているのです。それぞれ、レジスタからの取得・即値の処理・メモリからの取得、とかが入るのでしょう。4bitでは現実的なCPUの処理を網羅するには足りないので、もっと大きなbit数のデコーダが採用されます。

ここで出力された信号は制御信号となって、それぞれの命令の回路を実行する役割を持ちます。
画像出典:
Discussion