谁能解释一下如何一步一步地解决这些问题
假设内存为 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
。
如果您看到任何错误,请随时纠正我。希望我有帮助。