计算机系统——存储器层次结构
存储器层次结构
存储器系统( memory system ) 是一个具有不同容量、成本和访问时间的存储设备的层次结构 。
计算机系统中一个基本而持久的思想 : 如果你理解了系统是如何将数据在存储器层次结构中上上下下移动的,那么你就可以编写自己的应用程序,使得它们的数据项存储在层次结构中较高的地方,在那里 CPU 能更快地访问到它们。
存储技术
随机访问存储器
随机访问存储器 ( Random-Acces s Memory, RAM ) 分为两类 : 静态的和动态的 。
静态RAM (SRAM) 比动态 RAM ( DRAM ) 更快,但也贵得多。
SRAM 用来作为高速缓存存储器,既可以在 CPU 芯片上,也可以在片下 。
DRAM 用来作为主存以及图形系统的帧缓冲区。
1. 静态RAM
SRAM 将每个位存储在一 个双稳态的 ( bistable) 存储器单元里。
每个单元是用一个六晶体管电路来实现的。这个电路有这样一个属性,它可以无限期地保持在两个不同的电压 配置( configuration) 或状态( state) 之一。其他任何状态都是不稳定的从不稳定状态开始,电路会迅速地转移到两个稳定状态中的一个。
2. 动态RAM
DRAM 将每个位存储为对 一个电容的充电。这个电容非常小,通常只有大约 30 毫微微法拉( femtofarad )一 30X10一15法拉 。
3. 传统的DRAM
DRAM 芯片中的单元(位)被分成d个超单元 (supercell) , 每个超单元都由w个 DRAM单元组成。
一个d × \times ×w 的 DRAM 总共存储了dw 位信息。超单元被组织成一个 r 行 c 列的长方形阵列,这里 rc=d。每个超单元有形如 ( i, j ) 的地址,这里1表行, 而 j 表示列。
每个DRAM 芯片被连接到某个称为内存控制器 (memory controller ) 的电路,这个电路可以一次传送 w 位到每个 DRAM 芯片或一次从每个 DRAM 芯片传出 w 位。
DRAM 把超单元( i, j ) 的内容发回给控制器作为响应。行地址 t 称为 RAS (Row Access Strobe, 行访问选通脉冲)请求。列地址 j 称为 CAS ( Column Access Strobe , 列访问选通脉冲 j 请求。
4. 内存模块
DRAM 芯片封装在内存模块( memory module ) 中,它插到主板的扩展槽上。
Core i7 系统使用的240个引脚的双列直插内存模块(Dual Inline Memory Module, DIMM), 它以64 位为块传送数据到内存控制器和从内存控制器传出数据。
5. 增强的DRAM
基于传统的DRAM单元,并进行一些优化,提高访问基本DRAM单元的速度。
-
快页模式 DRAM ( Fast Page Mode DRAM, FPM DRAM ) 。 传统的 DRAM 将超单元的一整行复制到它的内部行缓冲区中,使用一个,然后丢弃剩余的。FPM DRAM 允许对同一行连续地访问可以直接从行缓冲区得到服务,从而改进了这一点。
-
扩展数据轮出 DRAM ( Extended Data Out DRAM, EDO DRAM) 。 FPM DRAM 的一个增强的形式 ,它允许各个CAS 信号在时间上靠得更紧密一点 。
-
同步 DRAM(Synchronous DRAM, SDRAM)。 就它们与内存控制器通信使用一组显式的控制信号来说,常规的、FPM 和 EDO DRAM 都是异步的。SDRAM用与驱动内存控制器相同的外部时钟信号的上升沿来代替许多这样的控制信号。
-
双倍数据速率同步 DRAM (Double Data-Rate Synchronous DRAM, DDR SDRAM) 。 DDR SDRAM 是对 SDRAM 的一种增强,它通过使用两个时钟沿作为控制信号,从而使DRAM的速度翻倍。
-
视频 RAM( Video RAM, VRAM )。 它用在图形系统的帧缓冲区中。VRAM 的思想与