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