10.1 RAM、ROM、SRAM 与 DRAM
第 9 章建立了处理器完成总线传送的方式。存储器(memory)为被选地址提供能够跨总线周期保存位模式的位置。不同存储技术的差异包括软件能否写入、保持数据是否需要供电,以及每个位需要多少维护。
RAM 与 ROM 描述系统怎样使用存储内容
随机存取存储器(Random-Access Memory,RAM)允许处理器直接访问任意地址,而不必先读完此前位置。计算机中的 RAM 通常可读可写,并且一般具有易失性(volatile):断电后内容会丢失。
只读存储器(Read-Only Memory,ROM)用于提供应在断电后仍保留、并在普通执行中保持稳定的内容,因此具有非易失性(nonvolatile)。某些 ROM 可以通过特殊过程编程或擦除,但普通存储器写周期不会让它等同于工作 RAM。
ROM 常用来保存启动固件,因为第一条指令必须在 RAM 初始化前已经存在。RAM 则保存运行期间的堆栈、变量、缓冲区和已装入代码。
SRAM 与 DRAM 用不同方式保存易失性位
静态随机存取存储器(Static RAM,SRAM)用小型稳定逻辑电路保存每个位。“静态”表示只要供电就不需要周期刷新,并不表示断电保持。SRAM 访问快速、控制直接,但每个位占用的电路面积较多。
动态随机存取存储器(Dynamic RAM,DRAM)把位保存为紧凑单元中的电荷。电荷会泄漏,所以存储器控制器必须周期性感测并恢复各行,这一过程称为刷新(refresh)。刷新占用命令时间,却换来了较高位密度。
DRAM 读取在单元层面具有破坏性(destructive),因为感测会扰动微小电荷;感测电路随后恢复检测到的值。现代 DRAM 把许多细节隐藏在命令与控制器之后,但刷新期限仍会影响可用性与性能。
没有一种技术在所有指标上都最好:
- ROM 能断电保持,但不适合频繁普通写入。
- SRAM 不需刷新且速度快,但位密度较低。
- DRAM 提供高密度可写存储,但需要刷新与更复杂控制。
第 10.1 节说明了存储芯片能够做什么。第 10.2 节将解释怎样利用地址高位,让特定范围内恰好只有一个芯片响应。