物理アドレスと仮想アドレスについてのメモ。
まとめ
- 32bit(x86)物理アドレス空間:CPUから見ると 32-bit(4GB)
- 32bit(x86)仮想アドレス空間 :1プロセスから見ると:31-bit(2GB)
- 64bit(x64)物理アドレス空間:CPUから見ると 36bit(64GB)
- 64bit(x64)仮想アドレス空間:64bitOSから見ると MSB 48bit(256TB)
- 4GT RAM Tuning: 1プロセスで2GB以上3GB未満の仮想アドレス
- Address Windowing Extensions(AWE): 4GBを超える大量のメモリを1つのプロセスで扱うための仕組み。AllocateUserPhysicalPagesのAPIで仮想アドレス空間内の領域を通して、 ページを切り替えながらメモリを読み書きする。予約されるメモリは非ページング メモリであり、そのプログラムのみがアクセスすることができます。 又、VirtualAllocでMEM_PHYSICALフラグで物理メモリを取得できます。
参考URLは以下「毛流麦花」さんのHPに詳細あります。
http://www.marbacka.net/asm64/arkiv/64bit_addressing.html テーマ:プログラミング - ジャンル:コンピュータ
|