物理アドレス拡張

物理アドレス拡張(PAE)とは



物理アドレス拡張(Physical Address Extension, PAE)は、インテル社のIA-32アーキテクチャにおいて、4GiBを超える物理メモリ空間を扱うための技術です。P6マイクロアーキテクチャで導入され、Pentium Pro以降のプロセッサで利用可能になりました。

PAEの概要



IA-32アーキテクチャでは、通常32ビットのアドレス空間を使用するため、最大4GiBの物理メモリしか扱えません。PAEを使用すると、このアドレス空間を36ビット以上に拡張し、最大64GiB以上の物理メモリ空間を扱うことが可能になります。

ただし、PAEは物理アドレス空間のみを拡張するもので、仮想アドレス空間は4GiBのままです。PAEでは、ページテーブルのエントリを32ビットから64ビットに拡張することで、物理メモリ空間へのアクセスを実現します。

ページテーブルの構造



PAEでは、ページサイズは4KiBで、ページテーブルのサイズは1ページのままです。そのため、ページテーブルのエントリ数は一段あたり1024から512に減少します。この減少を補うため、PAEでは4エントリを持つページテーブルが最上位に1段追加されます。

具体的には、以下のような構造になります。


最上位ページテーブル(4エントリ)
└── ページテーブル(512エントリ)
└── ページテーブル(512エントリ)
└── ページテーブル(512エントリ)
└── ページ(4KiB)


64ビット世代への拡張



AMD社のAMD64アーキテクチャや、インテルの互換性のあるIntel 64アーキテクチャでは、PAEのページテーブルエントリの構造を維持したまま、512エントリを持つ4段のページテーブル構造を採用し、仮想アドレス空間を48ビット、物理アドレス空間を52ビットまで拡張しました。また、ユーザー命令セットでは64ビットでアドレッシングが可能になっています。

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

PAEの利点



  • - 大容量メモリの利用: 4GiBを超える物理メモリを利用できるようになるため、大規模なアプリケーションや仮想化環境でのパフォーマンス向上が期待できます。
  • - データ実行防止(DEP)の利用: NXビットをサポートすることで、セキュリティ機能が強化され、マルウェアなどの攻撃からシステムを保護できます。

注意点



  • - 仮想アドレス空間: PAEは物理アドレス空間のみを拡張するため、仮想アドレス空間は4GiBのままです。そのため、1つのプロセスが直接アクセスできるメモリ空間は4GiBに制限されます。複数のプロセスで4GiB以上のメモリを使用するには、OSによるメモリ管理が必要です。
  • - 対応プロセッサ: 一部のPentium MやVIA C3などのプロセッサでは、PAEに対応していない製品もあるため、注意が必要です。

まとめ



PAEは、IA-32アーキテクチャで大容量メモリを扱うための重要な技術です。物理アドレス空間を拡張することで、より多くのメモリを効率的に利用できるようになり、システムのパフォーマンス向上に貢献します。

関連用語



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。