gpt4 book ai didi

mips - 在 MIPS 中组织流水线

转载 作者:行者123 更新时间:2023-12-01 15:52:19 26 4
gpt4 key购买 nike

我不确定以下属性如何影响 5 阶段 MIPS 设计(IF、ID、EX、MEM、WB)的流水线执行。我只需要清理一下。

  • 只有1个内存端口
  • 没有数据转发。
  • 分支停止直到 * 阶段结束

1 个内存端口是否意味着我们在读取/写入内存时无法获取或写入(即 lw 上的 MEM 阶段,您无法进入 IF 或其他 MEM)?如果没有转发,这是否意味着一条指令直到它所依赖的前一条指令的 WB 阶段之后或 WB 阶段才会进入 ID 阶段?不知道分支摊位是什么意思

最佳答案

一个常见的假设是您可以在一个周期的前半部分写入,而在一个周期的后半部分阅读

假设 I1 是您的第一条指令,I2 是您的第二条指令,I2 使用的寄存器 I1 正在修改。

  • 只有 1 个内存端口。这意味着您不能在管道的两个不同阶段同时读取或写入内存。例如,如果I1处于MEM阶段,另一条指令不能同时处于IF阶段时间,因为两者都需要内存访问。

  • 没有数据转发。数据转发反射(reflect)了这样一个事实,即在 I1EX 阶段结束时,您转发了数据到 I2ID 周期。因此,没有转发意味着管道必须等待I1WB阶段去ID I2阶段。有了这个假设,就可以和上一条指令的WB阶段同时进入ID阶段,因为WB会写入内存在循环的前半部分,ID 将在循环的后半部分从内存中读取。

  • 分支停止直到 EX 阶段结束。这是一个常见的假设,不使用分支预测技术。它只是说明分支后的指令必须等到EX 阶段结束 才能开始ID 阶段。回想一下,下一条要执行的指令的地址只有在分支指令的 EX 阶段才知道。

关于mips - 在 MIPS 中组织流水线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227762/

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