在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。
存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。
一、关于RAM和ROMRAM:Random Access Memory,随机存取存储器。RAM是内存其中最重要的存储器,通常我们直接称之为内存,是与CPU直接交换数据的内部存储器,它可以随时读写(刷新时除外),而且速度很快(相对Flash)。
内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中;当你选择存盘时,内存中的数据才会被存入硬盘。
ROM : Read Only Memory,只读存储器。是一种存储固定信息的存储器,在正常工作状态下只能读取数据,不能即时修改或重新写入数据。这种存储器电路结构简单,且存放的数据在断电后不会丢失,特别适合于存储永久性的、不变的程序代码或数据,比如计算机中的自检程序就是固化在ROM中的。
二、RAM的类别根据存储单元的工作原理不同, RAM分为:静态RAM和动态RAM。1.静态随机存储器(SRAM)静态存储单元是在静态触发器的基础上附加门控管而构成的。因此,它是靠触发器的自保功能存储数据的。SRAM 是利用双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的。DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息,所以DRAM 的成本、集成度、功耗等明显优于SRAM。SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。我们平时在一些开发板上都能看见,比如:ISSI的芯片2.动态随机存储器(DRAM)动态RAM的存储矩阵由动态MOS存储单元组成。动态MOS存储单元利用MOS管的栅极电容来存储信息,但由于栅极电容的容量很小,而漏电流又不可能绝对等于0,所以电荷保存的时间有限。
为了避免存储信息的丢失,必须定时地给电容补充漏掉的电荷。通常把这种操作称为“刷新”或“再生”,因此DRAM内部要有刷新控制电路,其操作也比静态RAM复杂。
DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。 DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM等。DDR RAM(Date-RateRAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
由于DRAM存储单元的结构能做得非常简单,所用元件少,功耗低,已成为大容量RAM的主流产品。这是目前电脑中用得最多的内存,而且它有着成本优势。
3.同步动态随机存储内存(SDRAM)
SDRAM:Synchronous Dynamic Random-AccessMemory,同步动态随机存储取内存。它是有一个同步接口的动态随机存取内存(DRAM)。
目前的168线64bit带宽内存基本上都采用SDRAM芯片,工作电压3.3V电压,存取速度高达7.5ns,而EDO内存最快为15ns。并将RAM与CPU以相同时钟频率控制,使RAM与CPU外频同步,取消等待时间,所以其传输速率比EDO DRAM更快。
SDRAM从发展到现在已经经历了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM。第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
4.上述几类存储器的区别
SRAM是静态随机存储器,主要是依靠触发器存储数据,无需刷新。而DRAM是动态随机存储器,依靠MOSFET中栅电容存储数据,需不断刷新以补充释放的电荷。
由于单管就可以实现数据存储,集成度可以做到更高,功耗也更低,更为主流。需要注意的是由于刷新牵涉电容的充放电过程,DRAM的存取速度不及SRAM。
至于SDRAM,为同步动态随机存储器,属于DRAM的一种,其工作过程需要同步时钟的配合。因此可以不考虑路线延时不同的影响,避免不定态。普通的DRAM属于异步传输,存取数据时,必须等待若干个时钟以后才进行操作(考虑不定态),因为会花费较多的时间,影响了数据的传输速率。随着时钟频率的不断增高,这个瓶颈的限制就会越来越明显,SDRAM的优势也就更能体现出来。
5. RAM特点 2.5.1.随机存取
所谓“随机存取”,指的是当存储器中的数据被读取或写入时,所需要的时间与这段信息所在的位置或所写入的位置无关。相对的,读取或写入顺序访问存储设备中的信息时,其所需要的时间与位置就会有关系。它主要用来存放操作系统、各种应用程序、数据等。
2.5.2.易失性
当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中。RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。
2.5.3.对静电敏感
正如其他精细的集成电路,随机存取存储器对环境的静电荷非常敏感。静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地。
2.5.4.访问速度
现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的,存取延迟和其他涉及机械运作的存储设备相比,也显得微不足道。
2.5.5.需要刷新
现代的随机存取存储器依赖电容器存储数据。电容器充满电后代表1,未充电的代表0。由于电容器或多或少有漏电的情形,若不作特别处理,数据会渐渐随时间流失。
刷新是指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,弥补流失了的电荷。需要刷新正好解释了随机存取存储器的易失性。
三、ROM的类别
ROM的最大优点是具有不易失性。ROM有(MROM、PROM)和可重写只读存储器(EPROM、EEPROM、闪速存储器等)两大类。
1.不可重写只读存储器 3.1.1.掩模只读存储器(MROM)
掩模只读存储器,又称固定ROM。这种ROM在制造时,生产商利用掩模(Mask)技术把信息写入存储器中,使用时用户无法更改,适宜大批量生产。
MROM又可分为二极管ROM、双极型三极管ROM和MOS管ROM三种类型。
3.1.2.可编程只读存储器(PROM)
可编程只读存储器(ProgrammableROM,简称PROM),是可由用户一次性写入信息的只读存储器,是在MROM的基础上发展而来的。
PROM 的缺点是用户只能写入一次数据,写入后就不能再修改。
2.可重写只读存储器
这类ROM由用户写入数据(程序),后期也可以操作修改,使用起来比较自由、方便。可重写ROM又可分为紫外线擦除EPROM、电擦除EEPROM和闪速存储器Flash ROM三种类型。
3.2.1.光擦可编程只读存储器(EPROM)
光擦除可编程只读存储器(EPROM)的特点是内容可以用特殊的方式擦除和重写EPROM出厂时,其存储内容为全「1」,用户可根据需要将部分内容改写为「0」,需要修改存储内容时,可将原存储内容擦除(恢复为全「1」),以便写入新的内容。
EPROM一般是将芯片用紫外线照射 15~20分钟左右,以擦除其中的内容,然后用专用的EPROM写入器将信息重新写入,一旦写入则相对固定。在闪速存储器大量应用之前,EPROM常用于软件开发过程中。
3.2.2.电擦可编程只读存储器(EEPROM 或E2PROM)
EEPROM用电气方法将芯片中存储内容擦除,擦除速度较快,甚至在联机状态下也可以操作。相对来说,EPROM用紫外线擦除内容的操作就更复杂,速度也很慢。EEPROM既可使用字擦除方式又可使用块擦除方式,使用字擦除方式可擦除一个存储单元,使用块擦除方式可擦除数据块中所有存储单元。
3.2.3.闪速存储器(Flash ROM)
闪速存储器(Flash ROM)是20世纪80年代中期出现的一种块擦写型存储器,是一种高密度、非易失性的读/写半导体存储器,Flash ROM突破了传统的存储器体系,改善了存储器产品的特性。
Flash ROM中的内容不像RAM一样需要电源支持才能保存,但又像RAM一样可重写。在某种低电压下,Flash ROM的内部信息可读不可写,类似于ROM,而在较高的电压下,其内部信息可以更改和删除,又类似于RAM。
Flash ROM可以用软件在PC中改写或在线写入信息,一旦写入则相对固定。因此,在PC中可用于存储主板的BIOS程序。由于支持改写,就便于用户自行升级BIOS,但这也给病毒创造了良好环境,著名的CIH病毒正是利用这个特点来破坏BIOS,从而导致整个系统瘫痪的。另外,由于单片存储容量大,易于修改,Flash ROM也常用于数码相机和 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,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NANDFLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的”闪盘”,可以在线擦除。
四、电脑RAM和ROM的区别和作用
电脑中调用的数据,就需要从硬盘读出,发给内存(RAM和ROM),然后内存再发给CPU,也可以理解成是内存和CPU之间的缓存,因为CPU中的ALU(虚拟寄存器)速度要比硬盘速度快的多。所以需要内存用来给CPU和硬盘之间进行沟通。当然光盘/软盘等所有外存贮器都是用内存来作桥梁的。
例如:
比如你复制了一些东西,在你没有粘贴或或粘贴后没有保存的状态下,这些数据就临时存放在内存中。
内存有两个部分:
A、随机存储器(RAM)
RAM是临时存放数据用的,断电后数据丢失。
所以你复制了东西,没有粘贴时,从新启动计算机后就无法粘贴刚才复制的数据了。比如:你玩游戏时,刚玩完游戏感觉计算机速度下降了,这就是内存被游戏数据占用了,从新启动计算机后速度恢复正常,也就是内存中的RAM释放了数据。
B、只读存储器(ROM)
ROM不能临时存放数据,删不掉,也无法覆盖其他数据。
RAM主要用来存储内存厂商/型号等,虚拟内存一般是用在内存不足的情况下,系统自动调用硬盘的空间,用来暂时替代不够的内存工作。由于虚拟内存用的是硬盘空间,硬盘的读写速度要远远低于真正的内存,所以设置过大虚拟内存会影响你计算机的速度。并且虚拟内存最好是设置成你不经常用的磁盘分区上,因为不经常用的分区碎片少,磁头读写顺畅,相对较快。