排序划不划算
排序本身要花代价(按 n × 3 拍算)。算出「不排序的总拍数 / 排序的总拍数 / 排序划不划算」。
阅读更多 →
自己写:数一段判断的猜错次数
给一串数据和一个阈值,先算出每个数的判断结果,再数出猜错几次。
阅读更多 →
换算成拍数差多少
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): ret
阅读更多 →
排序前后,猜错几次
运行下面这段程序,填写它打印出来的结果。 def wrong_guesses(pattern): last = -1 wrong = 0 for t in pattern:
阅读更多 →
怎么让分支变规则
一段按条件挑选的代码,让它对硬件更友好的常见办法是【0】。
阅读更多 →
「不规则」指的是什么
说一段代码「不规则」,通常指它【0】。
阅读更多 →
⚠️ 命中率高不等于代价小
两段程序:一段 100 个分支、命中率 90%,一段 20 个分支、命中率 50%。把「命中率 / 猜错次数 / 冲刷拍数」都算出来。
阅读更多 →
流水线越深,猜错越贵
同样猜错 8 次,分别算 5 级和 20 级流水线的冲刷代价。
阅读更多 →
把猜错换算成拍数
用上一题的预测器,算出两种分支模式各要多少拍(每次猜错冲 3 拍)。
阅读更多 →
自己写:一个最简单的预测器
实现「上次怎样这次还怎样」的预测器,数出一串分支结果里猜错了几次。第一次没有历史,算猜错。
阅读更多 →