1. 程式人生 > >ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash介紹

ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash介紹

1 ROM 、RAM、IROM、IRAM
ROM:read only memory 只讀儲存器

ROM是指程式執行的過程中不能直接通過資料匯流排、地址匯流排進行資料的寫操作,必須藉助於相關的控制器介面來進行資料的寫操作。

ROM大部分對應著外部儲存器,主要是用來儲存永久性資料的,程式不能在其上執行,也不能在儲存程式執行時的資料。比如硬碟、Flash(U盤、Nand、iNand、SSD)、光碟等。但是也有特例,比如Norflash,能夠對映到CPU記憶體的地址空間中,可以直接用來執行程式。至於Norslash在程式執行的過程中能不能修改其中的內容,暫時不清楚。

實際上,STM8S文件中描述其中EEPROM分為兩個儲存塊,一個為Flash:主要用來儲存和執行程式,一個為資料EEPROM:主要用來儲存想要永久儲存的使用者資料。Flash部分主要通過防寫使得程式執行過程中不能進行寫操作,否則程式會停止執行。
RAM:ramdom access memory 隨機訪問儲存器

RAM主要是指內部儲存器,可以用來執行程式和儲存程式執行時所用到的資料,比如SRAM、DRAM、DDR等。CPU可以通過資料匯流排、地址匯流排直接訪問RAM中的資料。

注意
CPU連線記憶體和外存的連線方式不同。記憶體需要直接地址訪問,所以是通過地址匯流排&資料匯流排的匯流排式訪問方式連線的(好處是直接訪問,隨機訪問;壞處是佔用CPU的地址空間,大小受限);外存是通過CPU的外存介面來連線的(好處是不佔用CPU的地址空間,壞處是訪問速度沒有匯流排式快,訪問時序較複雜)。

SoC常用外存:

NorFlash:匯流排式訪問,接到SROM bank,優點是可以直接匯流排訪問,一般用來啟動。

NandFlash:分為SLC和MLC。
eMMC/iNand/moviNand:eMMC(embeded MMC),iNand是SanDisk公司出產的eMMC,moviNand是三星公司出產的eMMC。
oneNAND :oneNand是三星公司出的一種Nand
SD卡/TF卡/MMC卡
eSSD
IROM:internal rom 內部ROM,指的是整合到SoC內部的ROM
IRAM:internal ram 內部RAM,指的是整合到SoC內部的RAM
2 DRAM、SRAM
DRAM:dynamic ram 動態RAM

動態記憶體,特點就是容量大、價格低,缺點就是上電後不能直接使用,需要軟體初始化後才可以使用。
SRAM:static ram 靜態RAM

靜態記憶體,特點就是容量小、價格高,優點是不需要軟體初始化直接上電就能用。

不同系統對記憶體的需求
微控制器中:記憶體需求量小,而且希望開發儘量簡單,適合全部用SRAM。
嵌入式系統:記憶體需求量大,而且沒有NorFlash等可啟動介質。
PC機: 記憶體需求量大,而且軟體複雜,不在乎DRAM的初始化開銷,適合全部用DRAM。

不同系統的儲存器配置
所以一般PC機都是:很小容量的BIOS(NorFlash)+ 很大容量的硬碟(類似於NandFlash)+ 大容量的DRAM。
一般的微控制器:很小容量的NorFlash + 很小容量的SRAM。
嵌入式系統:因為NorFlash很貴,所以現在很多嵌入式系統傾向於不用NorFlash,直接用:外接的大容量Nand + 外接大容量DRAM + SoC內建SRAM + SoC內建IROM。
3 SROM
SROM:sram and rom