给出地址线数据线,能不能先求存储容量在根据他求寻址范围

如:地址线20,数据线32,求的容量是2∧20*32=2MB;按字节寻址,范围是2MB/1B=2M.为什么不对?!
知道的说下,谢谢!

1、首先要能明确区分地址线与数据线的区别:地址线用于传输地址信号,可以指向主存储器的每一个单元。数据线用于传输数据,数据信号可传送到各个寄存器,存储器的各个单元,各个端口。2、地址线20根,表示能指示2^20个内存单元;而数据线32根,表明通过数据线每次可以传送32位(每根线每次只能传送1位),即4B(32bit= 4*8bit = 4B),那么可以理解为内存单元的大小等同于数据线每次的传送位数,同样为4B,所以主存容量为2^20*4B=4MB; 按字节寻址,寻址范围为4MB/4 = 2^20,注意范围没有单位,标识内存地址范围,即为0~2^20-1追问

不是用4MB/8b吗,一字节是8b,为什么要除以4啊?

追答

你的理解思路有问题。默认是按内存单元大小(4B)寻址;按字节寻址,一个内存单元4个字节,标识这四个字节需要占用原有地址额外的后两位(可以分别使用00,01,10,11标识这4个字节);举个例子,
按默认方式寻址地址单元0x004,按默认方式寻址的范围是2^20 = 1M 即为0~2^20-1

|--------- 20位 ----------------|
二进制表示为0000|0000 00000000 00000100

按字节寻址,与该内存单元中四个字节对应的地址分别为:
|---------- 20位 ---------------|
0000|0000 00000000 00000100 第一个字节对应的地址
0000|0000 00000000 00000101 第二个字节对应的地址
0000|0000 00000000 00000110 第三个字节对应的地址
0000|0000 00000000 00000111 第四个字节对应的地址
|---------- 18位 ------------|
注意后两位数字的变化,可以这样理解,前18位标识指向哪一个内存单元(注意每个内存单元大小为4字节),而后两位用来标识四个字节中的哪一个,20位均可以变化,估寻址范围仍为0~2^20-1(1M)。如果还有问题可以hi我

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-11
1、首先要能明确区分地址线与数据线的区别:地址线用于传输地址信号,可以指向主存储器的每一个单元。数据线用于传输数据,数据信号可传送到各个寄存器,存储器的各个单元,各个端口。2、地址线20根,表示能指示2^20个内存单元;而数据线32根,表明通过数据线每次可以传送32位(每根线每次只能传送1位),即4B(32bit= 4*8bit = 4B),那么可以理解为内存单元的大小等同于数据线每次的传送位数,同样为4B,所以主存容量为2^20*4B=4MB; 按字节寻址,寻址范围为4MB/4 = 2^20,注意范围没有单位,标识内存地址范围,即为0~2^20-1
第2个回答  2011-09-16
1B=8bit 啊