地址总线
我们知道,CPU是通过地址总线来指定存储单元的,地址总线的宽度决定了CPU的寻址能力。例如,一个CPU的地址总线宽度为10,那么可以寻址1024个存储单元,对于CPU而言,这1024个可寻到的内存单元是以字节为单位的。
32 位字长的存储器
假设用 16k×8b 的DRAM芯片构成 64k×32b 的存储器。对于 16k×8b 的DRAM芯片,有14根地址线(A0~A13),每一个存储单元有8位,所以需要先用4片芯片组合进行位扩展,位扩展后依然为14根地址线(A0~A13),只不过每一个存储单元为32位;然后进行字扩展,共需要 4×4=16 片芯片,这时需要扩展2位地址线用来做芯片选择。存储器的组合逻辑框图如下:
此时,64k×32b 的存储器有16根地址线,可以寻址 64k(216) 个存储单元,每个存储单元有32位。而对于CPU而言,内存是以字节为最小单元来计算的,那么对于32位的存储器,肯定还需要实现对字节数据的传送或双字节数据的传送等操作,那么具体是如何实现的呢?
数据传送机制
假设CPU的地址线为20位,即可寻址1M字节的空间,那么即使使用32位的存储器,存储器的总存储空间也不得大于1M字节,即存储器容量最大为 256k×32b (此存储器有18位地址)。此时,用CPU地址线的高18位(A2~A19)与存储器的18位地址相连,而CPU的地址线A1、A0经译码后产生字节允许信号,由字节允许线(字节允许信号)在4字节的地址单元中选择各单个字节,从而实现字节、字或双字等数据的传送操作。
具体内容请参考《微机原理与接口技术》.艾德才等编著 .清华大学出版社 .2005年9月第一版 .第5章(总线技术)。摘抄部分内容如下: