本文主要是介绍内存之RAM、SRAM、DRAM、ROM、FLASH、SDRAM、DDR*(一篇文章就懂),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
内存之RAM、SRAM、DRAM、ROM、FLASH、SDRAM、DDR*
内存
内存(Memory)指的是内存存储器,又称为主存,是CPU用来直接寻址和存储的空间,它相当于一座桥梁,用以负责诸如硬盘、主板、显卡等硬件上的数据与处理器之间数据交换处理,我们可以把内存看作数据缓存区,一个高速的缓存区。内存之所以称为内存,是相对于硬盘这些外存而言,我们要用的软件数据都安装存放在外存上,但是当我们运行他们时,就需要把这些软件的数据调入内存,才能运行顺畅,因为CPU和内存间的数据交换速度远高于和外存交换速度。 内存条是由内存芯片、电路板、金手指等部分组成的。
内存分ROM(只读存储器)和RAM(随机存储器)两部分,RAM可以理解为主存,ROM只是很小一部分,比如记录BIOS信息的ROM。而硬盘、U盘等存储设备属于外存,和ROM没有关系。
手机内存256G?
所谓的“256G内存”是一个外存储器。不能将“内部的外存储器”简称为”内存,因为内存是一个特定的概念,为内存储器的简称。从手机角度来看,ROM不仅存储手机相关信息,还会存储很多开启启动的软件之类的,一次写入终身读取,手机刷机,并不能改变手机存储的手机型号等固定的信息。手机部分信息在ROM上,ROM又属于内存,因此我们看到卖家展示的手机参数说内存256G等也有一定道理,但严格意义上不对,因为256G中有90%充当的是外存功能。那么说手机ROM256G合适吗?也不合适,ROM 只读存储器,可以长期保存信息,都说了只读,256G中有90%都是外存性质,只不过没有合适的名称命名手机中存储器罢了。
RAM
随机存取存储器(Random Access Memory,RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。
所谓“随机存取”,指的是当存储器中的数据被读取或写入时,所需要的时间与这段信息所在的位置或所写入的位置无关。相对的,读取或写入顺序访问(Sequential Access)存储设备中的信息时,其所需要的时间与位置就会有关系。它主要用来存放操作系统、各种应用程序、数据等。
RAM特点为:访问速度快,数据易失(断电会丢失数据,电容器或多或少有漏电的情形,不断电数据也会随时间流失,因此需要指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,这一过程称为“刷新”),静电敏感性(静电会干扰存储器内电容器的电荷,引致数据流失)。
SRAM与DRMA
静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(Dynamic Random Access Memory,DRAM)里面所储存的数据就需要周期性地更新。然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。
SRAM有它的缺点,即它的集成度较低,功耗较DRAM大 ,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积。同样面积的硅片可以做出更大容量的DRAM,因此SRAM显得更贵。
ROM
ROM 是 read only memory的简称,表示只读存储器。只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入,即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。
ROM主要分为掩膜ROM(专用掩膜板)、PROM(可一次性编程 ROM)、EPROM(紫外线擦除可改写 ROM)、EEROM(电擦除可改写 ROM)、flash ROM(快闪 ROM)等几类。
FLASH闪存
FLASH闪存是属于内存器件的一种,"Flash"。闪存则是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
Flash是非挥发性随机存取存储器(NVRAM),它可以作为缓存或作为直接存储的底层设备。虽然比动态随机存储器(DRAM)慢10倍,但尽管这样,它还比硬盘快得多。它的速度和耐用性,让写操作变得比直接写硬盘快很多。将FLASH作为一个持续的高速缓存,再让它慢慢的写回磁盘作永久数据保存。
NAND Flash的读写以page为单位,在写入前(在这里称之为编程),需要先擦除,擦除以block为单位,这些操作都会减少器件的寿命。由于NAND Flash的这种特性,使得它在编程时带来了写放大的副作用,并且管理算法更复杂,例如需要垃圾回收算法。所以一般我们对NAND Flash编程的步骤是,先把其中的有效数据page搬移到内存或者其他block中,然后擦除这个block,再把有效数据和新数据写回去。这个过程造成了多余的写入和擦除,这就是所谓的写放大。
NAND Flash一般不单独使用,需要和专用控制器搭配组成一个系统。目前常见的使用NAND Flash的产品主要有固态硬盘(SSD),eMMC,SD记忆卡,U盘等。其中SSD和eMMC稳定性和性能要求比较高,一般需要使用品质优良的NAND Flash。
内存条
在计算机诞生初期并不存在内存条的概念,最早的内存是以磁芯的形式排列在线路上。
后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。
内存芯片的状态一直沿用到286初期,鉴于它存在着无法拆卸更换的弊病,这对于计算机的发展造成了现实的阻碍。有鉴于此,内存条便应运而生了。将内存芯片焊接到事先设计好的印刷线路板上,而电脑主板上也改用内存插槽。这样就把内存难以安装和更换的问题彻底解决了。
这篇关于内存之RAM、SRAM、DRAM、ROM、FLASH、SDRAM、DDR*(一篇文章就懂)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!