第六章 存储器层次结构

6.1 存储技术

6.1.1 随机访问存储器

随机访问存储器(Random-Access Memory, RAM)分为两类,静态的和动态的。

  1. 静态RAM

SRAM将每个位存储在一个双稳态的(bistable)存储器单元里。所谓双稳态,就是存在两个稳定状态,其余状态都是不稳定,会迅速转移到两个稳定状态中的一个。

由于SRAM存储器单元的双稳态特性,只要有电,它就会永远地保持它的值。即使有干扰来扰乱电压,当干扰消除时,电路就会恢复到稳定值

  1. 动态RAM

DRAM将每个位存储位对一个电容的充电。DRAM存储器单元对干扰非常敏感,当电容的电压被扰乱之后,它就不会恢复了。

很多原因导致漏电,使得DRAM单元在10~100毫秒时间内失去电荷。幸运的是,计算机运行的时钟周期是以纳秒来衡量的,所以相对而言这个保持时间是比较长的。内存系统必须周期性地通过读出,然后重写来刷新内存每一位。

SRAM和DRAM存储器的特性

IT 运维架构 的 敏态稳态到双态_储存器

  1. 传统的DRAM

DRAM芯片中的单元(位)被分成d个超单元(supercell),每个超单元都由w个DRAM单元组成。 一个d×w的DRAM总共存储了dw位信息。超单元被组织成一个r行c列的长方形阵列,这里rc=d。每个超单元有形如(i, j)的地址。

图6-3给出两组引脚:8个data引脚,它们能传送一个字节到芯片或从芯片传出一个字节,以及2个addr引脚,它们携带2位的行和列超单元地址。

IT 运维架构 的 敏态稳态到双态_引脚_02

每个DRAM芯片被连接到某个称为内存控制器(memory controller) 的电路。

要读出超单元(2,1),内存控制器发送行地址2。DRAM的响应是将行2的整个内容都复制到一个内部行缓冲区。接下来,内存控制器发送列地址1。DRAM的响应是从行缓冲区复制出超单元(2,1)中的8位,并把它发送到内存控制器。

IT 运维架构 的 敏态稳态到双态_储存器_03

  1. 内存模块

DRAM芯片封装在内存模块(memory module),它插到主板的拓展槽上。

图6-5展示了一个内存模块的基本思想。示例模块用8个64Mbit8M×8的DRAM芯片(8M个超单元,每个超单元存8位),总共存储64MB(兆字节),这8个芯片编号为0~7。相应超单元地址为(i,j)的8个超单元用来表示主存中字节地址A处的64位字。

所以,要读取内存地址A处的一个字,内存控制器将A转换成一个超单元地址(i,j),每个DRAM输出它的(i,j)超单元的8位内容,合并成一个64位字。

IT 运维架构 的 敏态稳态到双态_操作系统_04

  1. 增强的DRAM
  • 快页模式DRAM
  • 扩展数据输出DRAM
  • 同步DRAM
  • 双倍数据速率同步DRAM
  • 视频RAM
  1. 非易失性存储器

由于历史原因,虽然ROM中有的类型既可以读也可以写,但是它们整体上都被称为只读存储器(Read-Only Memory,ROM),ROM是以它们能够被重编程(写)的次数和对它们进行重编程所用的机制所区分。

PROM(Programmable ROM,可编程ROM) 只能被编程一次。PROM的每个存储器单元有一种熔丝(fuse),只能用高电流熔断一次。

可擦写可编程ROM(Erasable Programmable ROM,EPROM) 有一个透明的石英窗口,允许光达到存储单元。能擦除和重编程的次数的数量级可以达到1000次。

电子可擦除PROM(Electrically Erasable PROM,EEPROM) 可以直接在印刷电路卡上编程。能擦除和重编程的次数的数量级可以达到105次。

闪存(flash memory) 基于EEPROM。固态硬盘是一种新型的基于闪存的磁盘驱动器。