マイクロプログラム方式
垂直型は、前述のNOPのコストを削減する。ある種の垂直型マイクロコードは非常に単純なコンピュータで複雑なコンピュータをエミュレートしているようなものである。この技術はPDP-8のころは一般的だった。垂直型マイクロコードはふたつのフィールドを持つ。
「フィールドセレクト」はこのワードで制御対象としているCPU内の構成要素を指示する。「フィールドバリュー」はその構成要素を実際に制御する。このタイプのマイクロコードでは、設計者は明示的にコストを優先してCPU性能を犠牲にしていると言える。複雑さを排除することでCPUのクロック周波数を上げることができるかもしれないが、1命令あたりにかかるクロックサイクル数が増えるので効果が相殺される。
マイクロプログラム方式のプロセッサのハードウェアの実装は一般のプログラマから見えるものとは違っていて、よりシンプルである。このシンプルなアーキテクチャ(マイクロアーキテクチャ)上で、プログラマに見せるアーキテクチャをエミュレートするマイクロプログラムが実行される。このマイクロアーキテクチャはプログラマに見えているアーキテクチャと固定的な関係である必要は全くない。これを利用すれば、様々なマイクロアーキテクチャのハードウェア上に任意の(プログラマから見える)アーキテクチャを実装することができる。
例えば、IBMのSystem/360は32ビットアーキテクチャで16本の汎用レジスタを持っている。しかしSystem/360の実際のハードウェアの実装ではもっと単純なマイクロアーキテクチャが実装されている。最も下位の機種である360 Model 30は8ビットのマイクロアーキテクチャでハードウェアのレジスタも少ない。プログラマが見ているものは全てマイクロプログラムがエミュレートしたものである。
トランジスタが安価になり、水平型マイクロコードが主流となった。2000年代初頭、垂直型マイクロコードは一般のコンピュータ上で他のアーキテクチャをエミュレートするエミュレータソフトウェア以外では使われなくなった。