SRAM与DRAM的区别

 在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多。在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识。这篇文章是我的听课心得,现在分享给各位,仅供参考,若有错误多多指正。

  从名字上看,SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的数据将会消失。而且不停刷新电路的功耗是很高的,在我们的PC待机时消耗的电量有很大一部分都来自于对内存的刷新。那么为什么我们不用SRAM来作为内存呢?

  首先来看一张SRAM的基本单元结构图                  再来看看DRAM的基本单元结构图

                                                  

 

SRAM存储一位需要花6个晶体管,而DRAM只需要花一个电容和一个晶体管。cache追求的是速度所以选择SRAM,而内存则追求容量所以选择能够在相同空间中存放更多内容并且造价相对低廉的DRAM。

我们姑且不去讨论关于SRAM是如何静态存储数据(触发器)的。为什么DRAM需要不断刷新呢?

DRAM的数据实际上是存在电容里的。而电容放久了,内部的电荷就会越来越少,对外就形成不了电位的变化。而且当对DRAM进行读操作的时候需要将电容与外界形成回路,通过检查是否有电荷流进或流出来判断该bit是1还是0。所以无论怎样,在读操作中我们都破坏了原来的数据。所以在读操作结束后需要将数据写回DRAM中。在整个读或者写操作的周期中,计算机都会进行DRAM的刷新,通常是刷新的周期是4ms-64ms。

  关于SRAM和DRAM的寻址方式也有所不同。虽然通常我们都认为内存像一个长长的数组呈一维排列,但实际上内存是以一个二维数组的形式排列的,每个单元都有其行地址和列地址,当然cache也一样。而这两者的不同在于对于容量较小的SRAM,我们可以将行地址和列地址一次性传入到SRAM中,而如果我们对DRAM也这样做的话,则需要很多很多根地址线(容量越大,地址越长,地址位数越多)。所以我们选择分别传送行地址和列地址到DRAM中。先选中一整行,然后将整行数据存到一个锁存器中,等待列地址的传送然后选中所需要的数据。这也是为什么SRAM比DRAM快的原因之一。

   DRAM采用的是分时复用技术,因此在访问相同容量的存储器是DRAM的地址线是SRAM的一半。

   DRAM有两种刷新方式:1.集中式刷新:DRAM的所有行在每一个刷新周期中被刷新。对于刷新周期为8ms的内存来说,所有行的集中式刷新必须每隔8ms进行一次。

扫描二维码关注公众号,回复: 1807543 查看本文章

为此将8ms时间分为两部分:前一段时间进行正常的读写操作,后一段时间(8ms至正常读写周期时间)作为集中刷新操作时间。此时正常的读写操作停止,数据线输

出被封锁。等所有行刷新结束后,又进行正常的读写操作。2.分散式刷新:每一行的刷新插入到正常的读写周期中,假如DRAM有1024行,刷新周期为8ms,则每一行

必须隔8ms/1024=7.8(微秒)进行一次。由于DRAM芯片内部有刷新计数器,可利用CAS信号比RAS信号提前动作来实现刷新操作---这种时序能保证刷新计数器加一,

产生一个需要刷新的行地址,经2选1多路开关送到行地址译码器。




存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器,就用来存放程序和数据了。

猜你喜欢

转载自blog.csdn.net/qq_38537101/article/details/80165263