【发布时间】:2016-10-11 20:40:53
【问题描述】:
我们在具有 F、D、X、W 阶段的 4 阶段 IN-ORDER 流水线中运行上述代码,其中 X 需要 4 个流水线周期用于 ADD,而需要 6 个流水线周期用于 MUL。假设没有转发(绕过),即我们需要停止每个数据依赖。代码执行需要多少个周期?
代码和我的答案附在下图中。我想我应该使用 excel,因为它看起来更有条理。
【问题讨论】:
我们在具有 F、D、X、W 阶段的 4 阶段 IN-ORDER 流水线中运行上述代码,其中 X 需要 4 个流水线周期用于 ADD,而需要 6 个流水线周期用于 MUL。假设没有转发(绕过),即我们需要停止每个数据依赖。代码执行需要多少个周期?
代码和我的答案附在下图中。我想我应该使用 excel,因为它看起来更有条理。
【问题讨论】:
执行需要 28 个周期。添加使用 4 个流水线周期,Mul 使用 6 个流水线周期。有 4 条 ADD 指令和 2 条 MUL 指令。其中,4*4 + 2*6 = 28 个周期
【讨论】: