把猜错换算成拍数

用上一题的预测器,算出两种分支模式各要多少拍(每次猜错冲 3 拍)。

开始练习 →

流水线越深,猜错越贵

同样猜错 8 次,分别算 5 级和 20 级流水线的冲刷代价。

开始练习 →

⚠️ 命中率高不等于代价小

两段程序:一段 100 个分支、命中率 90%,一段 20 个分支、命中率 50%。把「命中率 / 猜错次数 / 冲刷拍数」都算出来。

开始练习 →

「不规则」指的是什么

说一段代码「不规则」,通常指它【0】。

开始练习 →

怎么让分支变规则

一段按条件挑选的代码,让它对硬件更友好的常见办法是【0】。

开始练习 →

排序前后,猜错几次

运行下面这段程序,填写它打印出来的结果。 def wrong_guesses(pattern): last = -1 wrong = 0 for t in pattern: if last == -1

开始练习 →

换算成拍数差多少

运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): return n + STAGES - 1

开始练习 →

自己写:数一段判断的猜错次数

给一串数据和一个阈值,先算出每个数的判断结果,再数出猜错几次。

开始练习 →

排序划不划算

排序本身要花代价(按 n × 3 拍算)。算出「不排序的总拍数 / 排序的总拍数 / 排序划不划算」。

开始练习 →

同一批数据要处理几遍,排序才划算

排序要花 n × 3 拍,而排完之后每遍都能省下冲刷。同一批数据要处理几遍,排序才开始划算?

开始练习 →