Memory 如何解决内存地址问题

Memory 如何解决内存地址问题,memory,byte,mips,memory-address,bits,Memory,Byte,Mips,Memory Address,Bits,有人能解释一下如何一步一步地解决这些问题吗 假设内存为2^24字节 假设内存是字节可寻址的。最低地址和最高地址是什么?地址需要多少位 假设内存是字可寻址的,具有16位字。最低地址和最高地址是什么?地址需要多少位 假设内存是字可寻址的,有一个32位字。最低地址和最高地址是什么?地址需要多少位?一个字节是8个位。如果它是字节可寻址的,则除了某些8位的开头之外,不能引用地址。也就是说,在2^2byte内存中,您有4个字节。最低地址从0字节开始,最高地址从3字节开始(0,1,2,3=总共4个字节) 如果

有人能解释一下如何一步一步地解决这些问题吗

假设内存为2^24字节

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

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


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

一个
字节
是8个
。如果它是
字节
可寻址的,则除了某些
8位
的开头之外,不能引用地址。也就是说,在
2^2
byte
内存中,您有
4个字节。最低地址从0字节开始,最高地址从3字节开始<代码>(0,1,2,3=总共4个字节)

如果字节是连续的(它们是并置的——彼此接触而不是分散),那么您可以将所有4个字节完美地放入4字节内存中


(a)

如果你有
2^24
字节
,那么你就有
2^(24+3)
,因为你在做
(2^24*2^3)=2^(24+3)
。因此,您有
134217728个总位

最高地址在结尾前一个字节,因此地址位于
2^24-1
。请注意,它是
2^24-1
而不是
2^27-1
,因为您是通过
字节而不是
位来寻址它的。最低地址为0

最低地址=
0

最高地址=
2^24-1


(b)

一个
只意味着一组
字节
。1-
字节
字节
在字面上是一样的,它只是意味着
是一些有意义的数据,而
字节
不一定是有意义的数据

A
16位
word
==A
2字节
word
,因为8位
字节中
,因此如果您有
2^24
字节
可用,您总共只有
2^23

最低地址=
0

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


(c)

与4字节而不是2字节的
word相同。因此:

2^22字节可用
存储单词

最低地址=
0

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



如果你看到任何错误,请随时纠正我。希望我能帮上忙。

您想解决的编程问题是什么?这听起来更像是计算机体系结构课程的家庭作业。我只是试图理解为我的testOK解决这类问题背后的概念,但这不是关于编程,这就是堆栈溢出的目的。也许cs.stackexchange.com会更好。