1.RAM的一般结构它由三部分电路组成:
1)行、列地址译码器:它是一个二进制译码器,将地址码翻译成行列对应的具体地址,然后去选通该地址的存储单元,对该单元中的信息进行读出操作或进行写入新的信息操作。
例如:一个10位的地址码A4A3A2A1A0=00101,B4B3B2B1B0=00011时,则将对应于第5行第3列的存储单元被选中。
2)存储体:它是存放大量二进制信息的“仓库”,该仓库由成千上万个存储单元组成。而每个存储单元存放着一个二进制字信息,二进制字可能是一位的,也可能多位。
存储体或RAM的容量:存储单元的个数*每个存储单元中数据的位数。
例如,一个10位地址的RAM,共有210个存储单元,若每个存储单元存放一位二进制信息,则该RAM的容量就是210(字)×1(位)=1024字位,通常称1K字位(容量)。
3)I/O及读/写控制电路:该部分电路决定着存储器是进行读出信息操作还是写入新信息操作。输入/输出缓冲器起数据的锁存作用,通常采用三态输出的电路结构。因此,RAM可以与其它的外面电路相连接,实现信息的双向传输(即可输入,也可输出),使信息的交换和传递十分方便。
2.RAM的读出信息和写入新信息过程(读/写过程):时序
访问某地址单元的地址码有效,假如你想去访问的具体地址:如A9~A0=0D3H=0011010011B,片选有效=0,选中该片RAM为工作状态。读/写操作有效:=1,读出信息;=0,写入信息;
二、RAM中的存储单元
按照数据存取的方式不同,RAM中的存储单元分为两种:静态存储单元—静态RAM(SRAM);动态存储单元—动态RAM(DRAM)。
1.静态存储单元(SRAM):它由电源来维持信息,如触发器,寄存器等。
静态存储单元(SRAM)的典型结构:
T5、T6、T7、T8都是门控管,只要栅极高电平,这些管子就工作在可变电阻区,当作开关。
其中,存储单元通过T5、T6和数据线(位线)相连;数据线又通过T7、T8和再经输入/输出缓冲电路和输入/输出线相连接,以实现信息的传递和交换。写入信息的操作过程,在第一次写入信息之前,存储单元中的信息是随机信息。
假定要写入信息“1”:
1)地址码加入,地址有效后,相对应的行选线X和列选线Y都为高电平,T5、T6、T7、T8导电;
2)片选信号有效(低电平);
3)写入信号有效,这时三态门G2、G3为工作态,G1输出高阻态,信息“1”经G2、T7、T5达到Q端;经G3反相后信息“0”经T8、T6达到。T4导电,T3截止,显然,信息“1”已写入了存储单元。
假定要读出信息“1”:
1)访问该地址单元的地址码有效;
2)片选有效=0;
3)读操作有效R/=1;此时:三态门G1工作态,G2、G3高阻态,存储单元中的信息“1”经T5、T7、G1三态门读出。
除上述NMOS结构的静态SRAM以外,还有以下几种类型的SRAM。
CMOS结构的SRAM:功耗更加低,存储容量更加大。
双极型结构SRAM:功耗较大,存取速度更加快。
2.动态存储单元(DRAM)
静态存储单元存在静态功耗,集成度做不高,所以,存储容量也做不大。动态存储单元,利用了栅源间的MOS电容存储信息。其静态功耗很小,因而存储容量可以做得很大。静态RAM功耗大,密度低,动态RAM功耗小,密度高。动态RAM需要定时刷新,使用较复杂。
动态存储单元(DRAM)的典型结构:
门控管T3、T4、T5、T6、T7、T8 ,C1、C2为MOS电容。
DRAM的读/写操作过程:
1)访问该存储单元的地址有效;2)片选信号有(未画);3)发出读出信息或写入新信息的控制信号。
读出操作时,令原信息Q=1,C2充有电荷,地址有效后,行、列选取线高电平;加片选信号后,送读出信号R=1,W=0;T4、T6、T8导电,经T4、T6、T8读出。写入操作时,假定原信息为“0”,要写入信息“1”,该存储单元的地址有效后,X、Y为高电平;在片选信号到达后,加写入命令W=1,R=0,即“1。信息经T7、T5、T3对C2充电。充至一定电压后,T2导电,C1放电,T1截止,所以,Q变为高电平,“1”信息写入到了该存储单元中。如果写入的信息是“0”,则原电容上的电荷不变。
动态RAM的刷新:由于DRAM靠MOS电容存储信息。当该信息长时间不处理时,电容上的电荷将会因漏电等原因而逐渐的损失,从而造成存储数据的丢失。及时补充电荷是动态RAM中一个十分重要的问题。补充充电的过程称为“刷新”—Refresh,也称“再生”。
补充充电的过程:加预充电脉冲、预充电管T9、T10导电,C01,C02很快充电至VDD,撤消后,C01,C02上的电荷保持。然而进行读出操作:地址有效,行、列选线X、Y高电平;R=1,W=0进行读出操作,如果原信息为Q=“1”,说明MOS电容C2有电荷,C1没有电荷(即T2导电,T1截止);这时C01上的电荷将对C2补充充电,而C02上的电荷经T2导电管放掉,结果对C2实现了补充充电。读出的数据仍为,,则DO=1。
实际上,在每进行一次读出操作之前,必须对DRAM按排一次刷新,即先加一个预充电脉冲,然后进行读出操作。同时在不进行任何操作时,CPU也应该每隔一定时间对动态RAM进行一次补充充电(一般是2mS时间),以弥补电荷损失。
三、静态RAM的容量扩展(SRAM)
通常微处理器的数据总线为8位、16位或32位,而地址总线为16位或24位不等。当静态RAM的地址线和数据线不能与微机相匹配时,可用地址线扩展、数据线扩展或地址和数据线同时进行扩展的方法加以解决。
1.RAM容量的扩展---位数扩展 数据线扩展
如SRAM 2114:10位地址,4位数据线,其容量=210×4=1024 ×4=4096字位(4K)。
例:用4K容量的RAM2114,实现一个容量为1024×8 (≈8K字位)字位容量的RAM。
解:1024×8字位容量,其地址仍是十位,故只要进行数据位扩展即可,选用RAM2114两片,将两片的地址线,读/写线及片选线并联,两片的位线分别作为高4位数据和低4位数据,组成8位的数据线即可。扩展后的电路如图所示:
2.SRAM容量的扩展---字位扩展,地址扩展,数据位扩展。
例:用RAM2114,扩展成容量为4096×8字位(32K)的RAM。
解:4096需要12位地址,而RAM2114只有10位地址,所以需要进行地址扩展,同时应该将一字 4位,扩展成一字8位。字的位扩展用前面方法,地址扩展用译码器完成,用8片RAM2114。扩展后的电路如图所示: