字节/字可寻址

时间:2013-10-22 21:30:39

标签: architecture

我目前正在学习基本的计算机架构,需要帮助解决以下问题:

如果出现以下情况,需要多少位来寻址4M x 16主存储器:

a)内存是字节可寻址的吗?

b)内存是可以字寻址的吗?

答案是,就像大多数情况下位于教科书后面一样,但我想知道如何解决这个问题。

提前致谢!

4 个答案:

答案 0 :(得分:8)

尽管被错误地投票,但是Lashane是不正确的。我们谈论的是字节可寻址,而不是位可寻址。实际上,我们应该在字节可寻址系统上使用23位,在字可寻址系统上使用22位(假设字大小为16位宽):

字节可寻址:4M x 16 = 2 ^ 2(4)x 2 ^ 20(1m)x 2 ^ 1(2字节,或16位)= 2 ^ 23,或23位

字可寻址:4M x 16 = 2 ^ 2(4)x 2 ^ 20(1m)x 2 ^ 0(1字或16位)= 2 ^ 22,或22位

希望这可以解决Lashane可能造成的任何混乱......

答案 1 :(得分:4)

如果你正在研究Null和Lobur的第4章,第5章,这就是答案:

a)23位

4M * 16 = 2 ^ 2 * 2 ^ 20 *(2 ^ 4/2 ^ 3)(16位/ 8位是一个字节)= 2 ^ 2 * 2 ^ 20 * 2 ^ 1 = 2 ^ 23 => 23位。

b)22位

假设一个字长16位或2字节(Null和Lobur的合理假设,特别是如果你看一下上一个练习(No.4)。

4M * 16 = 2 ^ 2 * 2 ^ 20 *(2 ^ 4/2 ^ 4)(16位/ 16位是一个字)= 2 ^ 2 * 2 ^ 20 * 2 ^ 0 = 2 ^ 22 => 22位。

答案 2 :(得分:0)

这是不正确的个别位不可寻址。不可否认,内存包含

4M * 16 bits = 2^22 * 2^4 = 2^26 bits 

但它是用于寻址的字节或字数。

答案 3 :(得分:-1)

4M x 16 = 64Mb内存= 67108864字节或33554432字(字通常为2字节)

这意味着内存中的最后一个字节将具有地址:0x3FFFFFF(67108864-1)= 26位

最后2个字节的字将有地址:0x1FFFFFF(67108864 / 2-1 = 33554432-1)= 25位

如果我们考虑4字节字 - 我们有最新地址0xFFFFFF(67108864 / 4-1)= 24位

更新:我错误地将4M乘以16,实际上16这里是位数,因此正确的计算将是:

4M x 16 = 4 194 304个单元,每个单元是16位= 2个字节

要解决每个字节,需要4 194 304 * 2,因此最后一个字节将具有地址(0x800000-1)= 7FFFFF,即23位

要寻址每个字(2个字节),需要4 194 304,所以最后一个字的地址为0x3FFFFF,即22位