1182 字
3 分钟
考研专业课学习记录2026-08-01
2026-08-01

考研专业课学习记录 | 2026-08-01#

今日学习内容#

今日共计投入2小时学习,核心聚焦于计算机组成原理中Cache相关核心考点,主要学习了Cache的几种常见替换算法、主存块与Cache块的映射结构,同时配套练习了地址字段划分、命中率计算等实战题型。

AI知识点带复盘#

1. 主存块与Cache块的结构基础#

在408考研计算机组成原理考点中,主存与Cache均以**块(行)**作为数据交换的最小单位:

  • 主存会被划分为若干连续的主存块,每个主存块大小固定,主存地址可拆分为「主存块号」和「块内偏移量」两个字段,其中块内偏移位数由块大小决定,即 偏移位数=log2(块大小)偏移位数 = \log_2(块大小)
  • Cache同样划分为若干Cache块,Cache地址拆分为「Cache块号」和「块内偏移量」,由于二者块大小一致,块内偏移位数与主存地址的偏移位数完全相同。
  • 核心映射考点分为三类:
    1. 直接映射:主存块 ii 只能映射到Cache块 imodCi \mod CCC为Cache总块数),结构简单但冲突率高;
    2. 全相联映射:主存任意块可放入Cache任意块中,灵活性强但标记位开销大;
    3. 组相联映射:折中方案,将Cache划分为GG组,主存块 ii 映射到第 imodGi \mod G 组,组内采用全相联映射,是考研最常考察的映射方式。

2. Cache常见替换算法#

替换算法是Cache命中率的核心影响因素,考研高频考察以下4种:

  1. 随机替换(RAND):随机选择Cache中的一块进行替换,实现简单但未考虑局部性原理,命中率较低,仅作为基础概念考察。
  2. 先进先出(FIFO):替换最早调入Cache的块,未考虑块的使用频率,可能误替换高频使用的块,存在”抖动”问题。
  3. 最近最少使用(LRU):替换最近一段时间内访问次数最少的块,完美契合程序局部性原理,是考研核心考点,常考察LRU的栈实现、计数器实现以及命中率计算。
  4. 最不经常使用(LFU):替换累计使用次数最少的块,易淘汰长期未使用但近期频繁访问的块,实际应用较少,考研多作为对比考点出现。 此外近似LRU的时钟替换算法也是部分院校的考察点,核心通过标记位记录块的访问状态实现近似LRU。

3. 核心计算题型#

本次学习重点练习了两类计算:

  1. 地址字段划分计算:根据主存容量、Cache容量、块大小,计算主存地址各字段(标记位、组号、块内偏移)的位数;
  2. Cache性能计算:平均访问时间公式为 Tavg=H×Tc+(1H)×(Tc+Tm)T_{avg} = H \times T_c + (1-H) \times (T_c + T_m),其中HH为Cache命中率,TcT_c为Cache访问时间,TmT_m为主存访问+块传输时间,也就是缺块后的访问开销。

问题与反思#

  1. 组相联映射的地址字段划分容易混淆组号位数与标记位位数的计算逻辑,需要结合例题再梳理一遍公式;
  2. LRU算法的具体替换过程模拟还不够熟练,面对多轮访问序列时容易出现替换错误;
  3. 平均访问时间的公式容易遗漏Cache本身的访问时间,需要牢记完整的计算逻辑。

收获与总结#

  1. 理清了主存块与Cache块的映射关系,明确了不同映射方式下地址字段的拆分规则,解决了之前对地址划分的模糊认知;
  2. 系统掌握了4种常见Cache替换算法的核心思想、优缺点和考察重点,能够快速区分不同算法的适用场景;
  3. 熟练掌握了Cache地址字段位数、平均访问时间的基础计算方法,能够独立完成简单的实战题型练习;
  4. 明确了408中主存-Cache层次的核心考点框架,为后续学习虚拟存储层次打下了基础。

💡 碎碎念:踏实吃透每一个知识点!

文档内容由 AI 辅助生成

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

考研专业课学习记录2026-08-01
https://elysiaweb.vercel.app/posts/408/8-1/
作者
程翊雪
发布于
2026-08-01
许可协议
Unlicensed

部分信息可能已经过时

目录