SRAM、DRAM的比较
SRAM:功耗大、速度快、价格贵、集成度低、容量小;常用于Cache,网络服务器、路由器。
DRAM:功耗低、速度慢、价格便宜、集成度高、容量大;常用于内存。
存储器的行列结构
容量以字节(B)为单位
地址:
——区分不同的存储单元
——简化地址译码电路
以32行×32列的存储器为例:
32行×32列也就是这个存储器的范围,即1024。
总共10根地址线,各有5根放在行选择和列译码,每根地址线都有0、1两种选择,那么5根地址线能够进行的行选择范围就是2^5=32。
存储器芯片基本组成
(1)存储体
是存储芯片的主体,由基本存储元按照一定的排列规律构成
(2)地址译码电路
接收来自CPU的n位地址,经译码后产生2^n个地址选择信号,实现对片内存储单元的地址。
(3)控制逻辑电路
接收片选信号CS以及来自CPU的读/写控制信号,形成芯片内部控制信号,控制数据的读出和写入。
(4)数据缓冲器
寄存来自CPU的写入数据或从存储体内读出的数据。
存储器的寻址方法
存储器芯片与CPU地址总线连接时,要根据内存的地址分配连接,以实现CPU在某一时刻只能唯一地选中某一内存单元,这称为寻址。
完成寻址的两种选择:
(1)片选:选择存储器芯片
(2)字选:从该芯片中选择出某一存储单元
如该图所示,其中,高位的地址线进行片选,低位的地址线进行字选。
存储器和CPU的连接考虑
(1)CPU和存储器的速度匹配问题
通过插入等待状态Tw解决。
(2)CPU总线的负载能力问题
——RAM和ROM直挂CPU,加入PCI总线控制器承担总线驱动功能。
(3)片选信号的产生
——全译码法
把所有高位地址通过译码器组合成多个片选信号,低位地址作为片内译码
如图所示,容易看出,全译码法会产生很多的片选信号,因此这个方式适合用于组织容量较大的存储器
——部分译码法
把高位地址中的若干位通过译码器组合成片选信号,低位信号作为片内译码
和全译码法相比,部分译码法就常用于存储空间较大但是又不是足够大的情况下,这时如果用全译码法反而可能造成一些浪费,没必要没必要~~~
——线选法
将高位地址中的1位或几位作为片选信号,不用译码器
看这个图就更加直观了,就是一个高位地址决定了一个芯片。
这样产生的片选信号是很小的,这适合于组织容量较小的存储器
——混合译码法
将高位地址分为两组,一部分片选信号用较高的一组地址通过线选法产生,另一部分片选信号用另外一组地址通过部分译码法产生。
混合译码法,既包含了容量大的特点(部分译码法),又包含了速度快的特点(线性法无需译码)。
(4)行地址、列地址的产生
在芯片外部,CPU通过低位地址线与芯片链接提供行、列地址。
对芯片内部的寻址方法:
——片选择码,片内译码通过行列矩阵结构对存储单元进行选择。
存储器容量的扩充
(1)存储器容量的扩充体现在两方面:
①数据宽度的扩充
②字节数的扩充(容量的扩充)
(2)数据宽度的扩充:当使用的存储器芯片单元数目符合要求,但当每单元的位数较少时,需要进行这种扩充。
(3)数据宽度扩充的方法
地址线、控制线(芯片允许信号CE#、输出允许信号OE#)并接,数据线单列
(4)扩充存储器的字节容量:当使用的存储器芯片位符合要求,但单元数目较少时,需要进行这种扩充。
(5)扩充存储器的字节容量的方法:
将个存储芯片片内地址线AB、数据线DB、数据输出信号OE#并联;将地址线的高位送地址译码器产生片选信号,接各存储芯片的CE端,以选择芯片。