理論的には:32 = 2 ^ 32(b)= 4 * 2 ^ 32ビットの単一のプロセスメモリの制限である30B = 4ギガバイト、
現在(2015年5月)、Intelの32ビットアーキテクチャ、アドレスラインが使用されてもよいことは最大物理アドレスを使用することができる、36である64ギガバイトに相当する2 ^ 36B、利用可能なアドレス空間は4GBですあります。
64ビットアーキテクチャ、46のアドレスライン、最大物理アドレスが2 ^ 46B、等価64TBであるので、利用可能なアドレス空間は、(これまでの)非常に大きいです。
なぜ32ビットWindowsは、実際に利用可能なメモリが4G以下であります:
物理アドレスは、4Gを持っていますが、あなたはあなたのビデオカードにアクセスCPUのメモリにしたい場合は、それは物理アドレス空間の一部でなければなりませんが、メモリを識別するために使用され、この技術は、メモリマップドI / Oとして知られ、CPUの動作メモリを許すことになりますメモリの動作と同じ。
「リソース」のグラフィックスページのプロパティを表示するには、Windowsのデバイスマネージャでは、あなたは関係なく、32ビットまたは64ビット、32ビットWindowsのみ4Gのアドレス空間の一部を占有する必要があるの、実際には、メモリマップのアドレス範囲を見ることができます利用可能なアドレス空間は4G未満であるので、アドレス空間、メモリの一部をアップしました
実際には、メモリ、コンピュータのPCIコントローラ、様々なネットワークカード、サウンドカード、USBコントローラなどだけではなく、最終的な結果は、利用可能な物理アドレスの範囲であるので、いくつかの物理メモリを占有する必要性は、少なくとも、極めて稀になってきました唯一1.99ギガバイト、32ビットWindows上でこの制限を変更することはできませんできます。
だから、32 WIN7使用可能なメモリがだけなので小さくなり、問題を解決する唯一の方法は、64ビットシステム、またはLinux用です。
CPU | CPUアドレスバスサイズ | 最大RAM |
8086 | 20ビット | 1メガバイト |
8088 | 20ビット | 1メガバイト |
80286 | 24ビット | 16メガバイト |
80386SX | 24ビット | 16メガバイト |
80386DX | 32ビット | 4ギガバイト |
80486SX | 32ビット | 4ギガバイト |
80486DX | 32ビット | 4ギガバイト |
ペンティアムI | 32ビット | 4ギガバイト |
K6 | 32ビット | 4ギガバイト |
Duronの | 32ビット | 4ギガバイト |
アスロン | 32ビット | 4ギガバイト |
Athlon XP | 32ビット | 4ギガバイト |
Celeronは | 36ビット | 64ギガバイト |
ペンティアムプロ | 36ビット | 64ギガバイト |
コア2 | 36ビット | 64ギガバイト |
インテル3 | 36ビット | 64ギガバイト |
ペンティアム4 | 36ビット | 64ギガバイト |
アスロン | 40ビット | 1TB |
Athlon-64 | 40ビット | 1TB |
アスロン64 FX | 40ビット | 1TB |
Opteronプロセッサ | 40ビット | 1TB |
Itaniumベース | 44ビット | 16TB |
Itanium 2プロセッサ | 44ビット | 16TB |
PAEが実際にx86ハードウェアのサポートは、アドレス空間のアクセス64Gにできるようにすることができ、Windowsカーネルは、物理アドレス空間の64Gまでの使用をサポートしていますが、マイクロソフトでは、Windowsのさまざまなバージョンの物理メモリの上限を制限することを起こる、以下はXPとwin7のです物理メモリの制限
参考:https://blog.csdn.net/w892824196/article/details/80558114
https://bbs.pediy.com/thread-137830.htm