2012-02-25 9 views
0

「4バイトワードがアドレス指定可能な最小単位である2^10バイトのメモリが与えられている最下位と最上位アドレスは何ですか?」という質問がありました。memoreyの最小アドレスと最小アドレスが最小の単位が4バイト

最低のアドレスは0です 答えのキーは最高のアドレスを持っています2^10-4私はそれが(2^10-1)/ 4になると思ったので、4バイトごとに対処していますか?

答えて

0

したがって、2^10バイトがあり、1,024バイトになります。これは1MBです。今度はあなたのメモリは4バイトで整列されているので、最初のアドレスは0x4になり、最後のアドレスは1020/4 = 255になります。これは16進数で0xFFです。

0

あなたのアドレスキーが正しいように最高のアドレスが必要です。最高のアドレスは、データを追加するのに十分な部屋(4バイト)がある場所です。メモリが保持できる4バイトのデータ項目の数が返されます。

1

質問をした人は、自分の定義で絡まっていると思います。実際、「最小のアドレス指定可能なユニット」が「4バイトワード」である場合、それは2^10バイトに2^8の異なるアドレスが続くことになり、これは最高アドレスが2^8-1または255であることを意味する。

典型的なコンピュータアーキテクチャではそうではありませんが。アドレス指定可能な最小単位は実際には1バイトです(すべてのアドレスは「開始」からのバイト数を表します)。有効なアドレスは4で除算するものだけです。したがって、0は有効なアドレス、4は有効なアドレスです。 3を使用しようとすると例外が発生します。これは「アラインメント」と呼ばれ、異なる命令では異なるアライメントが必要になる可能性があります。アラインメントは1から128まで、場合によってはそれ以上に変更できます。典型的には2の累乗ですが、それらは使いやすいためです。

質問は本当に整列についてだと思いますが、それはぎこちないやり方で表現されています。あなたは先生にこれについて質問してみることもできます。先生は物事をクリアできるはずです。

関連する問題