「2^10 バイトのメモリで、4 バイト ワードがアドレス指定可能な最小単位である場合、最小アドレスと最大アドレスは何ですか?」という質問がありました。
最小アドレスは 0 です 回答キーは最大アドレス 2^10-4 です 4 バイトごとにアドレス指定されるので、(2^10-1)/4 になると思いましたか?
「2^10 バイトのメモリで、4 バイト ワードがアドレス指定可能な最小単位である場合、最小アドレスと最大アドレスは何ですか?」という質問がありました。
最小アドレスは 0 です 回答キーは最大アドレス 2^10-4 です 4 バイトごとにアドレス指定されるので、(2^10-1)/4 になると思いましたか?
質問をした人は、自分の定義に巻き込まれたと思います。実際、「アドレス指定可能な最小単位」が「4 バイト ワード」である場合、2^10 バイトには 2^8 の異なるアドレスが存在することになります。これは、最大アドレスが 2^8-1 または 255 であることを意味します。
ただし、一般的なコンピューター アーキテクチャでは、これは当てはまりません。アドレス可能な最小単位は実際にはバイトですが (すべてのアドレスは「開始」からのバイト数を表すため)、有効なアドレスは 4 で割ったアドレスのみです。したがって、0 は有効なアドレスであり、4 は有効なアドレスですが、 3 を使用すると、例外が発生します。ちなみに、これは「アラインメント」と呼ばれ、命令ごとに異なるアラインメントが必要になる場合があり、1 から 128 まで、場合によってはそれ以上に変化することがあります。通常は 2 の累乗ですが、これらは扱いやすいためです。
質問は本当にアラインメントに関するものだったと思いますが、それはぎこちない言い方でした。また、これについて先生に尋ねてみることもできます。先生は問題を解決できるはずです。
つまり、2^10 バイトで、1024 バイト、つまり 1MB になります。これでメモリは 4 バイトにアラインされたので、最初のアドレスは 0x4 になり、最後のアドレスは 1020/4 = 255 になり、16 進数で 0xFF になります。
アドレスキーが正しいので、最高のアドレスが必要です。最も高いアドレスは、データを追加するのに十分なスペース (4 バイト) がある場所です。あなたの答えは、メモリが保持できる 4 バイトのデータ項目の数を与えるだけです。