この質問は、stackoverflowの質問から発想を得ています ここ
私の知る限り、
32ビットマシンの場合、2 ^ 32の組み合わせの命令セットを使用できます。
したがって、32ビットマシンでの最大容量がRAMの場合、2 ^ 32命令セットに対応できるはずです。
2 ^ 32 = 4294967296命令セット
したがって、32ビット= 4バイトの場合、RAM容量は4294967296 * 4バイト= 17179869186バイトになります。
これは->と同じです
17179869186/1024 = 16777216 kB
16777216/1024 = 16384 MB
16384/1024 = 16GB
したがって、32ビットマシンが保持できるRAMの最大容量は16GBだと思います。
しかし、4GBが正解のようです。私がどうかしましたか、まずいことでもありましたか???
RAMはバイトでアドレス指定されます。この状況では2 ^ 32アドレスが可能であるため、最大4294967296バイト(2 ^ 32)をアドレス指定できます。つまり、アドレス可能なメモリの有効な最大値は4294967296バイト、つまり4ギガバイトです。