メモリマップドI/O
8ビットマイクロプロセッサを使った単純なシステムを例として説明する。アドレス線が16ビット分あれば、64Kバイトまでのメモリをアドレス指定可能である。アドレス空間の先頭32KバイトにRAMを配置し、空間の最後尾16KバイトにROMを配置する。残った中間の16Kバイトの空間を各種入出力機器に割り当てる(タイマ、カウンタ、ビデオディスプレイチップ、サウンドジェネレータなど)。バスに接続されたそれらの機器は、マッピングされたアドレスがバス上に現われたときに応答し、それ以外のアドレスは無視する。これはアドレスデコーダの仕事であり、それによってシステムのメモリマップが確立される(通常のメモリでも同じ)。マイクロプロセッサによってはメモリマップ構成にアーキテクチャ上の制限がある場合もある。例えばモステクノロジーの6502はアドレス空間最後尾の16バイトにはリセットと割り込みのためのベクター(ジャンプテーブル)がなければならないため、その部分にはROMがマッピングされていなければならない。
アドレスのデコードは完全に行う場合もあるし、部分的に行う場合もある。