2011-12-04 9 views
10

Physical Address ExtensionにWikipediaの記事の抜粋は:PAE(Physical Address Extension)は4GBを超えるアドレス空間をどのように有効にしますか?

x86プロセッサ・ハードウェア・アーキテクチャを36ビットに32ビットからように物理アドレスのサイズが増加すると、追加のメモリを選択するために使用される追加のアドレス線で補強されています。理論的には、最大物理メモリサイズが4 GBから64 GBに増加します。

メカニズムを説明する画像と共に

enter image description here

しかし、私は、アドレス空間が4ギガバイトから64ギガバイトに拡張されるかを確認することはできません。そして、4 * 512 * 512 * 4Kはまだ4GBに等しいですね。

+2

仮想メモリ!=物理メモリ。以前は「銀行取引」と呼ばれていましたが、これははるかに説明的な用語です。 http://en.wikipedia.org/wiki/Bank_switching –

答えて

10

32ビットモードで動作するx86プロセッサは、メモリアドレスのページ変換を使用します。これは、コードで使用されるアドレス(カーネルモードとユーザーモードの両方)と実際の物理メモリの間にマッピングレイヤーが存在することを意味します。例えば。 Windowsでは、すべてのプロセスが.exeファイルのイメージを同じアドレスにマップします。

仮想アドレスと物理アドレス間のマッピングレイヤでは、通常、4GBのメモリしかマップできません。 PAEを有効にすると、32ビットの仮想アドレスは36ビットの物理アドレスにマップされます。それでも、1つのプロセスで1回に4GBを超えるアクセスはできません。これは、貼り付けたイメージ、つまり1つのプロセスの32ビットアドレス空間に表示されます。また、物理アドレスを含むPTE(Page Table Entry)が64ビット幅であることがわかります。

PAE対応アプリケーションは、異なるメモリ部分を可視のアドレス空間にスワップアウトして4GB以上のRAMを使用できますが、単一の時点では4GBしか見ることができません。

2

これはありません。アドレスページは決して変更されません。 API呼び出しを使用すると、他のメモリ領域に対してメモリ領域をスワップアウトすることができます。だから、あなたはまだ4GBのフルアドレス空間(2〜3GBの使用可能)しか持っていませんが、アドレス空間の1つの部分に入れ替えることができる512MBの別の2000ブロックを持つことができます。

5

それはまだ4GBの仮想アドレス空間です。ページテーブルのエントリにはページの物理アドレスがより長いため、物理アドレス空間が大きくなります。

「64ビットPDエントリ」と「64ビットPTエントリ」と表示されます。エントリの余分な32ビットは、ページのより長い物理アドレスを構成する。

この特定のスキームでは、アプリケーションは一度に最大4GBのメモリ(一般的に保護のためにアクセスできないカーネル部分を除く)をアドレス指定できますが、複数のアプリケーションを考慮すると、4GB以上のメモリ。

関連する問題