常用存储器分类

常用存储器分类1 存储器是计算机实现记忆功能的部件 用来存放程序和数据 是微机系统中重要的组成部分 存储器的容量越大 表明能存储的信息越多 计算机的处理能力也就越能充分展现 存储器系统由外存储器和内存储器两部分组成 其中内存储器用来存放当前运行的程序和数据 一般由一定容量的速度较高存储器组成 CPU 可直接用指令对内存储器进行读 写操作 内存储器的分类如下 2 RAM RandomAccess

1.存储器是计算机实现记忆功能的部件,用来存放程序和数据,是微机系统中重要的组成部分,存储器的容量越大,表明能存储的信息越多,计算机的处理能力也就越能充分展现。存储器系统由外存储器和内存储器两部分组成。其中内存储器用来存放当前运行的程序和数据,一般由一定容量的速度较高存储器组成,CPU可直接用指令对内存储器进行读/写操作。内存储器的分类如下:

常用存储器分类

2.RAM,“Random Access Memory”的缩写,被译为随机存储器,现在RAM 已经专门用于指代作为计算机内存的易失性半导体存储器。

 

2.1.SRAM静态随机存储器:存储单元以锁存器来存储数据,见图1。这种电路结构不需要定时刷新充电,就能保持状态(断电后数据还是会丢失),所以这种存储器被称为“静态(Static)” RAM。相比于DRAM,SRAM的特点是只要不撤除工作电源,所保存的信息就不会丢失;读出信息时不破坏原保存信息,一经写入可多次读出;存取速度较快,但功耗较大、存储容量较小,适用于不需要大容量存储器的系统,如单片机、工控机的内存和微机的高速缓存。SRAM 根据其通讯方式分为同步(SSRAM)和异步 SRAM,相对来说,异步SRAM 用得比较广泛。

常用存储器分类

                                                                                         图1 SRAM存储单元

2.2.DRAM动态随机存储器:存储单元以电容的电荷来表示数据,有电荷代表1,无电荷代表0,见图2。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,因此需要定期刷新,这就是“动态(Dynamic)”一词所形容的特性。

常用存储器分类

                                                                                          图2 DRAM存储单元

2.3.SDRAM:根据DRAM的通讯方式,又分为同步和异步两种,这两种方式根据通讯时是否需要使用时钟信号来区分。由于使用时钟同步的通讯速度更快,所以同步DRAM使用更为广泛,这种DRAM被称为SDRAM(Synchronous DRAM)。

2.4. DDR SDRAM:为了进一步提高SDRAM的通讯速度,人们设计了DDR SDRAM 存储器(Double DataRate SDRAM)。它的存储特性与 SDRAM 没有区别,但SDRAM只在上升沿表示有效数据,在1个时钟周期内,只能表示1个有数据;而DDR SDRAM在时钟的上升沿及下降沿各表示一个数据,也就是说在1 个时钟周期内可以表示2位数据,在时钟频率同样的情况下,提高了一倍的速度。至于DDRII和DDRIII,它们的通讯方式并没有区别,主要是通讯同步时钟的频率提高了。当前个人计算机常用的内存条是DDRIII SDRAM存储器,在一个内存条上包含多个DDRIII SDRAM芯片。

2.5. DRAM与SRAM的应用场合:对比DRAM与SRAM的结构可知DRAM 的结构简单得多,所以生产相同容量的存储器,DRAM的成本要更低,且集成度更高。而DRAM中的电容结构则决定了它的存取速度不如SRAM,特性对比见表1。在实际应用场合中, SRAM一般只用于CPU内部的高速缓存(Cache),而外部扩展的内存一般使用DRAM。

                                                                            表1 DRAM与SRAM对比

特性

DRAM

SRAM

存取速度

较慢

较快

集成度

较高

较低

生产成本

较低

较高

是否需要刷新

3.ROM,“Read Only Memory”的缩写,意为只能读的存储器,现在一般用于指代非易失性半导体存储器。

3.1. MROM:MASK(掩膜) ROM,存储在内部的数据是在出厂时使用特殊工艺固化,生产后就不可修改,其主要优势是大批量生产时成本低。当前在生产量大,数据不需要修改的场合,还有应用。

3.2. OTPROM:One Time Programable ROM,一次可编程存储器,出厂时内部没有资料,用户可以使用专用的编程器将资料写入,一经写入,不能更改。

3.3. EPROM:Erasable Programmable ROM,可重复擦写的存储器,解决了PROM芯片只能写入一次的问题,使用紫外线照射芯片内部擦除数据,擦除和写入都要专用的设备,现在基本被EEPROM取代。

3.4. EEPROM:Electrically Erasable Programmable ROM,电可擦除存储器。可以重复擦写,擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写。而且可以按字节为单位修改数据,无需整个芯片擦除。现在主要使用的 ROM 芯片都是EEPROM。

3.5.FLASH 存储器:又称闪存,也是可重复擦写的储器,容量一般比EEPROM 大得多,且在擦除时,一般以多个字节为单位。如有的 FLASH 存储器以 4096 个字节为扇区,最小的擦除单位为一个扇区。根据存储单元电路的不同, FLASH 存储器又分为 NOR FLASH 和 NAND FLASH,见表2。

                                                            表2 NOR FLASH与NAND FLASH特性对比

特性

NOR FLASH

NAND FLASH

同容量存储器成本

较贵

较便宜

集成度

较低

较高

介质类型

随机存储

连续存储

地址线和数据线

独立分开

共用

擦除单元

以“扇区/块”擦除

以“扇区/块”擦除

读写单元

可以基于字节读写

必须以“块”为单位读写

读取速度

较高

较低

写入速度

较低

较高

坏块

较少

较多

是否支持XIP

支持

不支持

NOR与NAND 的共性是在数据写入前都需要有擦除操作,而擦除操作一般是以“扇区/块”为单位的。而NOR与NAND特性的差别,主要是由于其内部“地址/数据线”是否分开导致的。

由于NOR的地址线和数据线分开,它可以按“字节”读写数据,符合CPU的指令译码执行要求,所以假如NOR上存储了代码指令,CPU给 NOR一个地址, NOR就能向CPU返回一个数据让CPU执行,中间不需要额外的处理操作。

而由于NAND的数据和地址线共用,只能按“块”来读写数据,假如NAND 上存储了代码指令,CPU给NAND地址后,它无法直接返回该地址的数据,所以不符合指令译码要求。表2中的最后一项“是否支持XIP”描述的就是这种立即执行的特性(eXecute In Place)。

若代码存储在NAND上,可以把它先加载到RAM存储器上,再由CPU执行。所以在功能上可以认为 NOR是一种断电后数据不丢失的RAM,但它的擦除单位与RAM有区别,且读写速度比RAM要慢得多。

另外, FLASH的擦除次数都是有限的(现在普遍是10万次左右),当它的使用接近寿命的时候,可能会出现写操作失败。由于NAND通常是整块擦写,块内有一位失效整个块就会失效,这被称为坏块,而且由于擦写过程复杂,从整体来说NOR坏块更少,寿命更长。由于可能存在坏块,所以FLASH存储器需要“探测/错误更正(EDC/ECC)”算法来确保数据的正确性。

由于两种FLASH存储器特性的差异,NOR FLASH一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间。而NAND FLASH一般应用在大数据量存储的场合,包括SD卡、 U盘以及固态硬盘等,都是NAND FLASH类型的。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233133.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MacPorts 安装与使用

    MacPorts 安装与使用MacPorts安装与使用安装修改安装源MacPorts使用MacPorts像brew一样,可以快速安装软件。安装在安装macports之前注意要保证当前系统已安装xcode且保持最新版本。https://www.macports.org/install.php官网地址查找对应的系统版本。找到对应版本的dmg安装包,下载后安装。在安装的过程中,会卡在运行软件包步骤。切记断网安装,不进行软件包的安装更新。如果卡在此安装步骤无法退出,可进行如下操作:1.在活动监视器找到对应的安装程序强制退

    2022年9月21日
    1
  • 初窥Linux 之 我最常用的20条命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Linux系统的人有所不同。因为不想在使用是总是东查西找,所以在此总

    2022年4月4日
    34
  • 概率的定义与性质_概率有哪些性质

    概率的定义与性质_概率有哪些性质概率的统计学定义:概率的公理化公式:

    2022年8月31日
    1
  • allow_url_include和allow_url_fopen 详解

    allow_url_include和allow_url_fopen 详解今天学习文件包含漏洞的时候,在php.ini配置文件就会接触到allow_url_include和allow_url_fopen这两个设置,非常有必要了解一下。allow_url_fopen=On是否允许将URL(如http://或ftp://)作为文件处理。allow_url_include=Off是否允许include/require打开URL(如http://或ftp://)作为文件处理。注意:从PHP5.2开始allow_url_include就默认为Off了,而allow_ur

    2022年7月16日
    17
  • 靠!我被项目经理和同事嘲笑了,因为不会远程debug调试…「建议收藏」

    大家好,我是曹尼玛,刚从培训机构毕业,去一家单位上班一周了…这一周项目经理让我熟悉了项目业务,架构和设计,不算难,凭借我培训机构第一名的成绩,还是很顺溜。今天项目经理把同事们叫到一起,说线上438×6项目出现奇葩问题,但是开发环境初步测试没问题,需要配合测试部的小姐姐们在测试环境远程debug跟踪下,排查下问题,以及正式环境日志也会提供,重现下问题,解决下bug;项目经理见我这几天比较悠闲所以就对我说,“曹尼玛,这个小任务就交给你了”“我,我,我,我不会远程debug,没听过什么是远程d.

    2022年4月6日
    48
  • windows cmd进入mysql[通俗易懂]

    windows cmd进入mysql[通俗易懂]在DOS命令窗口输入 mysql-hlocalhost-uroot-p回车 进入mysql数据库,其中-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,用户没有设置密码,显示Enterpassword时,直接回车即可。注意,如果你的mysql没有安装在C盘下

    2022年5月4日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号