把两遍打平那一点找出来
上一题里,跑两遍时两种做法正好打平。把这两个数打出来验证一下。
开始练习 →
分析一段代码的流水线行为,先看什么
拿到一段代码要分析它在流水线上的表现,第一件事是【0】。
开始练习 →
一份流水线分析报告要有什么
一份说得清的流水线分析,至少要给出【0】。
开始练习 →
一段代码的完整账
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): return n + STAGES - 1
开始练习 →
自己写:一个流水线代价计算器
给「指令条数 / 冒险处数 / 猜错次数」,交出「基础 / 额外 / 总计」三样。
开始练习 →
把额外拍数按来源拆开
把额外拍数拆成「冒险贡献 / 分支贡献」,并指出哪一种更该先改。
开始练习 →
优化之后重新算一遍
加上转发(冒险停顿降到 0)、再把数据排好序(猜错从 3 降到 1),算出优化前后的总拍数和降幅(保留两位小数)。
开始练习 →
⚠️ 只优化一半会怎样
只加转发、不管分支,和只排序、不加转发,各算一次。看看哪一种更值。
开始练习 →
收官:出一份流水线分析报告
对一段代码交出五段:条数 / 基础拍数 / 冒险贡献 / 分支贡献 / 总拍数。
开始练习 →
想看分支预测对流水线影响多大,怎么看
想量化分支预测对流水线的影响,最靠谱的办法是【0】。 (判分只看你在受控容器里的真机产物,纯本机、纯 Python,没有 gcc。)
开始练习 →