存储器的性能指标
存储器有三个性能指标:存储容量、单位成本、存储速度。前两个几乎不出题,第三个几乎每年都出——因为”存储速度”本身又要拆成三个互不相同的量:存取时间、存取周期、主存带宽。
这三个量最容易被当成一个量的三种说法。 它们不是。整个第 3 章有一条贯穿始终的主线正是从这里开始的:延迟和带宽是两个独立的维度,提高其中一个通常不改善另一个。 SDRAM、DDR、多体交叉、突发传送——本章后面所有的”提速”手段,几乎全部只提高带宽而不降低单次访问延迟。谁在提高哪一个,是本章最值钱的判断力。
机制
存储容量:先确定编址单位
芯片规格写作
“存储单元”到底是一个字节还是一个字,由编址单位决定,而编址单位必须由题目给出或从数据总线宽度反推。 这是 3.3.2 全部混乱的源头,见那一节的详细讨论。
三个速度量:定义完全不同
存取时间
存取周期
主存带宽
三个量为什么可以各走各的
把三个量放在同一张图上看,它们分别对应存储器时序的不同片段:
gantt dateFormat X axisFormat %s section 第一次访问 存取时间 Ta(命令到数据可用) :a1, 0, 4 恢复时间(重写/预充电) :a2, 4, 3 section 第二次访问 存取时间 Ta :a3, 7, 4
存取周期 = 存取时间 + 恢复时间,图中第一次访问的起点到第二次访问的起点。带宽由周期决定,延迟由存取时间决定,两者可以独立改变:
- 加宽数据线(一次传更多位)→ 带宽升,
不变 - 多体交叉(让多个体的恢复时间重叠)→ 带宽升,单次
不变(见 3.2.4) - 换更快的介质(DRAM→SRAM)→
和带宽同时改善 - 同步接口 / DDR → 带宽升,
几乎不变(见 3.2.1)
关联对照:本章所有"提速"手段,先问它提的是延迟还是带宽
边界
带宽的单位换算不按
“速度快”必须问清是哪个速度。 一道判断题若说”多体交叉存储器提高了存储器的存取速度”,严格地讲是错的——它提高的是带宽(成组访问的平均速度),单个体的存取周期分毫未变。命题人在这里的措辞通常是”提高了存储器的工作速度”或”提高了访存效率”,这些说法可接受;说”缩短了存取周期”就是错的。
单位成本 = 总成本 / 总容量。 它只在 3.1.3 层次结构里作为”为什么必须分层”的论据出现,不单独计算。
对照速查
| 量 | 定义 | 单位 | 与谁绑定 |
|---|---|---|---|
| 存取时间 | 命令 → 数据可用 | ns | 延迟 |
| 存取周期 | 相邻两次独立访问的最小间隔 | ns | 延迟 + 恢复 |
| 主存带宽 | 每秒传输的数据量 | B/s | 吞吐 |
| 判断 | 对错 |
|---|---|
| 存取周期 ≥ 存取时间 | ✅ |
| 存取周期 = 存取时间 + 恢复时间 | ✅ |
| 带宽 = 传输位数 / 存取周期 | ✅ |
| 带宽 = 传输位数 / 存取时间 | ❌ |
| 提高带宽必然缩短存取时间 | ❌ |
| 容量的 M 是 | ❌(容量按 |
| 带宽的 M 是 | ❌(带宽按 |
考点
- 存取时间、存取周期、带宽是三个独立的量,
- 带宽的分母是存取周期
- DRAM 的
明显大于 ,因为读出是破坏性的、必须重写并预充电 - 本章除 Cache 外的所有提速手段都只提高带宽,不降低延迟
- 容量按
进位,带宽/频率按 进位 - 芯片规格
位: 定地址线根数, 定数据线根数
链接
- 🏠 返回总览:计算机组成原理第 3 章:存储系统总览
- ⬅️ 上一节:3.1.1 存储器的分类
- ➡️ 下一节:3.1.3 多级层次的存储系统
- 🔗 3.2.4 多模块存储器(带宽手段的代表)
- 🔗 第 6 章 总线(总线带宽用同一套定义)
- 📖 名词库:第 3 章名词库