先说下三个大块:
RAM (random access memory) 随机存取存储,即 内存。
ROM (read only memory) 只读存储,一般是嵌入式或者计算机中的固件。 出厂的时候烧录进去,以后就不可改变
flash 即闪存,其实这个不能叫内存了,u盘的存储就是用它。把它当做硬盘来理解会更加容易。苹果上面都是用它来做硬盘,所以苹果的硬盘小而且很贵。
细说RAM
SRAM (static RAM). 静态RAM。 它的物理特性就不做赘述,从软件工程师的角度来理解,只要知道他是RAM,价格贵,运行速度快。就够了。鉴于以上特性,它一般被用来做CPU的一级缓存,二级缓存,也就是我们常说的缓存。
DRAM(dynamic RAM) 动态RAM. 他相对于SRAM来说,运行稍微慢一些,价格便宜一些。 因为DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以 必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失,所以比SRAM稍微慢一些。SRAM不需要经常刷新来存储数据。 但是DRAM便宜。
所以目前的内存都是用的DRAM。当然DRAM有很多分类,比如SDRAM、DDR RAM 、RDRAM 等。(因为DDR RAM 在一个时钟读写两次数据。所以DDR RAM速度是DRAM中最快的一种。 目前的计算机和显卡的内存基本上都是DDR RAM)
细说 ROM.
ROM与RAM的区别在于,ROM 掉电之后数据不丢失,RAM掉电之后数据丢失。 当然ROM的操作速度要比RAM慢的多。
ROM 分为 ROM 、PROM、 EPROM、 EEPROM. ROM 不能写,只能读。 PROM 只能写一次,以后就不能写了,所以这种ROM基本上已经被淘汰。 EPROM和EEPROM都是可擦除可编程ROM。就是里面的数据可以读可以写,但是效率不高。 EPROM是需要紫光写,写的条件比较苛刻,EEPROM,是电可擦除可编程ROM。 在计算机中可以直接读写。
细说FLASH
FLASH 结合了RAM和ROM的优势。 相对于RAM,它掉电不丢失数据,所以可以用作很多嵌入式设备的存储。 相对于ROM,它具有EEPROM的特性,同时它的操作速度也比EEPROM快的多。
flash 又分为 nor flash 和 nand flash. CPU 可以直接读NOR FLASH 中的内容,相当于读SRAM一样。 所以我的理解就是nor flash相当于一个数据不丢失的缓存,运行速度快。所以相应的也会很贵。
NAND FLASH 相当于硬盘一样,CPU必须按块读取,读取到RAM中,然后进行操作。 所以相对便宜一些。
我的理解没有深入到底层电路方面,只是从整体用途上将其区分。