Mips 管道时序图

Mips 管道时序图,mips,pipeline,computer-architecture,Mips,Pipeline,Computer Architecture,我想确认以下时序图是否适用于MIPS 5级管道(*=暂停): 评论: 1) ADDI:ID暂停2个周期,以便前一个WB可以完成 2) 软件:因ID无法开始而暂停2次,为ID再暂停2次,以便上一个WB完成 3) SUB:如果在第7周期之前无法启动,则由于之前的指令,ID必须等到第10周期 4) BNEZ:如果在第10个周期之前无法启动,则ID将暂停2次,以便前一个WB可以完成如果指令结果仅通过寄存器文件传递(无转发/绕过),并且寄存器仅在EX之前读取,则您的图表看起来是正确的。(您可能会考虑之前的

我想确认以下时序图是否适用于MIPS 5级管道(*=暂停):

评论:

1) ADDI:ID暂停2个周期,以便前一个WB可以完成

2) 软件:因ID无法开始而暂停2次,为ID再暂停2次,以便上一个WB完成

3) SUB:如果在第7周期之前无法启动,则由于之前的指令,ID必须等到第10周期


4) BNEZ:如果在第10个周期之前无法启动,则ID将暂停2次,以便前一个WB可以完成

如果指令结果仅通过寄存器文件传递(无转发/绕过),并且寄存器仅在EX之前读取,则您的图表看起来是正确的。(您可能会考虑之前的空阶段,如果子和BNEZ是停滞周期,因为通常下一个指令将立即跟随前面指令的IF阶段。另一方面,这可能被认为是混乱的图表。)< /P> 然而,通常通过将结果直接从结果生成指令的EX-stage(或用于加载的M-stage)的末尾转发到从属指令的EX-stage的开头来优化5级管道,以避免上述大多数暂停。(对于存储指令,存储在内存中的值可能只需要M或W级,所以设计者可能会考虑在这种情况下添加转发。对于这个简单的流水线,这只对一个提供内存移动的指令来说是重要的,因为负载是唯一的延迟大于1的指令。两个宽超标量,例如可以允许类似“添加R3,R2,R1;SW R3,0(R4);”的内容在同一周期中开始执行。)

有了这样一个优化的管道,ADD只有一个暂停周期(ID之后),方法是将结果从“LW R2,400(R4)”的M阶段结束转发到ADD的EX开始

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | LW R1, 0(R4) | IF | ID | EX | M | W | | | | | | | LW R2, 400(R4) | | IF | ID | EX | M | W | | | | | | ADD1 R3,R1,R2 | | | IF | ID | * | EX | M | W | | | | SW R3, 0(R4) | | | | IF | * | ID | EX | M | W | | | SUB R4,R4,#4 | | | | | * | IF | ID | EX | M | W | | BNEZ R4, L1 | | | | | | | IF | ID | EX | M | W | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | LW R1,0(R4)|如果| ID | EX | M | W | | | || LW R2,400(R4)| IF | ID | EX | M | W | | || 地址1 R3,R1,R2 | | | | | IF | ID |*| EX | M | W || 西南R3,0(R4)| | | | | | | | | | | | ID | EX | M | W || 子类R4,R4,#4 | | | | | | | | | |如果| ID | EX | M | W || BNEZ R4,L1 | | | | | | | | IF | ID | EX | M | W|
这样的优化增加了设计的复杂性,但避免不必要的停顿可以显著提高性能。

@Paul谢谢。我以后会用这种方法。 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | LW R1, 0(R4) | IF | ID | EX | M | W | | | | | | | LW R2, 400(R4) | | IF | ID | EX | M | W | | | | | | ADD1 R3,R1,R2 | | | IF | ID | * | EX | M | W | | | | SW R3, 0(R4) | | | | IF | * | ID | EX | M | W | | | SUB R4,R4,#4 | | | | | * | IF | ID | EX | M | W | | BNEZ R4, L1 | | | | | | | IF | ID | EX | M | W |