6.1 存储系统的组成(详细笔记)
核心定义:存储系统是由几个容量、速度和价格各不相同的存储器,通过软硬件结合构成的系统。
6.1.1 存储器分类与存储系统定义
1. 存储器分类
- 地位演变:早期冯·诺依曼结构以运算器为中心,现代计算机以存储器为中心(存放指令、操作数、结果)。
- 容量计算公式:
:存储体字长(位/字节) :每个存储体的字数 :并行工作的存储体个数
- 分类方式:
- 按用途:主存、Cache、通用寄存器、缓冲存储器、磁盘、光盘等。
- 按材料工艺:ECL、TTL、MOS、磁表面、激光、SRAM、DRAM等。
- 按访问方式:
- 随机访问(主存)
- 块传送(硬盘)
- 其他:直接译码、先进先出、相联访问。
- 性能指标(三个主要指标):
- 容量:B, KB, MB, GB。
- 价格:元/bit。
- 速度:
- 存取时间 (
)。 - 存取周期 (
)。 - 频宽/带宽 (
):每秒传送的信息位数/字节数。 - 单体最大频宽:
个并行最大频宽:
- 单体最大频宽:
- 存取时间 (
2. 存储系统定义与目标
- 矛盾:系统要求高速度、大容量、低价格,但单一存储器无法同时满足(速度越快价格越高容量越小)。
- 解决方法:多级存储层次。
- 利用
(快、小、贵)到 (慢、大、廉)的组合。 - 目标:使整体系统具有接近
的速度,接近 的容量,接近 的低廉价格。
- 利用
- 访存原则:由近到远(CPU
)。

3. 存储系统的两个主要分支
在微机中,通常形成三级存储系统(Cache - 主存 - 辅存),分为两个层次:
| 层次 | Cache - 主存层次 | 主存 - 辅存层次 (虚拟存储系统) |
|---|---|---|
| 主要目的 | 提高速度(弥补主存速度不足) | 扩大容量(弥补主存容量不足) |
| 构成 | Cache + 主存 | 主存 + 磁盘(辅存) |
| 实现方式 | 全部由硬件实现 | 软硬件结合(操作系统管理) |
| 透明性 | 对系统和应用程序员均透明 | 对系统程序员不透明,对应用程序员透明 |
| CPU视角 | 速度近Cache,容量为主存,价格近主存 | 速度近主存,容量为虚拟空间,价格近辅存 |

6.1.2 存储系统的层次结构
金字塔结构(从上至下):
- 通用寄存器堆
- 指令和数据缓冲
- Cache (SRAM)
- 主存储器 (DRAM)
- 联机外部存储器 (硬盘)
- 脱机外部存储器 (磁带、光盘)
规律(越往下):
- 访问速度越慢 (
) - 存储容量越大 (
) - 单位价格越便宜 (
)

6.1.3 存储系统的性能参数
以二级存储系统(

1. 关键参数定义
- 容量 (
): (即等于最大存储器的容量)。 - 注意:容量不是两者之和,而是系统能提供的逻辑地址空间。
- 价格 (
):每位平均价格。 - 公式:
- 当
时, (价格接近最便宜的)。
- 公式:
- 命中率 (
):CPU访问的信息在 中找到的概率。 ( 为命中次数, 为未命中次数)。 - 不命中率/失效率 =
。
2. 等效访问时间 ( )
取决于
- 同时启动:
- 串行启动(
不命中才启动 ):
3. 访问效率 ( )
- 定义:
( 为最快存储器的访问时间)。 - 设速度比
,则: (假设同时启动模型简化推导)
- 结论:效率
与命中率 和速度比 有关。 越高, 越接近 1。 越大(速度差距越大), 必须极高才能维持较高的效率。
4. 预取技术对命中率的影响
- 背景:在虚拟存储系统中,
(主存)和 (磁盘)速度差巨大( 可达 ),必须依靠极高的命中率。 - 方法:利用程序局部性原理,未命中时将相邻数据块一起调入
。 - 新命中率公式:
- 设
为数据块大小(或数据重复使用次数),原命中率为 ,采用预取后的命中率 为: - 或者表达为:
(基于访问次数放大的推导)。 - 结论:块越大(
越大),命中率越高。
- 设
- 关键例题结论(例6-6):如果要求访问效率
,而在速度差 的极端情况下,需要极高的数据重复利用率。计算表明数据块在主存中的重复利用率至少需达到 44次 才能满足效率要求。
典型计算题型总结
基于书中例题
- 计算命中率:已知访问总次数和失效次数,求
。 - 计算等效时间:已知
,根据启动策略求 。 - 计算效率:
。 - 反向求解:已知要求的效率
和速度比 ,求所需的最低命中率 。 - 预取效果:已知块大小
,求提升后的命中率 。