主存

  • 译码驱动:地址信号(地址总线) -> 选通信号(存储单元)。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):电容,需刷新,作主存