排序划不划算

排序划不划算

排序本身要花代价(按 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 拍)。

阅读更多 →
自己写:一个最简单的预测器

自己写:一个最简单的预测器

实现「上次怎样这次还怎样」的预测器,数出一串分支结果里猜错了几次。第一次没有历史,算猜错。

阅读更多 →