マイクロコード 【microcode】 μOPs / マイクロ命令 / マイクロオペレーション / micro-operation
概要
マイクロコード(microcode)とは、コンピュータのCPU(MPU/マイクロプロセッサ)に対する命令を、プロセッサ内部でさらに分割した単純な命令のこと。プログラムに記述された命令列をマイクロコードの列に変換したものをマイクロプログラム(microprogram)という。マイクロプロセッサはそれぞれ固有の命令語の体系(命令セット)を持ち、これを並べて処理内容を記述したものが実行可能形式のコンピュータプログラムである。個々の命令語の動作が単純なRISC型のプロセッサなどでは、それぞれの命令に対応した実行回路が用意されており、命令を直接解釈して実行することができる(ワイヤードロジック方式)。
一方、命令セットの中に複雑で高機能な命令を含むCISC型のプロセッサなどでは、すべての命令について直接実行する回路を用意するのは難しいため、プロセッサ内部で複雑な命令をより単純な動作の複数のマイクロ命令の組み合わせに分解してから実行する。これをマイクロプログラム制御方式という。
マイクロプログラム方式の利点として、内部構造(マイクロアーキテクチャ)が大きく異なるプロセッサ間でも命令セットの互換性を確保しやすく、同じメーカーの新製品が回路設計を刷新して機能や性能を向上しつつ過去の製品との互換性(後方互換性)を維持するのに役立つ。
また、命令セットからマイクロ命令への変換ルールを書き換え可能なメモリ装置に記録しておけば、出荷後に訂正版を提供して不具合を修正したり機能を拡張することもできる。
(2019.1.28更新)