如何解决内存地址问题



谁能解释一下如何一步一步地解决这些问题

假设内存为 2^24 字节。

假设内存是字节可寻址的。最低地址和最高地址是什么?地址需要多少位?

假设内存是字可寻址的,具有 16 位字。最低地址和最高地址是什么?地址需要多少位?

假设内存是字可寻址的,具有 32 位字。最低地址和最高地址是什么?地址需要多少位?

byte是 8 bits 。如果地址byte可寻址,则除了某些8 bits的开头之外,不能通过任何其他内容引用地址。也就是说,在2^2 byte内存中,您有4 bytes.最低地址从 0 bytes 开始,最高地址从 3 bytes 开始。 (0, 1, 2, 3 = 4 bytes total)

如果字节是连续的(它们是并列的 - 相互接触而不是分散(,那么您可以将所有 4 个字节完美地放入 4 字节内存中。


一(

如果你有2^24 bytes那么你就有2^(24 + 3) bits,因为你正在做(2^24 * 2^3) = 2^(24+3)。因此,您134,217,728 total bits.

最高地址将是末尾前的一个字节,因此 2^24 - 1 处的地址。请注意,它是2^24 - 1而不是2^27 - 1,因为您是通过bytes而不是bits来解决它的。最低地址为 0。

最低地址 = 0

最高地址 = 2^24 - 1


b(

word只是意味着一组bytes。1-byte word实际上与byte是一回事,它只是意味着word是一些有意义的数据片段,而byte不一定是有意义的数据片段。

A 16-bit word == 2-byte word,因为 8 个bits在一个byte中,因此如果您有2^24 bytes可用,则总共只有 2^23 words 个。

最低地址 = 0

最高地址 = 最大字数 - 1 = 2^23 - 1


c(

与使用 4-byte 个单词而不是 2 相同。因此:

2^22 bytes available存储单词。

最低地址 = 0

最高地址 = 最大字数 - 1 = 2^22 - 1


如果您看到任何错误,请随时纠正我。希望我有帮助。

相关内容

  • 没有找到相关文章

最新更新