[toc]
1. 静态RAM的基本单元电路
SRAM的基本存储单元由6个MOS管组成,如下图
1.1 RAM组件
- T1和T2管的状态决定了存储的信息
- T1管导通,T2管截至,表示0状态
- T1管截至,T2管导通,表示1状态
- T3和T4管用作选通门,控制读写操作
- T5和T6管是负载管
- 字线用来选择这个记忆单元
- 两条位线用来传送读写信号
1.2 运行过程
选中记忆单元:当字线为低电平时,此时T3和T4管均为截止状态,触发器与位线隔开,原状态保持不变,当字线为高电平,T3和T4管导通,可以进行读写操作
读操作:两条位线均与A、B点相通,若此时记忆单元中T1管截止,T2管导通,B点电位为低,则读出“1”,反之读出“0”
写操作:令“位线I/O“为高电平,”位线I/O非“为低电平,使得B点电位为低,则使得T2管导通,T1管截止,也就是写入“1”,反之令“位线I/O”为低电平,“位线I/O非”为高电平,则为写“0”操作
2 动态RAM的刷新
2.1 刷新间隔
原因:为了维持DRAM记忆单元的存储信息,每隔一定时间必须刷新
在刷新与重写中:
重写是随机的,某个存储单元只有在破坏性读出之后才需要重写。
重写一般是按存储单元进行的
而刷新是定时的,即是许多记忆单元长期未被访问,若不及时补充电荷的话,信息是会丢失的
刷新通常是存储体矩阵中的一行为单位的
2.2 刷新方式
2.2.1 集中刷新
在允许的最大刷新间隔中,按照存储芯片容量的大小集中安排若干个刷新周期,刷新时停止读写操作
刷新时间 = 存储体行数 x 刷新周期
,这里刷新周期是指刷新一行所需要的时间,所以刷新周期就是存取周期
例如:对于有1024个记忆单元(32*32的存储矩阵,因为方阵是最利于集中的)的存储芯片刷新,需要32个刷新周期,如果存取周期为0.5μs,则在2ms的刷新间隔中,前1984μs是读写周期,而后16μs为刷新周期,也是死区
优缺点:
- 读写操作不受刷新工作影响,存取速度快
- 集中刷新期间必须停止读写,称为死区,且存储容量越大,死区越长
2.2.2 分散刷新
把刷新操作分散到每个存取周期,这种刷新方式增加了系统的存取周期
如果芯片的存取周期为0.5μs,我们仍以32*32的矩阵为例,每次存取在刷新需要1μs,刷新32次后整个刷新间隔则为32μs
优缺点:
- 没有死区
- 加长了系统的存取周期,降低了整机的速度
- 刷新过于频繁(例如32μs),没有充分利用最大刷新间隔(例如2ms)
2.2.3 异步刷新
充分利用最大刷新间隔时间,把刷新操作平均分配到最大刷新间隔时间内
相邻两行的刷新间隔=最大刷新间隔时间/行数
例如:对于32*32矩阵,2ms内要刷新32次,则每次要刷新2ms/32次=62.5μs,则每个刷新周期(62.5μs)中,前62μs为读写操作,后0.5μs为刷新操作
优缺点:
- 有死区,但死区比起集中刷新要小,为0.5μs
- 减少了刷新次数
2.3 刷新控制
为了控制刷新,需要控制刷新电路。控制刷新电路的主要任务是解决刷新和CPU访问存储器之间的矛盾,当刷新和访问请求同时发生,优先刷新操作
2.4 DRAM刷新的注意事项
- 刷新对CPU是透明的
- 每一行中各记忆单元同时被刷新,故刷新操作仅需要行地址
- 刷新操作类似读出操作,但不需要信息输出
- 刷新时不需要片选信号,因为存储器中所有芯片同时刷新
- 由于芯片同时被刷新,所以刷新问题应当从单个芯片的存储容量着手,而不是整个存储器的容量
3 RAM的读写时序
读周期:表示对芯片心距两次连续读操作的最小间隔时间,在这个过程中地址输入信息不允许改变,片选信号在地址有效后生效,使芯片被选中,最后在数据线上得到读出的信号
写周期:写周期和读周期相似,除了地址和片选信号外,还要加一个低电平有效的写入脉冲,并提供写入数据
4 RAM芯片分析
RAM芯片通过地址线、数据线和控制线与外部连接
地址线是单向输入,其数目与芯片容量有关,如容量为1024x4时,地址线有10根,因为$2^{10}=1024$,容量为64K1时,地址线为16根,因为$2^6 2^{10}(1K) = 2^{16}$。
数据线是双向的,其数目与数据位线有关,如1024x4的芯片,数据线有4根,64Kx1的芯片,数据线有1根
控制线:有读写控制线$\overline{WE}$和片选线$\overline{CS}$两种,片选线决定该芯片是否被选中,读写控制线用来控制芯片进行读操作还是写操作
为了减少芯片的引脚数量,DRAM芯片把地址线分为相等的两部分,分两次从相同的引脚送入,两次输入的地址分别是行地址和列地址,行地址由行地址选通信号送入存储芯片,列地址有列地址选通信号送入存储芯片
由于采用了地址复用技术,所以DRAM每增加一条地址线,实际上增加两位地址,也就是4倍的容量