随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的。
SRAM 将每个位存储在一个双稳态的(bistable)存储器单元里。每个单元是用一个六晶体管电路来实现的。
DRAM 将每个位存储为对一个电容的充电。与 SRAM 不同,DRAM 存储器单元对干扰非常敏感。当电容的电压被扰乱之后,它就永远不会恢复了。
DRAM 芯片中的单元(位)被分成 d 个超单元(supercell), 每个超单元都由 w 个 DRAM 单元组成。这样的DRAM总共存储了D*W位信息。
每个 DRAM 芯片被连接到某个称为内存控制器的电路,这个电路可以一次传送w位到每个 DRAM 芯片。为了读出超单元(i*j)的内容,内存控制器将行 i 地址发送到 DRAM,然后是列地址 j 。
注意,RAS 和 CAS 请求共享相同的 DRAM 地址引脚。电路设计者将 DRAM 组织成二维阵列而不是线性数组的一个原因是降低芯片上地址引脚的数量,缺点是增加了访问时间。
DRAM 芯片封装在内存模块(memory module)中,它插到主板的扩展槽上。图 6-5 展示了一个内存模块的基本思想。示例模块用 8 个 64 Mbit 的 8 MX 8 的 DRAM芯片,总共存储 64MB(兆字节), 这 8 个芯片编号为 0〜7。
每个超单元存储主存的一个字节,而用相应超单元地址为(i, j)的 8 个超单元来表示主存中字节地址 A 处的 64 位字。
要取出内存地址 A 处的一个字,内存控制器将 A 转换成一个超单元地址(i,j),并将它发送到内存模块,然后内存模块再将 i 和 j 广播 到每个 DRAM。
如果断电,DRAM 和 SRAM 会丢失它们的信息。而固态硬盘和旋转磁盘不会丢失。