gpt4 book ai didi

assembly - MIPS 流水线阶段

转载 作者:行者123 更新时间:2023-12-02 20:16:04 24 4
gpt4 key购买 nike

我理解有五个阶段 -> IF、ID、EX、MEM、WB。并且时钟周期由最长的阶段决定。我不明白的是当指令没有使用所有阶段时会发生什么,例如,添加不需要 MEM 阶段的指令,假设时钟周期为 200ps,这意味着对于使用所有阶段的指令,执行需要 1000ps。执行不使用 MEM stege 的指令是否需要相同的 1000ps(这意味着浪费了 200ps)?谢谢!

最佳答案

如果指令不需要 MEM 阶段,它不会在该阶段驱动任何与内存相关的信号,但它仍然需要通过它
是在浪费时间,但仍然比非流水线处理有所改进。


让经典 MIPS 5 级机器按需跳过 MEM 的一个想法是添加从 EX 到 WB 的数据路径并添加一些逻辑。
如果在加载/存储之后出现 R 型指令,则会出现冲突:

IF ID EX MEM WB
IF ID EX WB <-- Conflict: two instructions in WB

CPU 可以将 EX 的输出发送到 MEM 和 WB,此外,MEM 阶段会在需要该阶段时屏蔽从 EX 到 WB 的数据路径,并在不需要时屏蔽 MEM - WB 数据路径。
这样当 MEM 中已经有一条指令时,EX 中的下一条指令将在下一个周期进入 MEM(而不是 WB):

IF ID EX MEM  <-- Here EX-WB is masked (since MEM is used) and MEM-WB is allowed
IF ID EX <-- Can go to both MEM and WB but EX-WB is masked off


IF ID EX MEM WB <-- So this instruction's next stage is WB (as usual)
IF ID EX MEM <-- This goes to MEM instead, so the pipe keeps flowing

如果前面的指令不需要MEM,可以跳过一个阶段:

IF ID EX  <-- Here EX-WB is allowed (assume no prev instructions) and MEM-WB is not since (MEM was not used)
IF ID

IF ID EX WB <-- Instruction skips MEM stage since EX-WB was allowed
IF ID EX <-- Next instruction, again, EX-WB is allowed since MEM was not used

IF ID EX WB <-- Done
IF ID EX WB <-- Stage MEM skipped

附录

值得注意的是,如果第一个示例中的 WB 堆栈链接发生冲突,最好将整个流水线停止一个周期,否则冲突将永远无法解决,所有后续指令都将通过 MEM阶段不管他们的类型。

没有摊位:

mem = Useless MEM stage but necessary to avoid a WB confict
MEM = Instruction uses the MEM stage

IF ID EX MEM WB
IF ID EX mem WB
IF ID EX mem Wb

如果我们引入一个周期的停顿,我们就解决了冲突:

Lowercase names means stalled cycles

IF ID EX MEM WB
IF ID EX ex WB
IF ID id EX WB
IF if ID EX WB
IF ID EX WB
IF ID EX WB

请注意,从吞吐量的角度来看,这种优化并没有真正带来任何有用的东西。
流水线稳定到较短的长度,但如果将此图与强制执行 MEM 的图进行比较,您会在相同的周期中获得所有 WB 阶段!
如果 A 依赖于 B,则 A 需要等待 B 到达其 WB 阶段(或 EX,如果管道中有转发)并且由于 WB(或 EX)阶段的位置在有或没有此优化的情况下都是相同的,软件不能直接观察到它(即它没有任何好处)。

然而,较短的管道消耗的能量较少,刷新后重新填充的速度更快,但要真正利用跳过阶段的能力,需要一个超标量 CPU(具有多个执行单元,以便 EX 和 MEM 可以重叠) .

关于assembly - MIPS 流水线阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com