読み方 : めいれいデコーダ
命令デコーダ【instruction decoder】命令解読器

コンピュータ上のプログラムは、2進数で表現された命令の列としてメインメモリに格納されている。CPUはプログラムカウンタ(PC:Program Counter)が示すメモリアドレスから命令コード(instruction)を読み出し、命令レジスタ(IR:Instruction Register)に格納する。この動作を「フェッチ」(fetching)と呼ぶ。
命令デコーダはIRに保持された命令コードを解析し、その命令が求める処理の内容を判別する。この動作を「命令デコード」(decoding)と呼ぶ。命令コードは、実行する演算の種類を示す「オペコード」(opcode)と、対象となるデータやレジスタを示す「オペランド」(operand)で構成されている。
命令デコーダはこれらを分離・解釈し、ALUやレジスタ、メモリ制御回路など各部への制御信号を生成する。各回路はこの信号に従って動作し、データの演算や転送といった処理を実行する。実行結果はレジスタまたはメモリに書き戻され、一つの命令サイクルが完了する。CPUはこのフェッチ、デコード、実行、書き戻しのサイクルを繰り返すことでプログラムを処理する。
制御信号の生成方式には、固定的な論理回路によって信号を出力する方式と、「マイクロプログラム」(microprogram)と呼ばれる制御用命令列を参照して逐次的に信号を生成する方式がある。現代のCPUでは、前後の命令の異なる段階の処理を同時に実行するパイプライン処理が一般的であり、複数の命令がフェッチ・デコード・実行の各段階を同時並行で進む。
(2026.6.25更新)
関連用語
資格試験などの「命令デコーダ」の出題履歴
▼ 基本情報技術者試験
【平24修1】 プロセッサの制御機構に分類されるものはどれか。