一个关于地址总线和位宽的关系问题

请问地址是怎么获得的,如果地址是从存储单元里读取出来的,那么地址总线的数量是不是应该是位宽的整数倍。具体来说:假设一个存储器的存储单元位宽是8位,如果我从存储单元中读取地址,那么地址是不是也应该是8位啊,或者是是8的整数倍。
我纠结的是:CPU从存储器里读取指令或者数据,需要知道是哪个内存单元里的信息,那这个存储单元的地址从何而来,也是从存储器里读取的吗,还是从别的地方来的

地址与存储单元的位宽是没有关系的。
地址多少是由系统的地址总线的数量决定的,它是存储单元的编号,如地址总线是16条,那么地址就是16位二进制数,最大地址是65535,即是FFFFH。
如果地址总线是20条,地址就是20位二进制数了,地址范围是1MB,即00000H~FFFFFH。
而存储单元里存放的是数据,读出的并不是地址。通常一个存储单元都是8位的,而不管地址是多少位,单位元里的数据都是8位的。
举例说:你家的地址,就是门牌号,与你家里有多少人有关系吗?家里住几口人,并不等于门牌号吧。
CPU从存储器里读取指令或者数据,这个存储单元地址是从CPU内部计算得来的,一种是指令中给出的,如数据在哪个单元中,给出的单元地址。另一种是执行指令时,由内部的程序计数器,即PC给出的。你纪结的问题怎么有点很奇葩,这地址真的那么难理解吗。
还是那个例子,你家的门牌号是从哪来的,难道是从你们家屋里取出来的吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-12
地址总线是这样的:一根地址线,代表一个bit位,
n位宽度的地址总线可寻址范围是2的n次方个地址。本回答被网友采纳
相似回答