3.计算机存储系统.md 4.2 KB

🗄️ 计算机存储系统(考研复试终极版)

🧠 一、存储器层次结构

1.1 多级存储系统

寄存器 → Cache → 主存 → 辅存
↑  速度↑  容量↓  成本↑   ↓

步骤分解

  1. 寄存器:CPU内部,速度最快但容量最小
  2. Cache:SRAM实现,解决CPU与主存速度差
  3. 主存:DRAM实现,存放运行中的程序和数据
  4. 辅存:磁盘/U盘,长期存储
    ▸ 快递仓库:常用包裹放前台(Cache),不常用放仓库(辅存)

📊 性能对比

类型 速度(ns) 容量 成本/GB
寄存器 0.1-1 <1KB 极高
Cache 1-10 1-8MB
主存 50-100 8-64GB
辅存 5-10ms 1-10TB

误区

  • 认为Cache越大越好(过大会增加访问延迟)

🔍 二、主存工作原理

2.1 DRAM刷新三方式

集中刷新 → 死时间集中刷新
分散刷新 → 每周期刷新一行
异步刷新 → 间隔固定时间刷新

步骤分解

  1. 集中刷新:2ms内集中处理,产生"死区"
    ▸ 商场闭店大扫除
  2. 分散刷新:每个读写周期后刷新一行
    ▸ 边营业边打扫
  3. 异步刷新:折中方案,间隔刷新
    ❗ 注意:刷新操作对CPU透明,不影响程序执行

📝 实例
4MB DRAM,8192行 → 异步刷新间隔=2ms/8192≈244ns


🚀 三、Cache映射方式

3.1 三种映射对比

直接映射 → 固定位置存放
全相联 → 任意位置存放
组相联 → 组内自由存放

步骤分解

  1. 直接映射:主存块号%Cache总块数
    ▸ 快递柜:每个包裹固定格子
  2. 全相联:主存块可存任意Cache行
    ▸ 超市寄存:随便选空柜
  3. 组相联:分组后组内全相联
    ❗ 误区:认为组数越多性能越好(实际4-8组最佳)

📊 命中率对比

映射方式 命中率 实现复杂度
直接 简单
全相联 复杂
组相联 中高 中等

🔄 四、虚拟存储器

4.1 地址转换流程

逻辑地址 → TLB查询 → 页表查询 → 物理地址
↑______命中______↓      ↑__缺页中断__↓

步骤分解

  1. TLB查找:快表优先查询
  2. 页表查询:未命中则查内存页表
  3. 缺页处理:触发中断调入页面
    ▸ 图书馆找书:先查索引卡(TLB),再查总目录(页表)

📝 实例
32位系统,页大小4KB → 页内偏移12位,页号20位

注意

  • 虚拟地址位数≠物理地址位数
  • TLB未命中时需两次访存(查页表+取数据)

📦 五、存储扩展技术

5.1 三种扩展方式

位扩展 → 增加数据位数
字扩展 → 增加存储单元数
字位扩展 → 同时扩展

步骤分解

  1. 位扩展:多片并联,增加字长
    ▸ 拼积木:多块拼成更宽结构
  2. 字扩展:片选信号控制多片
    ▸ 书架扩容:增加书架数量
  3. 字位扩展:行列同时扩展
    ❗ 关键:地址线/数据线连接方式不同

📊 连接方式

扩展类型 地址线 数据线 片选线
位扩展 并联 串联 并联
字扩展 部分译码 并联 独立控制

🔧 六、Cache写策略

6.1 写回法 vs 全写法

写回法 → 修改后标记脏位,替换时写回
全写法 → 同时写入Cache和主存

步骤分解

  1. 写回法:减少写主存次数,需维护脏位
    ▸ 草稿纸:改完先不交,最后统一整理
  2. 全写法:保证数据一致性,增加带宽压力
    ❗ 注意:通常搭配非写分配法使用

📝 应用场景

  • 写回法:多核CPU私有Cache
  • 全写法:显卡显存等需要实时同步场景

核心概念总结自
复试重点:存储器层次、Cache映射、虚拟存储、DRAM刷新