现在我们知道了在一个简单的SRAM芯片中进行读写操作的步骤了了,然后我们来了解一下普通的DRAM芯片的工作情况。DRAM相对于SRAM来说更加复杂,因为在DRAM存储数据的过程中需要对于存储的信息不停的刷新,这也是它们之间最大的不同。下面让我们看看DRAM芯片的针脚的作用。
最早、最简单也是最重要的一款DRAM芯片是Intel在1979年发布的2188,这款芯片是16Kx1 DRAM 18线DIP封装。“16K x 1”的部分意思告诉我们这款芯片可以存储16384个bit数据,在同一个时期可以同时进行1bit的读取或者写入操作。(很抱歉找不到这款芯片的实物图片,只好自己简单的画了一个示意图)。
上面的示意图可以看出,DRAM和SRAM之间有着明显的不同。首先你会看到地址引脚从14根变为7根,那么这颗16K DRAM是如何完成同16K SRAM一样的工作的呢?答案很简单,DRAM通过DRAM接口把地址一分为二,然后利用两个连续的时钟周期传输地址数据。这样就达到了使用一半的针脚实现同SGRAM同样的功能的目的,这种技术被称为多路技术(multiplexing)。
那么为什么好减少地址引脚呢?这样做有什么好处呢?前面我们曾经介绍过,存储1bit的数据SRAM需要4-6个晶体管但是DRAM仅仅需要1个晶体管,那么这样同样容量的SRAM的体积比DRAM大至少4倍。这样就意味着你没有足够空间安放同样数量的引脚(因为针脚并没有因此减少4倍)。当然为了安装同样数量的针脚,也可以把芯片的体积加大,但是这样就提高芯片的生产成本和功耗,所以减少针脚数目也是必要的,对于现在的大容量DRAM芯片,多路寻址技术已经是必不可少的了。
当然多路寻址技术也使得读写的过程更加复杂了,这样在设计的时候不仅仅DRAM芯片更加复杂了,DRAM接口也要更加复杂,在我们介绍DRAM读写过程之前,请大家看一张DRAM芯片内部结构示意图:
在上面的示意图中,你可以看到在DRAM结构中相对于SRAM多了两个部分:由/RAS (Row Address
Strobe:行地址脉冲选通器)引脚控制的行地址门闩线路(Row Address Latch)和由/CAS(Column Address Strobe:列地址脉冲选通器)引脚控制的列地址门闩线路(Column Address Latch)。DRAM读取过程:1)通过地址总线将行地址传输到地址引脚。2)/RAS引脚被激活,这样行地址被传送到行地址门闩线路中。3)行地址解码器根据接收到的数据选择相应的行。
4)/WE引脚被确定不被激活,所以DRAM知道它不会进行写入操作。5)列地址通过地址总线传输到地址引脚。6)/CAS引脚被激活,这样列地址被传送到行地址门闩线路中。7)/CAS引脚同样还具有/OE引脚的功能,所以这个时候Dout引脚知道需要向外输出数据。
8)/RAS和/CAS都不被激活,这样就可以进行下一个周期的数据操作了。其实DRAM的写入的过程和读取过程是基本一样的,所以如果你真的理解了上面的过程就能知道写入过程了,所以这里我就不赘述了。(只要把第4步改为/WE引脚被激活就可以了)。