第三章 存储系统

3.1.2 存储器的层次结构

  在同一台计算机中,有各种工作速度,存储容量,访问方式,用途等均不相同的存储器,这些存储器构成一个层次结构,如图3.5所示。从上到下,各种存储器的存储容量越来越大,每位的价格越来越便宜,但存储周期越来越长。


  通用寄存器堆、指令和数据缓冲栈、一级Cache是在CPU芯片内部的,它们的工作速度比较高。从二级Cache以下,是在CPU外部的,工作速度逐级明显降低。如果用i表示层数,则有工作速度:Ti<Ti+1;存储容量:Si<Si+1;价格:Ci>Ci+1;
  因为存放在各种存储器中的程序和数据,最终都要送到CPU中进行处理,CPU的速度很高,因此,希望各层次存储器的工作速度尽量靠近上面,存储容量和价格靠近下面。
  各级存储器的主要性能指标见表3.1所示。这些指标仅供参考,因为随着时间的推移,有些指标在不断变化。

表3.1 各种存储器的主要性能特性

存储器层次
通用寄存器
缓冲栈
Cache
主存储器
磁盘存储器
脱机存储器
存储周期
<10ns
<10ns
10~60ns
60~300ns
10~30ms
2~20min
存储容量
<512B
<512B
8KB~2MB
32MB~1GB
1GB~1TB
5GB~10TB
价格($C/KB)
1200
80
3.2
0.36
0.01
0.0001
访问方式
直接译码
先进先出
相联访问
随机访问
块访问
文件组
材料工艺
ECL
ECL
SRAM
DRAM
磁表面
磁、光等
分配管理
编译器分配
硬件调度
硬件调度
操作系统
系统/用户
系统/用户
带宽(MB/S)
400~8000
400~1200
200~800
80~160
10~100
0.2~0.6

  1955年,IBM公司推出的第一台大型计算机IBM704,CPU和主存储器的工作周期均为12微秒,两者恰好能匹配工作。到了40多年后的今天,CPU的工作速度提高了4个数量级以上,而主存储器的工作速度仅提高两个数量级,两者根本不能匹配工作。因此,计算机系统结构的设计者们必须面对这一现实,找出解决的方法。以下将介绍解决这一问题的一些主要方法。