第三章 存储系统
文章目录
主存
- 译码驱动:地址信号(地址总线) -> 选通信号(存储单元)。MAR(Memory Address Register):地址寄存器。实际放CPU
- 存储矩阵:存储元->存储单元->存储体
- 读写电路:MDR(Memory Data Register):数据寄存器。实际放CPU
- 地址线、数据线、片选线(选存储芯片)、读写控制线
局部性原理
- 空间局部性:要用的信息在存储空间上邻近
- 时间局部性:要用的信息正在使用
Cache
高速缓冲存储器,Cache-主存层次,硬件实现,解决速度不匹配问题
地址映射
怎么放
- 全相联:主存字块标记|字块内地址
- 直接映射:主存字块标记|Cache字块地址|字块内地址
- 组相联:主存字块标记|组地址|字块内地址
- 标记项:有效位、标记位(主存字块标记)
替换算法
满了如何处理
RAND、FIFO、LRU(时间局部性)、LFU
写策略
一致性
命中:
- 全写法(write-through):同时写入Cache和主存
- 写回法(write-back):块被换出时才写回主存。搭配写分配法
未命中:
- 写分配法(write-allocate):把主存中的块调入Cache修改
- 非写分配法(not-write-allocate):只写主存
虚拟存储器
逻辑模型,主存-辅存层次,硬件+操作系统实现,解决容量问题
- 页式存储:虚拟空间与主存空间都被划分成同样大小的页,主存的页称为实页,虚存的页称为虚页
- 段式存储:按程序的逻辑结构划分,段长度因程序而异。分为段号和段内地址
- 慢表(Page):主存中的页表
- 快表(TLB):提高变换速度,用高速缓冲存储器存放常用的页表项
半导体存储器
- SRAM(Static Random Access Memory):触发器,作高速缓存
- DRAM(Dynamic Random Access Memory):电容,需刷新,作主存