マイクロコードは（ファームウェアの一部として）ROMに格納されていることもあるし、CPUの初期化の一環としてRAMにロードされることもある。このため広義には、CPU以外を含むファームウェア全般をマイクロコードと呼ぶ場合もある。
コンピュータの電源投入時に、マイクロコードをロードする過程をIML（イニシャル・マイクロコード・ローダー）とも呼ぶ。またマイクロコードが格納されているメモリをコントロールストアと呼ぶ。
歴史.
初期のコンピュータのCPUの制御回路は行き当たりばったりの方法で設計されていた。最も単純なものとしてはコンピュータの制御ロジックの順序制御のためにフリップフロップのリングを使っていた。
コントロールストアから発せられる信号群は、自動ピアノのピアノロールのような役割を果たす。すなわち、それぞれのビットがそれぞれの部分を制御するようになっている。ただし、コントロールストアの奏でる曲は短く、しかも繰り返し演奏される。
利点.
仮想化.
マイクロプログラム方式のプロセッサのハードウェアの実装は一般のプログラマから見えるものとは違っていて、よりシンプルである。このシンプルなアーキテクチャ（マイクロアーキテクチャ）上で、プログラマに見せるアーキテクチャをエミュレートするマイクロプログラムが実行される。このマイクロアーキテクチャはプログラマに見えているアーキテクチャと固定的な関係である必要は全くない。これを利用すれば、様々なマイクロアーキテクチャのハードウェア上に任意の（プログラマから見える）アーキテクチャを実装することができる。
マイクロプログラミングはプロセッサのバグの修正も容易にする。多くのバグはマイクロプログラムの修正で間に合い、ハードウェアのロジックや配線を修正する必要がない。
性能.
一方で、コンピュータの初期から主記憶装置はCPUに比べて相対的に遅く、複雑な処理（例えば浮動小数点数演算や文字列処理、多項式の計算）は、主記憶に記憶させた命令の組み合わせで実現するよりも、複雑な処理をする命令をCPU内部でマイクロプログラムで実現したほうがメモリへのアクセスが少なくなる分だけ短時間で処理できた。