存储系统
本章需要从速度、容量、成本与透明性理解存储层次。Cache 和虚拟存储器应与操作系统中的页面管理联系起来分析。
存储器层次结构
存储器分类
层次化存储器的基本结构
半导体随机存取存储器
- SRAM存储器
- DRAM存储器
- Flash 存储器
主存储器
- DRAM芯片和内存条
- 多模块存储器
- 主存和 CPU 之间的连接
外部存储器
- 磁盘存储器
- 固态硬盘
高速缓冲存储器
- cache的基本原理
- cache和主存之间的映射方式
- cache中主存块的替换算法
- Cache 写策略
虚拟存储器
- 基本概念
- 页式虚拟存储器
- 段式虚拟存储器
- 段页式虚拟存储器
一次访存的层次视角
存储层次的核心不是“每次都依次访问所有层”,而是利用局部性让大多数访问在靠近 CPU 的层次结束。一次面向虚拟地址的读写可按以下问题理解:
- 地址能否翻译? 先查 TLB;TLB 未命中时查页表,只有页表项表明页面不在内存时才发生缺页。
- 数据在哪一层? 得到物理地址后查 Cache;Cache 未命中才访问主存,主存也不包含所需页时才涉及外存调入。
- 由谁管理? Cache 的映射、替换和写策略主要由硬件实现;页表、缺页和置换涉及硬件与操作系统协作;外存负责持久保存数据。
因此,TLB 未命中、Cache 未命中和缺页是三个不同层次的事件。题目给出命中率、访问时间或页表结构时,应先定位它对应哪一层,再决定是否把后续访问代价计入。