做性能实验要先固定什么
做一次性能对比实验,必须先固定的是【0】。
阅读更多 →
和 l2_arch_09 的结论对账
用模拟器算 1/10/100 条指令的加速比,和 l2_arch_09 记下的1.0 / 3.57 / 4.81 对一遍。
阅读更多 →
加上停顿之后的表
在第 3 拍插入一次停顿(所有指令原地等一拍),算出总拍数的变化。
阅读更多 →
数一数每一拍有几条在跑
数出前 6 拍里,每一拍有几条指令正在流水线上。
阅读更多 →
自己写:画出流水线表
把前 4 拍里每条指令所在的级都列出来,没轮到的写「空」。
阅读更多 →
第三拍时,三条指令各在哪一级
运行下面这段程序,填写它打印出来的结果。 STAGE_NAMES = ["取指", "译码", "执行", "访存",
阅读更多 →
四条指令,两种走法
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 FLUSH = 3 def pipelined(n): return n + STAGES - 1 def wrong_gu
阅读更多 →
模拟器里的流水线和真机差在哪
这条路线的流水线模型和真机相比,最大的简化是【0】。
阅读更多 →
模拟流水线要记什么
要在模拟器里观察流水线,最关键的是记下【0】。
阅读更多 →
⚠️ 记少了一列就定位不到
同一个 bug,用「只记 R0」和「记 R0 和 R1」两份 trace 各找一次。⚠️ 只记一列的那份看不出任何问题。
阅读更多 →