猜错率不同,多花多少拍
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): ret
阅读更多 →
什么样的分支好猜
分支预测器最容易猜准的是【0】。
阅读更多 →
猜错了会怎样
分支猜错之后,CPU 要【0】。
阅读更多 →
为什么要猜
遇到分支时,流水线不等结果就先猜一个方向往下走。这么做是因为【0】。
阅读更多 →
⚠️ 挪错了会算出别的结果
把一条有依赖的指令也挪到前面去。⚠️ 冒险数确实降了,但程序算的东西变了——把两件事都打出来。
阅读更多 →
把不相干的指令插进去
把一条不相干的指令挪到有依赖的两条中间,算出调度前后的冒险数。
阅读更多 →
自己写:算转发能省多少
给冒险处数和每处的停顿拍数,算出「有转发 / 无转发」两种情况的总拍数。
阅读更多 →
取数之后马上用,还是得停
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): ret
阅读更多 →
转发前后差多少拍
运行下面这段程序,填写它打印出来的结果。 STAGES = 5 def one_by_one(n): return n * STAGES def pipelined(n): ret
阅读更多 →
编译器能帮什么忙
对付数据冒险,编译器能做的是【0】。
阅读更多 →