メモリ管理ユニット
「ページフォールト」は時としてソフトウェアのバグによって発生することもある。MMUのメモリ保護機能を使えば、OSはアクセス権を与えない設定をすることで不正なプログラムからメモリを守ることができる。一般にOSはプログラム(プロセス)ごとに別の仮想アドレス空間を用意する。
MMUはメモリのフラグメンテーションに対しても有効である。メモリブロックのアロケートと解放が繰り返されると、フリーなメモリは十分あっても、大きくかつ連続的なブロックをアロケートできなくなってしまう。仮想記憶では、こまぎれな物理ページを集めて連続な仮想空間をつくることができる。
マイクロプロセッサの初期の設計では、MMUは独立した集積回路となっていた。たとえば、Macintosh IIのMC68020 CPUでは MC68851 MMU を使い、Z8000ファミリでは Z8010 が使われた。その後のCPUであるMC68030やZ280ではマイクロプロセッサ内にMMUを内蔵している。
この項目では最近のページング方式を使うMMUについて解説したが、MMUにはセグメント方式や他の方式を使用しているものもある。そしてそれは現在のマイクロプロセッサにも残っている。x86系統のマイクロプロセッサはページングだけでなくセグメント方式も提供している。
AMD64およびIntel 64は x86 の 64ビット拡張である。この場合も上述のFSとGS以外のセグメントレジスタはオフセットがゼロに設定され、無視される。ページテーブルは4階層になる。上位ビットから、16ビットは未使用で、9ビットずつが各層のインデックス、残り12ビットがそのまま物理アドレスの下位12ビットとなる。未使用の16ビットは下位48ビットを符号拡張したものとなる。また、ページ単位のNXビットがサポートされている。