嵌入式開發中用到的存儲RAM FLASH ROM

本博客轉載自http://blog.csdn.net/u013485792/article/details/50454794謝謝博主分享,請尊重版權

 RAM(Random AccessMemory)的全名爲隨機存取記憶體,它相當於PC機上的移動存儲,用來存儲和保存數據的。它在任何時候都可以讀寫,RAM通常是作爲操作系統或其他正在運行程序的臨時存儲介質(可稱作系統內存)。
  不過,當電源關閉時RAM不能保留數據,如果需要保存數據,就必須把它們寫入到一個長期的存儲器中(例如硬盤)。正因爲如此,有時也將RAM稱作“可變存儲器”。RAM內存可以進一步分爲靜態RAM(SRAM)和動態內存(DRAM)兩大類。DRAM由於具有較低的單位容量價格,所以被大量的採用作爲系統的主記憶。
ROM(Read OnlyMemory)的全名爲唯讀記憶體,它相當於PC機上的硬盤,用來存儲和保存數據。ROM數據不能隨意更新,但是在任何時候都可以讀取。即使是斷電,ROM也能夠保留數據。但是資料一但寫入後只能用特殊方法或根本無法更改,因此ROM常在嵌入式系統中擔任存放作業系統的用途。現在市面上主流的PDA的ROM大小是64MB以及128MB。
  RAM和ROM相比,兩者的最大區別是RAM在斷電以後保存在上面的數據會自動消失,而ROM就不會。
  由於ROM不易更改的特性讓更新資料變得相當麻煩,因此就有了Flash Memory的發展 ,FlashMemory具有ROM不需電力維持資料的好處,又可以在需要的時候任意更改資料 ,不過單價也比普通的ROM要高。
  SRAM速度非常快,是目前讀寫最快的存儲設備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩衝,二級緩衝。動態RAM(DynamicRAM/DRAM)保留數據的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。
      DRAM分爲很多種,常見的主要有FPRAM/FastPage、EDORAM、SDRAM、DDRRAM、RDRAM、SGRAM以及WRAM等,這裏介紹其中的一種DDR RAM。
  DDR RAM(Date-Rate RAM)也稱作DDRSDRAM,這種改進型的RAM和SDRAM是基本一樣的,不同之處在於它可以在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。這是目前電腦中用得最多的內存,而且它有着成本優勢,事實上擊敗了Intel的另外一種內存標準-RambusDRAM。在很多高端的顯卡上,也配備了高速DDR RAM來提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力。
  內存工作原理:內存是用來存放當前正在使用的(即執行中)的數據和程序,我們平常所提到的計算機的內存指的是動態內存(即DRAM),動態內存中所謂的"動態",指的是當我們將數據寫入DRAM後,經過一段時間,數據會丟失,因此需要一個額外設電路進行內存刷新操作。
  具體的工作過程是這樣的:一個DRAM的存儲單元存儲的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,代表1的電容會放電,代表0的電容會吸收電荷,這就是數據丟失的原因;刷新操作定期對電容進行檢查,若電量大於滿電量的1/2,則認爲其代表1,並把電容充滿電;若電量小於1/2,則認爲其代表0,並把電容放電,藉此來保持數據的連續性。
  ROM也有很多種,PROM是可編程的ROM,PROM和EPROM(可擦除可編程ROM)兩者區別是,PROM是一次性的,也就是軟件灌入後,就無法修改了,這種是早期的產品,現在已經不可能使用了,而EPROM是通過紫外光的照射擦出原先的程序,是一種通用的存儲器。另外一種EEPROM是通過電子擦出,價格很高,寫入時間很長,寫入很慢。
  舉個例子,手機軟件一般放在EEPROM中,我們打電話,有些最後撥打的號碼,暫時是存在SRAM中的,不是馬上寫入通過記錄(通話記錄保存在EEPROM中),因爲當時有很重要工作(通話)要做,如果寫入,漫長的等待是讓用戶忍無可忍的。
  FLASH存儲器又稱閃存,它結合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數據同時可以快速讀取數據(NVRAM的優勢),U盤和MP3裏用的就是這種存儲器。在過去的20年裏,嵌入式系統一直使用ROM(EPROM)作爲它們的存儲設備,然而近年來Flash全面代替了ROM(EPROM)在嵌入式系統中的地位,用作存儲Bootloader以及操作系統或者程序代碼或者直接當硬盤使用(U盤)。
  目前Flash主要有兩種NOR Flash和NADN Flash。NORFlash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運行裝載在NORFLASH裏面的代碼,這樣可以減少SRAM的容量從而節約了成本。NANDFlash沒有采取內存的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個字節,採用這種技術的Flash比較廉價。用戶不能直接運行NANDFlash上的代碼,因此許多使用NAND Flash的開發板除了使用NAND Flah以外,還用了一塊小的NORFlash來運行啓動代碼。
  一般小容量的用NOR Flash,因爲其讀取速度快,多用來存儲操作系統等重要信息,而大容量的用NANDFLASH,最常見的NAND FLASH應用是嵌入式系統採用的DOC(Disk OnChip)和我們通常用的"閃盤",可以在線擦除。目前市面上的FLASH主要來自Intel,AMD,Fujitsu和Mxic,而生產NANDFlash的主要廠家有Samsung和Toshiba及Hynix。
  現在的單片機,RAM主要是做運行時數據存儲器,FLASH主要是程序存儲器,EEPROM主要是用以在程序運行保存一些需要掉電不丟失的數據.
  另外,一些變量,都是放到RAM裏的,一些初始化數據比如液晶要顯示的內容界面,都是放到FLASH區裏的(也就是以前說的ROM區),EEPROM可用可不用,主要是存一些運行中的數據,掉電後且不丟失。
 SRAM、SDRAM都用於程序工作時保存臨時數據和程序,因爲在系統調電後,保存在其中的數據都會丟失。
  FLASH用於系統中保存長期的數據,如:配置信息,程序等。
  由於SRAM接口電路簡單,在小系統中常用,SDRAM的接口相對複雜,需要相應的控制器支持,但由於容量大、價格便宜、訪問速度快,所以常用在對內存容量和處理速度要求高的應用場合,在這種場合中,相應的處理器(CPU)都自帶有SDRAM控制器。
  DRAM是動態存儲器(DynamicRAM)的縮寫SDRAM是英文SynchronousDRAM的縮寫,譯成中文就是同步動態存儲器的意思。從技術角度上講,同步動態存儲器(SDRAM)是在現有的標準動態存儲器中加入同步控制邏輯(一個狀態機),利用一個單一的系統時鐘同步所有的地址數據和控制信號。使用SDRAM不但能提高系統表現,還能簡化設計、提供高速的數據傳輸。在功能上,它類似常規的DRAM,且也需時鐘進行刷新。可以說,SDRAM是一種改善了結構的增強型DRAM。目前的SDRAM有10ns和8ns


下面是常用概念的定義:
 1、DRAM
DRAM(Dynamic RAM): 動態隨機存儲器。

 2、SDRAM
SDRAM(SynchronousDRAM): 同步動態隨機存儲器。目前的168線64bit帶寬內存基本上都採用SDRAM芯片,工作電壓3.3V電壓,存取速度高達7.5ns,而EDO內存最快爲15ns。並將RAM與CPU以相同時鐘頻率控制,使RAM與CPU外頻同步,取消等待時間。所以其傳輸速率比EDODRAM更快。

3、DDR SDRAM
DDR(Double DataRate)SDRAM。其核心建立在SDRAM的基礎上,但在速度上有了提高。SDRAM僅在時鐘信號的上升沿讀取數據,而DDR在時鐘信號的上升沿和下降沿都讀取數據,因此,它的速度是標準SDRAM的2倍。 

 4、RDRAM
RDRAM(RambusDRAM):總線式動態隨機存儲器,是由RAMBUS公司與INTEL公司合作提出的一項專利技術,它的數據傳輸率最高可達800MHZ,而它的總線寬度卻僅爲16bit,遠遠小於現在的SDRAM的64bit。

 5、SPD
SPD(Serial Presence Detect): SPD是一顆8針的EEPROM(ElectricallyErasable Programmable ROM 電可擦寫可編程只讀存儲器),容量爲256字節,裏面主要保存了該內存的相關資料,如容量、芯片廠商、內存模組廠商、工作速度等。SPD的內容一般由內存模組製造商寫入。支持SPD的主板在啓動時自動檢測SPD中的資料,並以此設定內存的工作參數。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章