32 ビット プロセッサの物理アドレス拡張には 36 ビット アドレス バスが必要ですか? 36 ビット アドレスを持つページにある 32 ビット アドレスを使用するとどうなりますか?
2 に答える
32 ビット プロセッサの物理アドレス拡張には 36 ビット アドレス バスが必要ですか?
明らかに、2 32以上の物理アドレスでは何にもアクセスできないため、32 ビット アドレス バスを備えた CPU で PAE を有効にしたりサポートしたりするメリットは実質的にありません。
36 ビット アドレスを持つページにある 32 ビット アドレスを使用するとどうなりますか?
質問はあまり明確ではありません。
PAE が有効な場合、仮想アドレスは 32 ビットのままです。ページ テーブルの物理アドレスは 36 ビットまで拡張されます (通常、最下位 12 ビットは PDE と PTE に格納されません。4KB ページは 4KB アドレス境界に自然に配置されるため、これらは 0 と見なされます)。
PDE と PTE の物理アドレスについて話している場合、2 32未満の物理アドレスを使用することを誰も妨げていません。
PAE には、36 ビット (またはそれ以上) の物理アドレスは必要ありません。これにより、ソフトウェアは物理アドレス サイズを気にせずに PAE を使用できます (また、一部の CPU (Intel Atom など) 用にまったく異なるページング コードを記述する必要もありません)。また、PAE (およびロング モード) でのみサポートされる特定の機能が、36 ビット (またはそれ以上) の物理アドレス バスを持たない CPU (具体的には、「実行なし」または「実行無効」) で使用できることも意味します。 " 特徴)。
仮想アドレス (ソフトウェアで使用されるアドレス) と物理アドレス (CPU、ハードウェアなどで使用されるアドレス) を混同しないことが重要です。PAE は仮想アドレスに影響を与えず、すべての仮想アドレスは依然として 32 ビットのみです。32 ビット (仮想) アドレスで何かにアクセスすると、CPU はルックアップ テーブル (ページ テーブル、ページ ディレクトリ、およびページ ディレクトリ ポインター テーブル) を使用して、32 ビット仮想アドレスを 36 ビット物理アドレスに変換します。