常用存储器

存储器种类

        存储器是计算机结构的重要组成部分。存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有记忆功能。

        存储器按其存储介质特性主要分为“易失性存储器”“非易失性存储器”两大类。

        “易失/非易失”是指存储器断电后,它存储的数据内容是否会丢失的特性。

        一般易失性存储器存取速度快,而非易失性存储器可长期保存数据

        易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘

RAM 存储器(易失性存储器)

        RAM 是“Random Access Memory”的缩写,被译为随机存储器。

        随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关

        现在 RAM 已经专门用于指代作为计算机内存的易失性半导体存储                器。

        RAM 的存储机制,又分为动态随机存储器 DRAM(Dynamic RAM) 以及静态随机存储器SRAM(Static RAM) 两种。

DRAM

        动态随机存储器 DRAM 的存储单元以电容的电荷来表示数据,有电荷代表 1,无电荷代表 0。

        但时间一长,代表 1 的电容会放电,代表 0 的电容会吸收电荷,因此它需要定期刷新操作,这就是“动态 (Dynamic)”一词所形容的特性。

        刷新操作会对电容进行检查,若电量大于满电量的 1/2,则认为其代表 1,并把电容充满电;若电量小于 1/2,则认为其代表 0,并把电容放电,藉此来保证数据的正确性。

SDRAM

        DRAM 的通讯方式,又分为同步异步两种,这两种方式根据通讯时是否需要使用时钟信号来区分。

        图同步通讯时序图 是一种利用时钟进行同步的通讯时序,它在时钟的上升沿表示有效数据

        由于使用时钟同步的通讯速度更快,所以同步 DRAM 使用更为广泛,这种 DRAM 被称为SDRAM(Synchronous DRAM)

DDR SDRAM

        为了进一步提高 SDRAM 的通讯速度,人们设计了 DDR SDRAM 存储器 (Double Data RateSDRAM)。

        存储特性与 SDRAM 没有区别,但 SDRAM 只在上升沿表示有效数据,在 1 个时钟周期内,只能表示 1 个有数据;而 DDRSDRAM 在时钟的上升沿及下降沿各表示一个数据,也就是说在 1 个时钟周期内可以表示 2 位数据,在时钟频率同样的情况下,提高了一倍的速度。至于 DDRII DDRIII,它们的通讯方式并没有区别,主要是通讯同步时钟的频率提高了。

        当前个人计算机常用的内存条是 DDRIII SDRAM 存储器,在一个内存条上包含多个 DDRIIISDRAM 芯片

SRAM

        静态随机存储器 SRAM 的存储单元以锁存器来存储数据。

        这种电路结构不需要定时刷新充电,就能保持状态 (当然,如果断电了,数据还是会丢失的),所以这种存储器被称为“静态 (Static)” RAM。

        SRAM 根据其通讯方式也分为同步 (SSRAM)异步 SRAM,相对来说,异步 SRAM 用得比较广泛

DRAM 与 SRAM 的应用场合

        相对SRAM来说,DRAM 的结构简单,所以生产相同容量的存储器, DRAM的成本要更低,且集成度更高。

        DRAM 中的电容结构则决定了它的存取速度不如 SRAM。

        SRAM 一般只用于 CPU 内部的高速缓存 (Cache),而外部扩展的内存一般使用 DRAM。

        在 STM32 系统的控制器中,只有 STM32F429 型号或更高级的芯片才支持扩展SDRAM,其它型号如 STM32F1、 STM32F2 及 STM32F407 等型号只能扩展 SRAM

非易失性存储器

        非易失性存储器种类非常多,半导体类的有 ROM FLASH,而其它的则包括光盘、软盘及机械硬盘

ROM 存储器

        ROM 是“Read Only Memory”的缩写,意为只能读的存储器。

        现在一般用于指代非易失性半导体存储器,包括后面介绍的 FLASH 存储器,有些人也把它归到 ROM 类里边。

MASK ROM

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

OTPROM

        OTPROM(One Time Programable ROM) 是一次可编程存储器。这种存储器出厂时内部并没有资料,用户可以使用专用的编程器将自己的资料写入,但只能写入一次,被写入过后,它的内容也不可再修改。在 NXP 公司生产的控制器芯片中常使用 OTPROM 来存储密钥或设备独有的 mac 地址等内容。

EPROM

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

EEPROM

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

FLASH 存储器

        FLASH 存储器又称为闪存,它也是可重复擦写的储器,部分书籍会把 FLASH 存储器称为 FLASHROM,但它的容量一般比 EEPROM 大得多,且在擦除时,一般以多个字节为单位。如有的 FLASH存储器以 4096 个字节为扇区,最小的擦除单位为一个扇区。

        FLASH 的擦除次数都是有限的 (现在普遍是 10 万次左右),当它的使用接近寿命的时候,可能会出现写操作失败。

        根据存储单元电路的不同, FLASH存储器又分为 NOR FLASH 和 NAND FLASH:

        NOR 与 NAND 的共性是在数据写入前都需要有擦除操作,而擦除操作一般是以“扇区/块”为单位的。

        NOR 与 NAND 特性的差别,主要是由于其内部        导致的。

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

        NAND 的数据和地址线共用,只能按“块”来读写数据,假如 NAND 上存储了代码指令,CPU 给 NAND 地址后,它无法直接返回该地址的数据,所以不符合指令译码要求。

        “是否支持 XIP” 描述的就是这种立即执行的特性 (eXecute In Place)。

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

        NAND 通常是整块擦写,块内有一位失效整个块就会失效,这被称为坏块,所以 FLASH 存储器需要“探测/错误更正 (EDC/ECC)”算法来确保数据的正确性,而且由于擦写过程复杂,从整体来说 NOR 块块更少,寿命更长。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small陀螺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值