SRAM和DRAM存储原理
SRAM和DRAM存儲原理
- 一、靜態隨機存取存儲器(SRAM)
- 1.基本單元結構
- 2.SRAM結構
- 二、動態隨機存取存儲器(DRAM)
- 1.基本單元結構
- 2.DRAM結構
- 三、SRAM和DRAM區別
一、靜態隨機存取存儲器(SRAM)
1.基本單元結構
靜態隨機存取存儲器(Static Random Access Memory)是隨機存取存儲器RAM的一種?!办o態”是指只要保持通電,里面存儲的數據就可以恒常保持。但是斷電后數據會發生丟失。SRAM最常見的結構是6管存儲單元。如下圖所示,由6個MOS管組成,其中4個NMOS管和2個PMOS管。P1和N1、P2和N2分別為兩對反相器,完成數據的存儲;N3和N4作為讀寫管。
1.1 寫操作
寫“1”時,初始狀態是0,n1節點為0,n2節點為1,即N1和P2導通,P1和N2截止。將位線B為高電平1,反位線BN為低電平0,而字線WL為高電平,因此讀寫管N3和N4都導通。此時,位線B通過讀寫管N3對節點n1進行充電,反位線BN通過讀寫管N4對節點n2進行放電。當n1節點上升為高電平,n2節點放電為低電平時,完成寫“1”操作。
寫“0”時,初始狀態是1,n1節點為1,n2節點為0,即N1和P2截止,P1和N2導通。將位線B為低電平0,反位線BN為高電平1。字線WL也為高電平,讀寫管N3和N4都導通。此時,位線B通過讀寫管N3對節點n1放電,反位線BN對節點n2進行充電。當n1節點放電到低電平,n2節點充電至高電平時,完成寫“0”操作。
1.2 讀操作
讀操作是指將存儲在節點n1和n2中的數據“0”或“1”通過位線B和BN讀出到外部端口。位線B和BN在進行讀操作前都為高電平狀態,當被選中的存儲單元的字線WL為高時,兩個讀寫管N3和N4都會導通,此時就相當于將存儲節點n1和n2直接連在位線B和BN上。
讀“1”時,假設該存儲節點n1原本存儲的是“1”數據信號,N1管和P2管截止,而N2管和P1管導通。位線B還是原來的高電平狀態,位線BN則通過N2管和N4管形成的通路進行放電,此時在B和BN上存在的壓差為ΔV= VB-VBN>0,從而完成數據“1”的讀操作。
讀“0”時,若該存儲節點n1原本存儲的是“0”數據,N1管和P2管導通而N2管和P1管截止,位線BN還是原來的狀態,位線B通過N1管和N3管形成的通路進行放電,此時在B和BN上存在壓差為ΔV= VB-VBN< 0,完成數據“0”的讀操作。
2.SRAM結構
SRAM由存儲單元陣列、地址譯碼器(行和列)、靈敏放大器和控制電路組成。如下圖所示。
為什么要將存儲單元陣列排成矩陣形式?
在SRAM 中,排成矩陣形式的存儲單元陣列的周圍是譯碼器和與外部信號的接口電路。存儲單元陣列通常采用正方形或矩陣的形式,以降低整個芯片面積并有利于數據的存取。以一個存儲容量為4K位的SRAM為例,共需12條地址線來保證每個存儲單元都能被選中(2的12次方等于4096即4k)。假設存儲單元陣列被排列成僅僅包括一列的長條形,則需要一個12/4K位的譯碼器。但假設排列成包括64行和64列的正方形,這時則僅僅需一個6/64位的行譯碼器和一個6/64位的列譯碼器。行、列譯碼器可分別排列在存儲單元陣列的兩邊,64行和64列共同擁有4096個交叉點。每個點就對應一個存儲位。
二、動態隨機存取存儲器(DRAM)
1.基本單元結構
動態隨機訪問存儲器(Dynamic Random Access Memory)是一種半導體存儲器,主要的作用原理是利用電容內存儲電荷的多少來代表一個二進制比特(bit)是1還是0。由于在現實中電容會有漏電的現象,導致電位差不足而使記憶消失,因此除非電容經常周期性地充電,否則無法確保記憶長存。由于這種需要定時刷新的特性,因此被稱為“動態”存儲器。
與SRAM相比,DRAM的優勢在于結構簡單——每一個比特的數據都只需一個電容跟一個晶體管來處理。DRAM通常以一個電容和一個晶體管為一個單元排成二維矩陣,如下圖所示。相比之下,在SRAM上一個比特通常需要六個晶體管。正因此緣故,DRAM擁有非常高的密度,單位體積的容量較高,因此成本較低。
為什么DRAM需要不斷地刷新?
DRAM的數據實際上是存在電容里的。而電容放久了,內部的電荷就會越來越少,對外就形成不了電位的變化。而且當對DRAM進行讀操作的時候需要將電容與外界形成回路,通過檢查是否有電荷流進或流出來判斷該bit是1還是0。所以無論怎樣,在讀操作中都破壞了原來的數據。所以在讀操作結束后需要將數據寫回DRAM中。在整個讀或者寫操作的周期中,計算機都會進行DRAM的刷新,通常是刷新的周期是4ms-64ms。
常用的刷新方法有以下三種:
(1)集中刷新:在一個刷新周期內,利用一段固定的時間,依次對存儲器的所有行逐一再生,在此期間停止對存儲器的讀寫操作,這段時間成為“死時間”,又叫訪存的“死區”。顯然這種方法可以讓讀寫操作不受刷新工作的影響,但是在死區不能訪問存儲器,CPU只能干等著。
(2)分散刷新:把對每一行的刷新分散到各個工作周期中去。比較生動地解釋就是,原來我的工作只有存取,現在我的工作多了一個,就是在存取完之后順便再“打掃”一行。這樣,一個存儲器的系統工作周期分為兩部分,前半部分有用正常讀、寫或保持,后半部分用于刷新某一行。這種方法不存在死區,但是增加了系統的存取周期,如果原來存取周期只有0.5us,現在變成了1us,增加的0.5us要刷新一行。
(3)異步刷新:前兩種方法的結合,它可以縮短死時間,又充分利用最大刷新間隔為2ms的特點。做法是將刷新周期除以行數,得到每兩次刷新之間的時間間隔t,邏輯電路每過t就產生一次刷新請求。這樣就避免了使CPU等待過長時間,還減少了刷新次數,提高了工作效率。
2.DRAM結構
數據SRAM需要4-6個晶體管但是DRAM 僅僅需要1個晶體管,那么這樣同樣容量的SRAM 的體積比DRAM大至少4倍。這樣就意味著你沒有足夠空間安放同樣數量的引腳(因為針腳并沒有因此減少4倍)。當然為了安裝同樣數量的針腳,也可以把芯片的體積加大,但是這樣就提高芯片的生產成本和功耗,所以減少針腳數目也是必要的,對于現在的大容量DRAM 芯片,多路尋址技術已經是必不可少的了。當然多路尋址技術也使得讀寫的過程更加復雜了,這樣在設計的時候不僅僅DRAM 芯片更加復雜了,DRAM 接口也要更加復雜,下圖為DRAM 芯片內部結構示意圖:
可以看到在DRAM結構中相對于SRAM多了兩個部分:
由RAS(Row Address Strobe:行地址脈沖選通器)引腳控制的行地址門閂線路Row Address Latch;
由CAS(Column Address Strobe:列地址脈沖選通器)引腳控制的列地址門閂線路Column Address Latch。
三、SRAM和DRAM區別
1,結構上
SRAM存儲一位需要花6個晶體管,而DRAM只需要花一個電容和一個晶體管。
2,功耗上
SRAM集成度較低,功耗較大。
DRAM集成度較高,功耗也較低。
3,工作特點
SRAM中的存儲單元相當于一個鎖存器,只有0,1兩個穩態;SRAM的特點是工作速度快,只要電源不撤除,寫入SRAM的信息就不會消失,不需要刷新電路,同時在讀出時不破壞原來存放的信息,一經寫入可多次讀出。
DRAM則是利用電容存儲電荷來保存0和1兩種狀態,讀寫時會對原來數據造成破壞,因此需要定時對其進行刷新,否則隨著時間的推移,電容其中存儲的電荷將逐漸消失。
4,用途上
SRAM一般用來作為計算機中的容量較小的高速緩沖存儲器(Cache)。
DRAM一般用作計算機中的主存儲器。采用 DRAM的計算機必須配置動態刷新電路,防止信息丟失。
參考資料https://mp.weixin.qq.com/s/fNzvrT6i4m3elOSE-hC53w
總結
以上是生活随笔為你收集整理的SRAM和DRAM存储原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux查看群组所属用户,linux
- 下一篇: 浅谈nvme sata pci-e m.