存储器是用来存储程序源码和数据的部件,有了存储器计算机才具有记忆功能。存储器按其存储介质特性主要怕分为“易失性存储器”和“非易失性存储器”两大类。在计算机当中,易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。
RAM
RAM是Random Access Memory的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入的时候,所需要的时间与这段信息所在的位置无关。根据RAM的存储机制,又分为动态随机存储器DRAM和静态随机存储器SRAM两种。
DRAM
动态随机存储器DRAM的存储单元以电容的电荷来表示数据,有电荷的表示1,无电荷的表示0。但时间一长,代表1的电容就会放电,代表0的电容就会重吸收电荷,因此它们需要定期刷新操作,这就是“动态”一词所形容的特性。刷新操作会对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,借此来保证数据的正确性。
SDRAM
根据DRAM的通信方式,又分为同步和异步两种,这两种通信方式根据通信时是否需要时钟信号来区分。由于使用时钟同步信号的通信速度更快,所以同步DRAM的使用更加广泛,这种DRAM被称为SDRAM。
SRAM
静态随机存储器SRAM的存储单元以锁存器来存储数据。SRAM根据其通信方式也分为同步和异步SRAM,相对来说,异步SRAM用得比较广泛。
非易失性存储器
非易失性存储器的种类很多,半导体类的有ROM和Flash,其他还有光盘、软盘和机械硬盘。
ROM
ROM是“Read Only Memory”的缩写,意为只能读的存储器,现在一般用于非易失性半导体存储器,包括后面介绍的Flash存储器。
MASK ROM
MSAK ROM就是正宗的“Read Only Memory”,存储在它内部的数据是在出厂时候使用特殊工艺固化的,生产后就不修改,其主要优势是大批生产时成本低。
OTPROM
OTPROM(One Time Programable ROM)是一次可编程存储器。这种存储器在出厂时里面并没有资料,用户可以使用专用的编程器将自己的资料写入,但只能写入一次,被写入过后,它的内容也不再可以修改。
EPROM
EPROM(Erasable Programmable ROM)是可重复擦写的存储器,它解决了PROM芯片只能写入一次的问题。这种存储器使用紫外线照射芯片内部擦除数据,擦除和写入都要用专用的设备。
EEPROM
EEPROM(Electrically Erasable Programmable ROM)是电可擦除存储器。EEPROM可以重复擦写,它的擦除和写入都是直接使用电路控制的,不需要外部设备来擦写。而且可以按字节为单位修改数据,无需擦除整个芯片。
FLASH存储器
FLASH存储器又称为闪存,它也是可重复擦写的存储器,部分书籍会把Flash存储器称为Flash ROM,但它的容量一般比EEPROM大得多,一般以多个字节为单位。如有的Flash存储器以4096个字节为扇区,最小的擦除单位为一个扇区。Flash存储器又分为NOR Flash和NAND Flash。
NOR和NAND的共性是在数据写入前都需要进行擦除操作,而擦除操作一般以“扇区/块”为单位的。而NOR和NAND的差别主要在于其内部的“地址/数据线”是否分开。
由于NOR的地址线和数据线分开,它可以按“字节”读写数据,符合CPU的指令译码执行要求,所以假如NOR中存储了代码指令,CPU给NOR一个地址,NOR就能向CPU返回一个数据让CPU执行,中间不需要额外的处理操作。
而由于NAND的数据线和地址线共用,只能按“块”来读写数据,假如NAND上存储了代码指令,CPU给给NAND地址后,它无法返回该地址的数据,所以不符合指令译码要求。
由于两种Flash存储器的差异,NOR Flash一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间。而NAND Flash一般应用在大数据存储的场合,包括SD卡、U盘以及固态硬盘等,这些都是NAND Flash类型的。
如有概念上的错误,请在下方评论区指正!