当前位置: 首页 > 知识库问答 >
问题:

在MIPS中组织管道

巫马泓
2023-03-14

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

  • 只有1个内存端口
  • 没有数据备份。
  • 分支摊位直到*阶段结束

1个内存端口是否意味着我们在读/写mem时无法提取或写入(即lw上的mem阶段,您无法输入IF或其他mem的软件)?如果没有转发,这是否意味着一条指令要在它所依赖的前一条指令的WB阶段之后或之后才能进入ID阶段?Idk分支失速的含义

共有2个答案

束向荣
2023-03-14

评论:IF和MEM访问不同的内存部分。一个是数据内存(. data)和另一个指令内存(. code. text)。它是这样设计的,以便在IF和MEM期间访问内存不会导致结构停顿。. data使用的区域是堆栈使用的区域,堆栈传统上位于. data扇区的“末尾”。这就是为什么如果您在将数据保存到堆栈之前不从堆栈指针地址中减去,您就会冒着覆盖程序代码的风险。由于MIPS允许您手动指定堆栈地址,因此有些人选择将堆栈放在末尾的“前面”一点,以避免出现问题,如果他们知道他们将有空间并且不会覆盖MEM中的变量。例如,在WinMIPS64中将堆栈放在0x300而不是0x400。我不确定这是否是好的做法。但我听说有人这样做。

柯升
2023-03-14

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

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

>

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

    无数据转发。数据转发反映了这样一个事实,即在I1的EX阶段结束时,您将数据转发到I2的ID周期。因此,无转发意味着管道必须等待I1的WB阶段进入I2的ID阶段。使用asumption,您可以与前一条指令的WB阶段同时进入ID阶段,因为WB将在周期的前半部分写入内存,ID将在周期的后半部分从内存读取。

    分支暂停,直到EX阶段结束。这是一种常见的假设,它不使用分支预测技术。它只是说明,分支后的指令必须等到EX阶段结束后才能启动ID阶段。回想一下,要执行的下一条指令的地址仅在分支指令的前一级已知。

  •  类似资料:
    • 除了个人帐户之外,GitHub 还提供被称为组织(Organizations)的帐户。 组织账户和个人账户一样都有一个用于存放所拥有项目的命名空间,但是许多其他的东西都是不同的。 组织帐户代表了一组共同拥有多个项目的人,同时也提供一些工具用于对成员进行分组管理。 通常,这种账户被用于开源群组(例如:“perl”或者“rails”),或者公司(例如:“google”或者“twitter”)。 组织的

    • 我想确认以下时序图是否适用于MIPS 5级管道(*=暂停): 评论: 1)ADDI:ID停滞2个周期,因此之前的WB可以完成 2)SW:2个档位,因为ID无法开始,另外2个档位用于ID以完成之前的WB 3) SUB:如果直到周期#7才能启动,ID必须等到周期10,因为之前的指令 4)BNEZ:IF直到周期#10才能开始,ID有2个档位,因此之前的WB可以完成

    • 除了个人帐户之外,GitHub 还提供被称为组织(Organizations)的帐户。 组织账户和个人账户一样都有一个用于存放所拥有项目的命名空间,但是许多其他的东西都是不同的。 组织帐户代表了一组共同拥有多个项目的人,同时也提供一些工具用于对成员进行分组管理。 通常,这种账户被用于开源群组(例如:“perl”或者“rails”),或者公司(例如:“google”或者“twitter”)。 组织的

    • 我很困惑,在使用相同的$rt的LW之后出现的存储字指令如何导致MIPS中的管道暂停。考虑以下代码块: 这里有三个单词在记忆中来回移动。例如,在前两行中,$s0被加载到中,然后其内容被保存回内存中。我不确定软件指令在EX阶段或MEM阶段是否需要s0美元。如果在MEM阶段需要它,那么不需要暂停管道就可以通过转发来解决吗?

    • 1、磁盘的结构 磁盘是由表面涂有磁性物质的金属或塑料构成的圆形盘片,通过一个称谓磁头的到体系安全从磁盘中存取数据。在读写操作期间,磁头固定,磁盘在下面高速旋转。磁盘的表面上数据存储在一组同心圆中,称为磁道。每个磁道与磁头一样快,一个盘面上有上千个磁道。磁道有划分为几百个扇区,每个扇区固定存储大小(通常为512B),一个扇区称为一个盘块。由于扇区按固定圆心角划分,所以每季度从最外道向里道增加,磁盘的

    • 获取企业Id 请求方式:GET 请求地址:https://open.qingtui.cn/team/domain/id/get?access_token=ACCESS_TOKEN&number=NUMBER 参数说明: 参数 必须 说明 access_token 是 接口调用凭证 number 是 企业号,可在管理后台中企业管理模块中查看 正确返回结果示例: { "domainId": "