ROM、RAM、DRAM、SRAM和FLASH的区别
ROM 只读存储器(Read-Only Memory,ROM)
以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。
RAM 随机存取存储器(英语:Random Access Memory,缩写:RAM)
也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。
DRAM 动态随机存取存储器(Dynamic Random Access Memory,DRAM)
是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。由于在现实中晶体管会有漏电电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损。因此对于DRAM来说,周期性地充电是一个无可避免的要件。由于这种需要定时刷新的特性,因此被称为“动态”存储器。相对来说,静态存储器(SRAM)只要存入数据后,纵使不刷新也不会丢失记忆。
SRAM 静态随机存取存储器(Static Random-Access Memory,SRAM)
是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。
flash 快闪存储器(英语:flash memory)
是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在计算机与其他数字产品间交换传输数据,如储存卡与U盘。闪存是一种特殊的、以宏块抹写的EPROM。早期的闪存进行一次抹除,就会清除掉整颗芯片上的数据。
总结:
ROM和RAM: 都是半导体存储器,
ROM: 掉电可以保存数据,
RAM: 通常都是在掉电之后无法保存数据据。
RAM分为两大类:SRAM和DRAM。
SRAM为静态RAM(Static RAM/SRAM) SRAM速度非常快,常用于CPU的缓冲(cache)
DRAM为动态RAM(Dynamic RAM/DRAM) 计算机内存就是DRAM的
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据),U盘和MP3里用的就是这种存储器。
STM32F103C8T6
CPU:STM32F103RCT6,LQFP64,FLASH:64KB,RAM:20KB
flash起始地址为0x8000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB
RAM起始地址为0x2000000,大小为0x5000(16进制)—>20480字节(10进制)—>20KB
STM32F103RCT6
CPU:STM32F103RCT6,LQFP64,FLASH:256KB,SRAM:48KB;
flash起始地址为0x8000000,大小为0x4000(16进制)—>262144字节(10进制)—>256KB
RAM起始地址为0x2000000,大小为0xC000(16进制)—>49125字节(10进制)—>48KB
STM32F103VET6
CPU:STM32F103VET6,LQFP100,FLASH:512KB,SRAM:64KB;
flash起始地址为0x8000000,大小为0x80000(16进制)—>524288字节(10进制)—>512KB
RAM起始地址为0x2000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB
STM32F103ZET6
CPU:STM32F103ZET6,LQFP144,FLASH:512KB,SRAM:64KB;
flash起始地址为0x8000000,大小为0x80000(16进制)—>524288字节(10进制)—>512KB
RAM起始地址为0x2000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB