マイクロプログラム方式
マイクロプログラム方式（マイクロプログラムほうしき、マイクロプログラミング、英：microprogramming）は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム（マイクロコード）を使用して、複雑な命令を比較的容易に実装する。
利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア（命令セットアーキテクチャ、ISA）を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である（仮想化技術のひとつともいえる）。
反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。
一般にROM (Read Only Memory) またはPLA（）、またはそれらを組み合わせたものに格納される。コントロールストアをRAMで構成すると、動的にプログラマブル可能にできるが起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。
マイクロプログラム方式は、主にCISCのCPUで採用されている。
マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジック（布線論理)と呼ばれる。RISCは原則としてはワイヤードロジックで構築される。
「マイクロ」という用語は英語の小さいという一般的な意味として使われている。このため、マイクロプロセッサやマイクロコンピュータやマイクロコントローラやその他「マイクロ」と付く物とは関連性は無い。
IBMなどのベンダーではマイクロコードという語を「ファームウェア」の同義として使うことがあり、周辺機器に格納されるマイクロプログラムも機械語プログラムもまとめてマイクロコードと呼ぶことがある。