0

わかりましたので、スタックを検索しましたが、この質問に対する答えが見つかりません。それは授業で言及されたものですが、教授はこれを理解する方法を具体的に述べていませんでした.

システムが 64 ビットで、物理メモリが 128 GB であると想定しているが、プロセスを 256 GB で実行したい場合、論理アドレスに必要なビットを計算するにはどうすればよいですか?

私がこれまでに行ったすべての調査は、2 ~ 4 GB の物理メモリを扱っていますが、これを計算する方法を一生理解することはできません。ページの移動とエントリを理解するには、これを知る必要があります...

4

2 に答える 2

0

多分これは役立つでしょう。32ビットの場合、次のようになります。2の32乗= 4 294 967 296 =>4GB32ビットのワード長でアクセス可能な最大アドレス空間。

64ビットシステムの場合、次のようになります。2の64乗= 18 446 744 073 709 551 616 => 16EB(EB =エクスビバイト)64ビットワード長でアクセス可能な最大アドレス空間。これは実質的に無制限ですが、ハードウェアによる制約(たとえば、私のマザーボードは最大24GBしかサポートしていません)。

お役に立てれば!

于 2011-04-19T02:40:14.213 に答える
0

必要なビット数は、プロセスのサイズだけに依存するのではなく、各アドレスが指すバイト数にも依存します。

一般式は次のとおりです。

num_of_bits = ceiling(log_2(size_of_process_in_bytes / bytes_pointed_by_an_address))
于 2011-04-19T02:34:27.290 に答える