CS152 · Homework 2 导读

HW2: Memory Hierarchy

这份导读帮你理解 HW2 在考什么、需要哪些前置知识。它不包含完整解答——答案需要你自己动手推导,官方解答会在截止日期后发布。

发布:2023-02-07(随第 7 课) 截止:2023-02-21 前置:第 6、7 课

这份作业在考什么?

一句话总结:用一份类似 CACTI 的电路延迟建模手册,亲手计算直接映射缓存和组相联缓存的关键路径延迟,从而确定它们各自需要几个时钟周期才能完成一次访问——把第 6、7 课"相联度如何影响命中时间"这条抽象权衡,变成具体的门延迟数字。


Problem 1:缓存电路延迟建模

配套的 handout 给出了译码器、存储阵列、比较器、多路选择器等各个电路模块的延迟公式(形如 delay = k₁·log₂(行数) + k₂·⌈log₂(每行位数)⌉ + k₃),以及一个 2.5GHz(400ps/周期)的目标时钟频率。

解题的关键提醒:1.A 和 1.B 的关键路径不一定是同一条电路路径——直接映射缓存的关键路径通常经过标签比较那一侧,而更高相联度的设计里,多路选择器和比较器数量的增加可能会让另一条路径变成瓶颈。一定要分别算出"标签检查侧"和"数据读出侧"两条候选路径,取较长的那条,而不是想当然地假设某一侧总是更长。这正是第 7 课"提高相联度可能增加命中时间"这条权衡在电路层面的具体体现。


Problem 3:基线缓存 vs. "微标签(microtagged)"缓存对比

题目直接给出两种缓存设计各个电路模块的延迟数值(不需要你自己套用第 1 题的公式推导),要求你:

这道题直接呼应第 7 课的 AMAT 公式:AMAT = Hit Time + Miss Rate × Miss Penalty。解题时应该把"周期时间变化"和"缺失率/缺失代价变化"分开核算,再代入公式一次性得出总的 AMAT 变化——不要把两种效应混在一起直觉估算。


知识检查

问题 1:为什么在计算 1.A(直接映射)和 1.B(4 路组相联)的关键路径延迟时,不能直接假设关键路径一定经过同一侧电路?

问题 2:Problem 3 要求对比基线缓存与"微标签"缓存的 AMAT,解题时应遵循的公式是什么?


提交与评分说明


参考资料与延伸阅读