物理アドレス拡張

物理アドレス拡張(ぶつりあどれすかくちょう、Physical Address Extension)、略称、PAEインテル社のIA-32アーキテクチャで4GiB以上のメモリを扱う技術。

P6マイクロアーキテクチャで追加されたアドレス空間の拡張機能であり、Pentium Pro以降およびその同世代の互換プロセッサで利用できる。ただし、一部のPentium MVIA C3などのプロセッサにおいてはPAEに対応しない製品もある[1]

概要

[編集]

PAEを使用した場合には、IA-32アーキテクチャのアドレスラインである32ビットを36ビット以上のメモリ空間に拡張する。これにより、IA-32の標準では最大4GiBまでしか使用できなかった物理メモリ空間を、最大64GiB以上使用できるようになる。しかしながら、仮想アドレス空間は4GiBのままであり、ページテーブルのエントリを32ビットから64ビットに拡張することによって物理メモリ空間にアクセスする事となる。ページサイズは4KiBで、ページテーブルのサイズは1ページのままであるので、ページテーブルのエントリの数が一段あたり1024から512になる。これを補うために、PAEにおいては、4エントリを持ったページテーブルが最上位に1段追加される。

64ビット世代の拡張

[編集]

AMD社のAMD64アーキテクチャおよび、インテルの互換性のあるIntel 64アーキテクチャでは、PAEのページテーブルエントリの構造を保ったまま、512エントリを持った4段のページテーブル構造にすることによって仮想アドレス空間を48ビット、そして物理アドレス空間を52ビットまで拡張した。また、ユーザー命令セットでは64ビットでアドレッシング可能となっており、2008年4月の時点では、一般的となっている。

これらの拡張を実装したプロセッサをIA-32のPAE互換として使用する場合、物理アドレス空間の範囲は64ビットモードで使った場合と同等となる。このx64のページテーブルエントリでNXビットもサポートされるため、4GBの物理空間しかサポートしないWindows XP SP3等のOSでもデータ実行防止のため有効にされることがある。

脚注

[編集]

関連項目

[編集]