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个数量级以上,而主存储器的工作速度仅提高两个数量级,两者根本不能匹配工作。因此,计算机系统结构的设计者们必须面对这一现实,找出解决的方法。以下将介绍解决这一问题的一些主要方法。