物理アドレス拡張 (PAE) — 概要、仕組み、歴史と用途
物理アドレス拡張(PAE)は、x86 CPUの機能で、ページテーブル形式と物理アドレス幅を拡張することで、32ビットプロセッサーが4GBを超える物理メモリー(最大64GB)を扱えるようにする。
物理アドレス拡張(PAE)は、32ビットIA-32系向けのプロセッサー機能であり、標準的な32ビットアドレッシングでは制約される4ギガバイトの上限を超えて、CPUとオペレーティングシステムがより多くの物理メモリーを扱えるようにする。PAEはページングユニットで用いられる物理アドレス幅を拡張し、個々の32ビット・プロセスは32ビットの仮想アドレス空間を維持したまま、プロセッサーはより大きなシステムメモリー領域を参照できる。
PAEの仕組み — 技術的特徴
PAEは、プロセッサーが使用するページテーブルの形式と段数を変更する。IA-32マシンでは、PAEはより大きなページテーブルエントリーと追加のテーブル間接レベルを用いることで、36ビットの物理アドレッシングを提供し、一般には最大64ギガバイトのRAMを扱える仕組みとして説明される。ページテーブルエントリーは64ビット幅になり、これにより、対応CPUでは no-execute(NX)や実行禁止(execute-disable)フラグのような追加の制御ビットを格納する余地も生まれる。
- 物理アドレス幅: 32ビットを超えて拡張される(従来のPAE実装では一般に36ビット)。
- ページテーブル形式: 旧来の32ビットページングと比べ、追加レベルと64ビットのエントリーを使用する。
- 各プロセスの仮想アドレス空間: 32ビットのまま(プロセスごとの上限は変わらない)。
歴史とベンダーの対応
PAEは、Intelの32ビット・マイクロアーキテクチャではPentium Pro以降で導入され、その後の多くのx86プロセッサーに搭載された。Intelの実装はPentium系の比較的早い段階で現れたが、Pentium Mの一部のように含まれないモバイル向け派生品もあった。AMDはAthlon(K7)ファミリー以降でPAE対応を追加し、以後の設計にも組み込んでいる。なお、ハードウェアが対応しているだけでは不十分で、より大きな物理メモリーを活用するにはオペレーティングシステムのカーネルがPAEページテーブルを理解している必要がある。
オペレーティングシステムの対応と例
PAEのサポートは、OSごとに異なる時期に実装された。初期のサーバー向けOSリリースでは、64ビットアーキテクチャへ全面移行しなくても機械により多くのRAMを使わせるためにPAEが追加された。たとえば、Microsoftはエンタープライズ向けリリースでPAE対応カーネルを提供しており、Linuxのような多くのUnix系システムでも、4GBを超えるメモリーに対応するためのPAE有効カーネルや設定オプションが用意されている。挙動、制限、ライセンス条件はディストリビューションやベンダーによって異なる。
利点、制限、実用上の意味
- 利点: 32ビットOSまたは混在ワークロードを動かしながら、1台の物理マシンで4GB超のRAMを搭載できる。
- 制限: 個々の32ビット・プロセスの仮想アドレス上限は依然として同じであり、通常は4GB以下のため、PAEは主にサーバー用途やカーネルメモリー、あるいは多数の同時プロセスが合計でより多くのRAMを使うために有効である。
- オーバーヘッド: より大きいページテーブルは追加メモリーを消費し、TLBの挙動や性能に影響する場合がある。さらに、一部のデバイスドライバーや低レベルコードはPAEを意識して設計されていなければならない。
注目すべき点と現在の位置づけ
PAEは、64ビットプロセッサーと64ビットOSが広く普及する前に、32ビットx86ハードウェアの実用寿命を延ばした重要な移行機能である。また、拡張ページテーブル内に実行禁止を符号化するCPUでは、NXビットを利用可能にした。現在では64ビット化が広く進んだため、新しいシステムでPAEの重要性は相対的に低いが、x86のメモリー管理の歴史的な発展を示す要素としては今も重要である。
関連する技術資料としては、IA-32の文書、4GBアドレッシング上限の背景に関する4GBアドレッシング、最大64GBといった規模に関する64GBアドレッシング、Intelのようなベンダーの歴史、そして実際のOS対応に関するオペレーティングシステムの文書を参照するとよい。
関連項目
著者
AlegsaOnline.com 物理アドレス拡張 (PAE) — 概要、仕組み、歴史と用途 Leandro Alegsa
URL: https://ja.alegsaonline.com/art/76638
出典
- msdn.microsoft.com : "Physical Address Extension"
- highbeam.com : highbeam.com