SDRAM工作原理

來源:互聯網
上載者:User

  SDRAM(Synchronous Dynamic Random Access Memory,同步動態隨機儲存空間)也就是通常所說的記憶體。在我們現在所用的PC機中,所指的記憶體,其實就是SDRAM,只不過是他的升級版,如DDR記憶體,DDR2記憶體,DDR3記憶體等等,大部分顯卡上的顯存也是SDRAM的。

    記憶體是代碼的執行空間,以PC機為例,程式是以檔案的形式儲存在硬碟裡面的,程式在運行之前先由作業系統裝載入記憶體中,由於記憶體是RAM(隨機訪問儲存空間),可以通過地址去定位一個位元組的資料,CPU在執行程式時將PC的值設定為程式在記憶體中的開始地址, CPU會依次的從記憶體裡取址,解碼,執行,在記憶體沒有被初始化之前,記憶體好比是未建好的房子,是不能讀取和儲存資料的,因此我們要想讓程式運行在記憶體裡必須進行記憶體的初始化。

    在介紹記憶體工作原理之前有必要瞭解下存放裝置的儲存方式:ROM,RAM

    ROM(Read-Only Memory):唯讀記憶體,是一種只能讀出事先所存資料的固態半導體儲存空間。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,資料並且不會因為電源關閉而消失。如:PC裡面的BIOS。

    RAM(Random Access Memory) :隨機訪問儲存空間,儲存單元的內容可按需隨意取出或存入,且存取的速度與儲存單元的位置無關的儲存空間。可以理解為,當你給定一個隨機有效訪問地址,RAM會返回其儲存內容(隨機定址),它訪問速度與地址的無關。這種儲存空間在斷電時將丟失其儲存內容,故主要用於儲存短時間內隨機訪問使用的程式。電腦系統裡記憶體位址是一個四位元組對齊的地址(32位機),CPU的取指,執行,儲存都是通過地址進行的,因此它可以用來做記憶體。

    RAM按照硬體設計的不同,隨機儲存空間又分為DRAM(Dynamic RAM)動態隨機儲存空間和SRAM(Static RAM) 靜態隨機儲存空間。

    DRAM:它的基本原件是小電容,電容可以在兩個極板上短時間內保留電荷,可以通過兩極之間有無電壓差代表電腦裡的0和1,由於電容的物理特性,要週期性為其充電,否則資料會丟失。對電容的充電過程叫做重新整理,但是製作工藝較簡單,體積小,便於整合化,經常做為電腦裡記憶體製作原件。比如:PC的記憶體,SDRAM, DDR, DDR2, DDR3等,缺點:由於要定期重新整理儲存介質,存取速度較慢。

    SRAM:它是一種具有靜止存取功能的記憶體,不需要重新整理電路即能儲存它內部儲存的資料。因此其存取速度快,但是體積較大,功耗大,成本高,常用作儲存容量不高,但存取速度快的場合,比如CPU的L1 cache,L2cache(一級,二級緩衝) ,寄存器。

 

    為了滿足開發的需要jz2440在出廠時搭載了三種儲存介質:

(1)NOR FLASH(2M):ROM儲存空間,通常用來儲存BootLoader,引導系統啟動

(2)NAND FLASH(256M,型號不一樣,Nandflash大小不一樣):儲存作業系統映像檔案和檔案系統

(3)SDRAM(64M):記憶體,執行程式

NOR FLASH:它的特點是支援XIP晶片內執行(eXecute In Place),這樣應用程式可以直接在Flash快閃記憶體內運行,不必再把代碼讀到系統RAM中,也就是說可以隨機定址。NOR FLASH的成本較高。

NAND FLASH:它能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。其成本較低,不支援XIP。可做嵌入式裡的資料存放區介質。如:手機儲存卡,SD卡等。

 

S3C2440地址空間:

S3C2440對外引出了27根地址線ADDR0~ADDR26,它最多能夠定址128MB,而S3C2440的定址空間可以達到1GB,這是由於S3C2440將1GB的地址空間分成了8個BANKS(Bank0~Bank7),其中每一個BANK對應一根片選訊號線nGCS0~nGCS7,當訪問BANKx的時候,nGCSx管腳電平拉低,用來選中外接裝置, S3C2440通過8根選訊號線和27根地址線,就可以訪問1GB。如下圖所示:

SDRAM儲存結構:

先來介紹一下CPU提供的一組用於SDRAM的訊號:

1.       SDRAM的時鐘有效訊號SCKE;

2.       SDRAM的時鐘訊號SCLK0,SCLK1;

3.       資料掩碼訊號DQM0,DQM1,DQM2,DQM3;

4.       SDRAM片選訊號nSCS0(它與nGCS6是同一引腳的兩個功能);

5.       SDRAM行地址選通脈衝訊號nSRAS;

6.       SDRAM列地址選通脈衝訊號nSCAS;

7.       寫允許訊號nWE(它不是專用於SDRAM的)。

SDRAM的內部是一個存放裝置陣列,陣列就類似於表格一樣,有行、列之分,這樣我們要訪問(讀、寫)一個單元,就要先指定一個行地址,一個列地址,這樣就找到了該單元,這就是SDRAM的定址的基本原理。這裡的單元我們一般稱為儲存單元,而整個表格稱為邏輯BANK(Logical  Bank , L-BANK),一般每個SDRAM都會有4個L-BANK。SDRAM的邏輯結構如下圖所示:



jz2440是選用2片HY57V561620FTP-H組成64MB、32位的記憶體,每片32MB容量、16位元據匯流排。原理圖如下:


在圖中可以看到,行地址、列地址共用地址線ADDR2~ADDR14(BANK6位寬為32,ADDR0、1沒有使用),使用nSRAS、nSCAS兩個訊號來區分它們。在jz2440開發板中,使用兩根地址線ADDR24、ADDR25作為L-Bank的選擇訊號;SDRAM晶片K4S561632的行地址數為13,列地址數為9,所以當nSRAS訊號有效時,ADDR2~ADDR14上發出的是行地址訊號,它對應32位地址空間的bit[23:11];當nSCAS訊號有效時,ADDR2~ADDR10發出的是列地址訊號,它對應32位地址空間的bit[10:2]。

重點關注SDRAM晶片K4S561632地址線 A0~A12的說明:


該晶片每一個Bank有13行(RA0~RA12),9列(CA0~CA8),行定址時使用A0~A12,列定址分時複 用,只使用了CA0~CA8。nRAS、nCAS引腳,用於標識當前是行定址還是列定址,從而實現地址線的分時複用。

jz2440開發板是由兩塊16位的SDRAM晶片並聯組成32位的位寬,與CPU的32根資料線DATA0~DATA1相連。SDRAM是串連在BANK6上的,起始地址為0x30000000,所以SDRAM的訪問地址為0x30000000~0x33FFFFFF,大小為64MB。

 

看了上面那些內容,裡面有某些東西令我百思不得其解,可能是自己太笨了,不過最後還是想明白了。

1、為什麼兩塊SDRAM晶片並聯起來,容量大小是64MB呢。

原因是這樣的:SDRAM晶片有4個bank,每個bank的行地址數是13、列地址數是9,由兩塊16位的SDRAM晶片並聯組成32位的位寬,與CPU的32根資料線DATA0~DATA1相連。則其儲存空間為(2^13*2^9*4*32bit)/8 = 2^26*8bit/ 8 = 2^26 Byte = 64MB

 

2、為什麼SDRAM晶片的A0地址引腳串連的是ARM晶片的A2引腳呢。  

根據上一問可知,該SDRAM儲存空間為64MB,S3C2440要定址64MB需要地址線26根。由原理圖可知SDRAM的資料匯流排位寬為32位,即一次傳輸4個位元組的資料。因此,我們可以這樣理解,即一個地址空間其實對應著4個位元組的資料,實際上真正的定址空間只有16MB而已,只需24根地址線(行地址線13根,列地址線9根,還有L-Bank選擇訊號的A24、A25兩根地址線,總共24根)就已經足夠了,這樣S3C2440端並不需要將26根地址線全部串連到SDRAM晶片上,只需要給出高24位地址(A2~A25),相當於資料匯流排上每傳輸4個位元組的資料,地址空間的第三位(A2)才增加1,即A0和A1可以不接。此時的A0和A1應該是低電平。然後,SDRAM晶片即根據S3C2440給的行地址、列地址和L-Bank選擇訊號找到對應的地址空間,將該地址空間的4個位元組發送到資料匯流排上。以此類推,資料位元寬為8位,就arm晶片的A0接SDRAM的A0,16位就A1接A0,32位就A2接A0。

 

還有一個細節,即為什麼SDRAM晶片的BA0~BA1串連的是S3C2440晶片的LADDR24~LADDR25引腳。

   因為,HY57V561620為32MB的SDRAM晶片,我們知道,32MB的儲存空間是需要 25 根地址線定址的,由於BA0~BA1引腳決定了訪問第幾個Bank,即決定了儲存空間的最高兩位,因此,需要使用S3C2440的25根地址線中的最高兩位來串連 BA0~BA1,這樣就可以滿足定址的映射要求了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.