SDRAM是什么?它的基本概念介紹
DRAM" target="_blank">SDRAM 英文全稱“Synchronous Dynamic Random Access Memory”,譯為“同步動(dòng)態(tài)隨機(jī)存取內(nèi)存”或“同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器”,是動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Dynamic Random Access Memory,簡稱 DRAM)家族的一份子。
同步(Synchronous):與通常的異步 DRAM 不同, SDRAM 存在一個(gè)同步接口,其工作時(shí)鐘的時(shí)鐘頻率與對(duì)應(yīng)控制器(CPU/FPGA)的時(shí)鐘頻率相同,并且 SDRAM 內(nèi)部的命令發(fā)送與數(shù)據(jù)傳輸均以此時(shí)鐘為基準(zhǔn),實(shí)現(xiàn)指令或數(shù)據(jù)的同步操作;
動(dòng)態(tài)(Dynamic): SDRAM 需要不斷的刷新來保證存儲(chǔ)陣列內(nèi)數(shù)據(jù)不丟失;
隨機(jī)(Random):數(shù)據(jù)在 SDRAM 中并不是按照線性依次存儲(chǔ),而是可以自由指定地址進(jìn)行數(shù)據(jù)的讀寫。
同步動(dòng)態(tài)隨機(jī)存取內(nèi)存(synchronous dynamic random-access memory,簡稱SDRAM)是有一個(gè)同步接口的動(dòng)態(tài)隨機(jī)存取內(nèi)存(DRAM)。通常DRAM是有一個(gè)異步接口的,這樣它可以隨時(shí)響應(yīng)控制輸入的變化。而SDRAM有一個(gè)同步接口,在響應(yīng)控制輸入前會(huì)等待一個(gè)時(shí)鐘信號(hào),這樣就能和計(jì)算機(jī)的系統(tǒng)總線同步。時(shí)鐘被用來驅(qū)動(dòng)一個(gè)有限狀態(tài)機(jī),對(duì)進(jìn)入的指令進(jìn)行管線(Pipeline)操作。這使得SDRAM與沒有同步接口的異步DRAM(asynchronous DRAM)相比,可以有一個(gè)更復(fù)雜的操作模式。管線意味著芯片可以在處理完之前的指令前,接受一個(gè)新的指令。
在一個(gè)寫入的管線中,寫入命令在另一個(gè)指令執(zhí)行完之后可以立刻執(zhí)行,而不需要等待數(shù)據(jù)寫入存儲(chǔ)隊(duì)列的時(shí)間。在一個(gè)讀取的流水線中,需要的數(shù)據(jù)在讀取指令發(fā)出之后固定數(shù)量的時(shí)鐘頻率后到達(dá),而這個(gè)等待的過程可以發(fā)出其它附加指令。這種延遲被稱為等待時(shí)間(Latency),在為計(jì)算機(jī)購買內(nèi)存時(shí)是一個(gè)很重要的參數(shù)。SDRAM在計(jì)算機(jī)中被廣泛使用,從起初的SDRAM到之后一代的DDR(或稱DDR1),然后是DDR2和DDR3進(jìn)入大眾市場(chǎng),2015年開始DDR4進(jìn)入消費(fèi)市場(chǎng)。SDRAM從發(fā)展到現(xiàn)在已經(jīng)經(jīng)歷了五代,分別是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM。
第一代SDRAM采用單端(Single-Ended)時(shí)鐘信號(hào),第二代、第三代與第四代由于工作頻率比較快,所以采用可降低干擾的差分時(shí)鐘信號(hào)作為同步時(shí)鐘。SDR SDRAM的時(shí)鐘頻率就是數(shù)據(jù)存儲(chǔ)的頻率,第一代內(nèi)存用時(shí)鐘頻率命名,如pc100,pc133則表明時(shí)鐘信號(hào)為100或133MHz,數(shù)據(jù)讀寫速率也為100或133MHz。之后的第二,三,四代DDR(Double Data Rate)內(nèi)存則采用數(shù)據(jù)讀寫速率作為命名標(biāo)準(zhǔn),并且在前面加上表示其DDR代數(shù)的符號(hào),PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作頻率是333/2=166MHz,2700表示帶寬為2.7G。DDR的讀寫頻率從DDR200到DDR400,DDR2從DDR2-400到DDR2-800,DDR3從DDR3-800到DDR3-1600。很多人將SDRAM錯(cuò)誤的理解為第一代也就是 SDR SDRAM,并且作為名詞解釋,皆屬誤導(dǎo)。SDR不等于SDRAM。
Pin:模組或芯片與外部電路連接用的金屬引腳,而模組的pin就是常說的“金手指”。SIMM:Single In-line Memory Module,單列內(nèi)存模組。內(nèi)存模組就是我們常說的內(nèi)存條,所謂單列是指模組電路板與主板插槽的接口只有一列引腳(雖然兩側(cè)都有金手指)。DIMM:Double In-line Memory Module,雙列內(nèi)存模組。是我們常見的模組類型,所謂雙列是指模組電路板與主板插槽的接口有兩列引腳,模組電路板兩側(cè)的金手指對(duì)應(yīng)一列引腳。RIMM:registered DIMM,帶寄存器的雙線內(nèi)存模塊,這種內(nèi)存槽只能插DDR或Rambus內(nèi)存。
SDRAM 全程是 Synchronous Dynamic Random Access Memory,即同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步指內(nèi)存工作需要同步時(shí)鐘,動(dòng)態(tài)指需要不停地刷新來保證數(shù)據(jù)不丟失,隨機(jī)指數(shù)據(jù)讀寫可以制定地址進(jìn)行操作。SDRAM 存儲(chǔ)數(shù)據(jù)是利用了電容能夠保持電荷以及其充放電的特性。SDRAM具有空間存儲(chǔ)量大、讀寫速度快、價(jià)格相對(duì)便宜等優(yōu)點(diǎn)。然而由于 SDRAM 內(nèi)部利用電容來存儲(chǔ)數(shù)據(jù),為保證數(shù)據(jù)不丟失,需要持續(xù)對(duì)各存儲(chǔ)電容進(jìn)行刷新操作;同時(shí)在讀寫過程中需要考慮行列管理、各種操作延時(shí)等,由此導(dǎo)致了其控制邏輯復(fù)雜的特點(diǎn)。
1、SDRAM內(nèi)存計(jì)算
SDRAM 的內(nèi)部是一個(gè)存儲(chǔ)陣列,就像一張表格,我們?cè)谙蜻@個(gè)表格中寫入數(shù)據(jù)的時(shí)候,需要先指定一個(gè)行(Row),再指定一個(gè)列(Column),就可以準(zhǔn)確地找到所需要的“單元格”,這就是 SDRAM 尋址的基本原理。圖中的“單元格”就是 SDRAM 存儲(chǔ)芯片中的存儲(chǔ)單元,而這個(gè)“表格”(存儲(chǔ)陣列)我們稱之為 L-Bank。
通常 SDRAM 的存儲(chǔ)空間被劃分為 4 個(gè) L-Bank,在尋址時(shí)需要先指定其中一個(gè) L-Bank,然后在這個(gè)選定的 L-Bank 中選擇相應(yīng)的行與列進(jìn)行尋址(尋址就是指定存儲(chǔ)單元地址的過程)。對(duì) SDRAM 的讀寫是針對(duì)存儲(chǔ)單元進(jìn)行的,對(duì) SDRAM 來說一個(gè)存儲(chǔ)單元的容量等于數(shù)據(jù)總線的位寬,單位是 bit。那么 SDRAM 芯片的總存儲(chǔ)容量我們就可以通過下面的公式計(jì)算出來:SDRAM總存儲(chǔ)容量 = 行數(shù) × 列數(shù) × L-Bank的數(shù)量 × 存儲(chǔ)單元的容量
本次設(shè)計(jì)采用的 SDRAM 芯片為 Winbond W9812G6KH - 6,查詢數(shù)據(jù)手冊(cè)發(fā)現(xiàn)其容量為:2M × 4 banks × 16 bits = 128 Mbit,其中 2M 為“行數(shù)×列數(shù)”,4為 L-Bank 數(shù)量,16 為單個(gè)存儲(chǔ)單元的容量,即數(shù)據(jù)位寬。因此每個(gè) Bank 能存儲(chǔ) 32 Mbit(33554432 bit)的數(shù)據(jù),這些數(shù)據(jù)組成 4096行 x 512列,每個(gè)存儲(chǔ)單元存儲(chǔ) 16bit 的數(shù)據(jù)。
2、SDRAM存取原理
SDRAM存儲(chǔ)數(shù)據(jù)是利用了電容的充放電特性以及能夠保持電荷的能力。一個(gè) 1bit 的存儲(chǔ)單元的結(jié)構(gòu)如下圖所示,它主要由行列選通三極管,存儲(chǔ)電容,刷新放大器組成。行地址與列地址選通使得存儲(chǔ)電容與數(shù)據(jù)線導(dǎo)通,從而可進(jìn)行放電(讀取)與充電(寫入)操作。
SDRAM 存儲(chǔ)數(shù)據(jù)是利用了電容能夠保持電荷以及其充放電的特性。對(duì)于這 1 bit 的的數(shù)據(jù),首先需要打開行地址線,然后打開列地址線,選中存儲(chǔ)單元。接著打開行選通三極管,再打開列選通三極管,對(duì)存儲(chǔ)電容進(jìn)行放電,電容的電平狀態(tài)就能呈現(xiàn)在位線上,即實(shí)現(xiàn)了數(shù)據(jù)讀取。當(dāng)位線的的電平值送到存儲(chǔ)電容上,對(duì)存儲(chǔ)電容進(jìn)行充電,就實(shí)現(xiàn)了數(shù)據(jù)寫入。刷新放大器的作用是將電容放大,便于傳輸。
SDRAM(Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)是一種儲(chǔ)存外界訊號(hào)和數(shù)據(jù)的設(shè)備,主要用來存取具有實(shí)時(shí)要求的程序。能夠根據(jù)外界訊號(hào)實(shí)時(shí)以某種以固定時(shí)間間隔規(guī)律向外供應(yīng)數(shù)據(jù)。它是指不包括DRAM(一種半導(dǎo)體元件)在內(nèi)的存儲(chǔ)器,可以給處理器(CPU)同步提供內(nèi)存數(shù)據(jù)。
SDRAM不同于DRAM,是一種芯片結(jié)構(gòu),可以與處理器(CPU)同步工作,即同步外部時(shí)鐘。它也與SDRAM有著極大的區(qū)別:如果要使DRAM的內(nèi)容保持有效,那么必須要不斷地更新存儲(chǔ)空間中的數(shù)據(jù)。但是SDRAM是有刷新時(shí)鐘,因此可以保持?jǐn)?shù)據(jù)的準(zhǔn)確性而不需要每隔一定的時(shí)間對(duì)數(shù)據(jù)進(jìn)行刷新。
另外,SDRAM具有以下優(yōu)點(diǎn):
1. SDRAM是一種高速存儲(chǔ)技術(shù),它可以提升計(jì)算機(jī)的性能和運(yùn)行速度,大大提高計(jì)算機(jī)處理器(CPU)更多任務(wù)的能力。
2. SDRAM方案的容量可以擴(kuò)大幾十倍,并可超出DRAM容量的上限。
3. SDRAM的讀取速度也是比較快的。
4. SDRAM的能量效率很高,可以長時(shí)間的保持?jǐn)?shù)據(jù)的有效性,不需要每次頻繁的讀取數(shù)據(jù)。
5. SDRAM省電,可以更好的完成復(fù)雜操作,而且不會(huì)消耗太多的電力。
綜上所述,SDRAM是一種具有高速、高容量、高效率、節(jié)能等特點(diǎn)的動(dòng)態(tài)存儲(chǔ)器。它既能提高計(jì)算機(jī)的速度,還能減少計(jì)算機(jī)本身的功率消耗。