課題で次の質問をされましたが、正しく答えたかどうかわかりません。
「次の数のアドレスビットを持つプロセッサがアドレス指定できる最大のメモリ空間 (つまりプログラム) は? (c) 24 ビット」
011111111111111111111111 (0 の後に 23 個の 1 が続く) を入力します。これは正しいです?そうでない場合、この質問に対する答えを見つけるにはどうすればよいですか? 必要に応じて、例に異なる量のビットを使用できます。助けてくれてありがとう。
課題で次の質問をされましたが、正しく答えたかどうかわかりません。
「次の数のアドレスビットを持つプロセッサがアドレス指定できる最大のメモリ空間 (つまりプログラム) は? (c) 24 ビット」
011111111111111111111111 (0 の後に 23 個の 1 が続く) を入力します。これは正しいです?そうでない場合、この質問に対する答えを見つけるにはどうすればよいですか? 必要に応じて、例に異なる量のビットを使用できます。助けてくれてありがとう。
いいえ011111111111111111111111
、正解ではありません。符号付き 24 ビット整数で表現できる最大数を計算していると仮定しています。
メモリアドレスは常に符号なしであるため、答えは24ビットで表現できる数の項目です。これは、12^24
または1000000000000000000000000
24個のゼロが続くものです(正しくカウントしたと仮定します)-アドレス範囲には(24個の10
が含まれているため) 1111111111111111111111
)。
2^N バイト。ここで、N はアドレス空間のビット数です。
たとえば、8088 プロセッサには 20 ビットのアドレス空間があり、2^20 バイト = 1 MB をアドレス指定できます。
アドレス空間は符号なしであるため、N は完全なビット数であり、ビット数から 1 を引いたものではありません。
プログラミングにおけるアドレスは通常、メモリ内の場所を表すものです。一意の番号と同じ数の場所をいつでも表すことができます。
1 から 10 までの範囲でいくつの場所に対応できますか? 10. 1 から 2^24 までの範囲でいくつの場所をアドレス指定できますか? 2^24。
したがって、2^24 の場所を表すことができますが、正しく答えられませんでした。
あなたは間違った方向に進んでいます。
メモリ アドレスは符号なしであるため、アドレス空間のサイズは 2^24 バイト、つまり 16Mb です。