深入理解 ROM , RAM , FLASH

        目前大多數FPGA都有內嵌的塊RAM(Block RAM),可以將其靈活地配置成單端口RAM(DPRAM,Single Port RAM)、雙端口RAM(DPRAM,Double Ports RAM)、僞雙端口RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、FIFO等常用存儲結構。FPGA中其實並沒有專用的ROM硬件資源,實現ROM的思路是對RAM賦予初值,並保持該初值。所謂CAM,即內容地址存儲器。CAM這種存儲器在其每個存儲單元都包含了一個內嵌的比較邏輯,寫入CAM的數據會和其內部存儲的每一個數據進行比較,並返回與端口數據相同的所有內部數據的地址。概括地講,RAM是一個根據地址讀、寫數據的存儲單元,而CAM和RAM恰恰相反,它返回的是與端口數據相匹配的內部地址。CAM的應用也比較廣泛,比如在路由器中的地址交換表等。

ROM、RAM、DRAM、SRAM、FLASH.....的區別?

ROM和RAM指的都是半導體存儲器,ROM是Read Only Memory的縮寫,RAM是Random Access Memory的縮寫。ROM在系統停止供電的時候仍然可以保持數據,而RAM通常都是在掉電之後就丟失數據,典型的RAM就是計算機的內存。

 

   RAM有兩大類,一種稱爲靜態RAM(Static RAM/SRAM),SRAM速度非常快,是目前讀寫最快的存儲設備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩衝,二級緩衝。另一種稱爲動態RAM(Dynamic RAM/DRAM),DRAM保留數據的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。

 

      DRAM分爲很多種,常見的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這裏介紹其中的一種DDR RAM。DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進型的RAM和SDRAM是基本一樣的,不同之處在於它可以在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。這是目前電腦中用得最多的內存,而且它有着成本優勢,事實上擊敗了Intel的另外一種內存標準-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力。

 

    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。NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運行裝載在NOR FLASH裏面的代碼,這樣可以減少SRAM的容量從而節約了成本。NAND Flash沒有采取內存的隨機讀取技術,它的讀取是以一次讀取一快的形式來進行的,通常是一次讀取512個字節,採用這種技術的Flash比較廉價。用戶不能直接運行NAND Flash上的代碼,因此好多使用NAND Flash的開發板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來運行啓動代碼。

 

     一般小容量的用NOR Flash,因爲其讀取速度快,多用來存儲操作系統等重要信息,而大容量的用NAND FLASH,最常見的NAND FLASH應用是嵌入式系統採用的DOC(Disk On Chip)和我們通常用的“閃盤”,可以在線擦除。目前市面上的FLASH 主要來自Intel,AMD,Fujitsu和Toshiba,而生產NAND Flash的主要廠家有Samsung和Toshiba。

 

話說SRAM,DRAM,SDRAM

SRAM是Static Random Access Memory的縮寫,中文含義爲靜態隨機訪問存儲器,它是一種類型的半導體存儲器。“靜態”是指只要不掉電,存儲在SRAM中的數據就不會丟失。這一點與動態RAM(DRAM)不同,DRAM需要進行週期性的刷新操作。 然後,我們不應將SRAM與只讀存儲器(ROM)和Flash Memory相混淆,因爲SRAM是一種易失性存儲器,它只有在電源保持連續供應的情況下才能夠保持數據。“隨機訪問”是指存儲器的內容可以以任何順序訪問,而不管前一次訪問的是哪一個位置。 

       SRAM中的每一位均存儲在四個晶體管當中,這四個晶體管組成了兩個交叉耦合反向器。這個存儲單元具有兩個穩定狀態,通常表示爲0和1。另外還需要兩個訪問晶體管用於控制讀或寫操作過程中存儲單元的訪問。因此,一個存儲位通常需要六個MOSFET。對稱的電路結構使得SRAM的訪問速度要快於DRAM。SRAM比DRAM訪問速度快的另外一個原因是SRAM可以一次接收所有的地址位,而DRAM則使用行地址和列地址複用的結構。

       SRAM不應該與SDRAM相混淆,SDRAM代表的是同步DRAM(Synchronous DRAM),這與SRAM是完全不同的。SRAM也不應該與PSRAM相混淆,PSRAM是一種僞裝成SRAM的DRAM。

       從晶體管的類型分,SRAM可以分爲雙極性與CMOS兩種。從功能上分,SRAM可以分爲異步SRAM和同步SRAM(SSRAM)。異步SRAM的訪問獨立於時鐘,數據輸入和輸出都由地址的變化控制。同步SRAM的所有訪問都在時鐘的上升/下降沿啓動。地址、數據輸入和其它控制信號均於時鍾信號相關。

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