複製鏈接
請複製以下鏈接發送給好友

SRAM

(靜態隨機存取存儲器)

鎖定
靜態隨機存取存儲器Static Random-Access Memory,SRAM)是隨機存取存儲器的一種。所謂的“靜態”,是指這種存儲器只要保持通電,裏面儲存的數據就可以恆常保持。相對之下,動態隨機存取存儲器(DRAM)裏面所儲存的數據就需要週期性地更新。然而,當電力供應停止時,SRAM儲存的數據還是會消失(被稱為volatile memory),這與在斷電後還能儲存資料的ROM閃存是不同的。
中文名
靜態隨機存取存儲器
外文名
Static Random Access Memory
縮    寫
SRAM
優    點
較高的性能
缺    點
集成度

SRAM基本簡介

SRAM不需要刷新電路即能保存它內部存儲的數據。而DRAM(Dynamic Random Access Memory)每隔一段時間,要刷新充電一次,否則內部的數據即會消失,因此SRAM具有較高的性能,但是SRAM也有它的缺點,即它的集成度較低,功耗較DRAM大 [1]  ,相同容量的DRAM內存可以設計為較小的體積,但是SRAM卻需要很大的體積。同樣面積的硅片可以做出更大容量的DRAM,因此SRAM顯得更貴。 [2] 

SRAM主要規格

一種是置於cpu與主存間的高速緩存,它有兩種規格:一種是固定在主板上的高速緩存(Cache Memory);另一種是插在卡槽上的COAST(Cache On A Stick)擴充用的高速緩存,另外在CMOS芯片1468l8的電路里,它的內部也有較小容量的128字節SRAM,存儲所設置的配置數據。還有為了加速CPU內部數據的傳送,自80486CPU起,在CPU的內部也設計有高速緩存,故在Pentium CPU就有所謂的L1 Cache(一級高速緩存)和L2Cache(二級高速緩存)的名詞,一般L1 Cache是建在CPU的內部,L2 Cache是設計在CPU的外部,但是Pentium Pro把L1和L2 Cache同時設計在CPU的內部,故Pentium Pro的體積較大。Pentium Ⅱ又把L2 Cache移至CPU內核之外的黑盒子裏。SRAM顯然速度快,不需要刷新操作,但是也有另外的缺點,就是價格高,體積大,所以在主板上還不能作為用量較大的主存。 [2] 

SRAM主要用途

圖1 SRAM 圖1 SRAM
SRAM主要用於二級高速緩存(Level2 Cache)。它利用晶體管來存儲數據。與DRAM相比,SRAM的速度快,但在相同面積中SRAM的容量要比其他類型的內存小。
SRAM的速度快但昂貴,一般用小容量的SRAM作為更高速CPU和較低速DRAM 之間的緩存(cache)。SRAM也有許多種,如AsyncSRAM (Asynchronous SRAM,異步SRAM)、Sync SRAM (Synchronous SRAM,同步SRAM)、PBSRAM (Pipelined Burst SRAM,流水式突發SRAM),還有INTEL沒有公佈細節的CSRAM等。
基本的SRAM的架構如圖1所示,SRAM一般可分為五大部分:存儲單元陣列(core cells array),行/列地址譯碼器(decode),靈敏放大器(Sense Amplifier),控制電路(control circuit),緩衝/驅動電路(FFIO)。SRAM是靜態存儲方式,以雙穩態電路作為存儲單元,SRAM不像DRAM一樣需要不斷刷新,而且工作速度較快,但由於存儲單元器件較多,集成度不太高,功耗也較大。 [2] 

SRAM工作原理

圖2 六管單元電路圖 圖2 六管單元電路圖
SRAM的工作原理:
假設準備往圖2的6T存儲單元寫入“1”,先將某一組地址值輸入到行、列譯碼器中,選中特定的單元,然後使寫使能信號WE有效,將要寫入的數據“1”通過寫入電路變成“1”和“0”後分別加到選中單元的兩條位線BL,BLB上,此時選中單元的WL=1,晶體管N0,N5打開,把BL,BLB上的信號分別送到Q,QB點,從而使Q=1,QB=0,這樣數據“1”就被鎖存在晶體管P2,P3,N3,N4構成的鎖存器中。寫入數據“0”的過程類似。
SRAM的讀過程以讀“1”為例,通過譯碼器選中某列位線對BL,BLB進行預充電到電源電壓VDD,預充電結束後,再通過行譯碼器選中某行,則某一存儲單元被選中,由於其中存放的是“1”,則WL=1、Q=1、QB=0。晶體管N4、N5導通,有電流經N4、N5到地,從而使BLB電位下降,BL、BLB間電位產生電壓差,當電壓差達到一定值後打開靈敏度放大器,對電壓進行放大,再送到輸出電路,讀出數據。 [2] 

SRAM類型

1.非揮發性SRAM
非揮發性SRAM(Non-volatile SRAM,nvSRAM)具有SRAM的標準功能,但在失去電源供電時可以保住其數據。非揮發性SRAM用於網絡、航天、醫療等需要關鍵場合—保住數據是關鍵的而且不可能用上電池。
2.異步SRAM
異步SRAM(Asynchronous SRAM)的容量從4 Kb到64 Mb。SRAM的快速訪問使得異步SRAM適用於小型的cache很小的嵌入式處理器的主內存,這種處理器廣泛用於工業電子設備、測量設備、硬盤、網絡設備等等。
根據晶體管類型分類
  • 雙極性結型晶體管(用於TTLECL)—非常快速但是功耗巨大
  • MOSFET(用於CMOS)—本文詳細介紹的類型,低功耗,應用廣泛。
根據功能分類
  • 異步—獨立的時鐘頻率,讀寫受控於地址線與控制使能信號。
  • 同步—所有工作是時鐘脈衝邊沿開始,地址線、數據線、控制線均與時鐘脈衝配合。
根據特性分類
  • 零總線翻轉(Zero bus turnaround,ZBT)—SRAM總線從以及從所需要的時鐘週期是0
  • 同步突發SRAM(synchronous-burst SRAM,syncBurst SRAM)—
  • DDR SRAM—同步、單口讀/寫,雙數據率I/O
  • QDR SRAM(Quad Data Rate (QDR) SRAM)—同步,分開的讀/寫口,同時讀寫4個字(word)。
根據觸發類型

SRAM結構原理

SRAM (Static RAM),即靜態RAM,它也由晶體管組成。接通代表1,斷開表示0,並且狀態會保持到接收了一個改變信號為止。這些晶體管不需要刷新,但停機或斷電時,它們同DRAM一樣,會丟掉信息。SRAM的速度非常快,通常能以20ns或更快的速度工作。一個DRAM存儲單元僅需一個晶體管和一個小電容。而每個SRAM單元需要四到六個晶體管和其他零件。所以,除了價格較貴外,SRAM芯片在外形上也較大,與DRAM相比要佔用更多的空間。由於外形和電氣上的差別,SRAM和DRAM是不能互換的。
SRAM的高速和靜態特性使它們通常被用來作為Cache存儲器。計算機的主板上都有Cache插座。
圖3 SRAM 圖3 SRAM
如圖3所示的是一個SRAM的結構框圖。由圖3看出SRAM一般由五大部分組成,即存儲單元陣列、地址譯碼器(包括行譯碼器和列譯碼器)、靈敏放大器、控制電路和緩衝/驅動電路。在圖3中,A0-Am-1為地址輸入端,CSB, WEB和OEB為控制端,控制讀寫操作,為低電平有效,1100-11ON-1為數據輸入輸出端。存儲陣列中的每個存儲單元都與其它單元在行和列上共享電學連接,其中水平方向的連線稱為“字線”,而垂直方向的數據流入和流出存儲單元的連線稱為“位線”。通過輸入的地址可選擇特定的字線和位線,字線和位線的交叉處就是被選中的存儲單元,每一個存儲單元都是按這種方法被唯一選中,然後再對其進行讀寫操作。有的存儲器設計成多位數據如4位或8位等同時輸入和輸出,這樣的話,就會同時有4個或8個存儲單元按上述方法被選中進行讀寫操作。
在SRAM 中,排成矩陣形式的存儲單元陣列的周圍是譯碼器和與外部信號的接口電路。存儲單元陣列通常採用正方形或矩陣的形式,以減少整個芯片面積並有利於數據的存取。以一個存儲容量為4K位的SRAM為例,共需12條地址線來保證每一個存儲單元都能被選中(
=4096)。如果存儲單元陣列被排列成只包含一列的長條形,則需要一個12/4K位的譯碼器,但如果排列成包含64行和64列的正方形,這時則只需一個6/64位的行譯碼器和一個6/64位的列譯碼器,行、列譯碼器可分別排列在存儲單元陣列的兩邊,64行和64列共有4096個交叉點,每一個點就對應一個存儲位。因此,將存儲單元排列成正方形比排列成一列的長條形要大大地減少整個芯片地面積。存儲單元排列成長條形除了形狀奇異和麪積大以外,還有一個缺點,那就是單排在列的上部的存儲單元與數據輸入/輸出端的連線就會變得很長,特別是對於容量比較大得存儲器來説,情況就更為嚴重,而連線的延遲至少是與它的長度成線性關係,連線越長,線上的延遲就越大,所以就會導致讀寫速度的降低和不同存儲元連線延遲的不一致性,這些都是在設計中需要避免的。 [3] 

SRAM應用與使用

特性
SRAM是比DRAM更為昂貴,但更為快速、低功耗(僅空閒狀態)。因此SRAM首選用於帶寬要求高。SRAM比起DRAM更為容易控制,也更是隨機訪問。由於複雜的內部結構,SRAM比DRAM的佔用面積更大,因而不適合用於更高儲存密度低成本的應用,如PC內存。
時鐘頻率與功耗
SRAM功耗取決於它的訪問頻率。如果用高頻率訪問SRAM,其功耗比DRAM大得多。有的SRAM在全帶寬時功耗達到幾個瓦特量級。另一方面,SRAM如果用於温和的時鐘頻率的微處理器,其功耗將非常小,在空閒狀態時功耗可以忽略不計—幾個微瓦特級別。
SRAM用於:
  • 通用的產品
    • asynchronous界面,例如28針32Kx8的chip(通常命名為XXC256),以及類似的產品最多16 Mbit每片
    • synchronous界面,通常用做高速緩存(cache)以及其它要求突發傳輸的應用,最多18 Mbit(256Kx72)每片
  • 集成於芯片內
    • 作為微控制器的RAM或者cache(通常從32 bytes到128kilobytes)
    • 作為強大的微處理器的主caches,如x86系列與許多其它CPU(從8kiB到幾百萬字節的量級)
    • 作為寄存器(參見寄存器堆
    • 用於特定的ICs或ASIC(通常在幾千字節量級)
    • 用於FPGACPLD
嵌入式應用
工業與科學用的很多子系統,汽車電子等等都用到了SRAM。現代設備中很多都嵌入了幾千字節的SRAM。實際上幾乎所有實現了電子用户界面的現代設備都可能用上了SRAM,如玩具。數碼相機、手機、音響合成器等往往用了幾兆字節的SRAM。 實時信號處理電路往往使用雙口(dual-ported)的SRAM。
用於計算機
SRAM用於PC、工作站、路由器以及外設:內部的CPU高速緩存,外部的突發模式使用的SRAM緩存,硬盤緩衝區,路由器緩衝區,等等。LCD顯示器或者打印機也通常用SRAM來緩存數據。SRAM做的小型緩衝區也常見於CDROM與CDRW的驅動器中,通常為256 KiB或者更多,用來緩衝音軌數據。線纜調制解調器及類似的連接於計算機的設備也使用了SRAM。
愛好者
搭建自己的處理器的業餘愛好者更願意選用SRAM,這是由於其易用性的工作界面。沒有DRAM所需的刷新週期;地址總線與數據總線直接訪問而不是像DRAM那樣多工分別訪問。SRAM通常只需3個控制信號:Chip Enable (CE), Write Enable (WE)與Output Enable(OE)。對於同步SRAM,還需要時鐘信號(Clock,CLK)。 [4] 

SRAM參見

參考資料
  • 1.    唐朔飛.計算機組成原理(第二版):高等教育出版社,2008:87
  • 2.    康華光. 電子技術基礎數字部分 3th. 高等教育出版社. 1988. ISBN 7-04-001622-2.
  • 3.    Sergei Skorobogatov. Low temperature data remanence in static RAM. University of Cambridge, Computer Laboratory. June 2002 [2008-02-27].
  • 4.    Computer organization. 4th ed. [S.l.]: McGraw-Hill. ISBN 0-07-114323-8.