Memory 如何解决内存地址问题
有人能解释一下如何一步一步地解决这些问题吗 假设内存为2^24字节 假设内存是字节可寻址的。最低地址和最高地址是什么?地址需要多少位 假设内存是字可寻址的,具有16位字。最低地址和最高地址是什么?地址需要多少位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个字节) 如果
假设内存是字可寻址的,有一个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-字节
字
与字节
在字面上是一样的,它只是意味着字
是一些有意义的数据,而字节
不一定是有意义的数据
A16位word
==A2字节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会更好。