如何解决内存地址问题

时间:2014-04-10 04:02:58

标签: memory byte mips memory-address bits

任何人都可以解释如何逐步解决这些问题

假设一个2 ^ 24字节的内存。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

如果字节是连续的(它们是并置的 - 相互接触而不是展开),那么你可以将所有4个字节完全适合4字节存储器。


A)

如果您有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 wordbyte完全相同,只是暗示word是一些有意义的数据,而byte不一定是有意义的数据。

16-bit word == a 2-byte word,因为8 bits位于byte,因此如果您{{1} }} 2^24可用,您只有bytes 2^23

最低地址= words

最高地址=最大字数 - 1 = 0


c)中

2^23 - 1词而不是2相同。因此:

4-byte存储单词。

最低地址= 2^22 bytes available

最高地址=最大字数 - 1 = 0


如果您发现任何错误,请随时纠正我。希望我帮忙。