Assembly 理解冒泡与暂停与重复解码/提取

Assembly 理解冒泡与暂停与重复解码/提取,assembly,mips,computer-science,cpu-architecture,pipelining,Assembly,Mips,Computer Science,Cpu Architecture,Pipelining,我对冒泡、暂停和重复解码/获取之间的区别感到困惑。我的文本是Patterson文本,第三版。 例1: add $3, $4, $6 sub $5, $3, $2 lw $7, 100($5) add $8, $7, $2 解决方案:(使用图像,因为很难键入内容) 在此示例/解决方案中,在第3条和第4条指令之间的新行中插入五个气泡 例2: lw $4, 100($2) sub $6, $4, $3 add $2, $3, $5 解决方案: 在本例中,气泡将第2条和第3条指令包装在时钟周期4中。

我对冒泡、暂停和重复解码/获取之间的区别感到困惑。我的文本是Patterson文本,第三版。
例1:

add $3, $4, $6
sub $5, $3, $2
lw $7, 100($5)
add $8, $7, $2
解决方案:(使用图像,因为很难键入内容)
在此示例/解决方案中,在第3条和第4条指令之间的新行中插入五个气泡

例2:

lw $4, 100($2)
sub $6, $4, $3
add $2, $3, $5
解决方案:
在本例中,气泡将第2条和第3条指令包装在时钟周期4中。在时钟周期4中,重复I2的解码,重复I3的提取。
例1和例2的区别是什么?为什么在示例1中插入一行气泡,而在示例2中插入气泡并重复解码/提取?它们的功能相同吗? 如果它们在功能上相同,那么对于示例1,这是一个有效的解决方案吗

I1: IF ID EX MEM WB
I2:    IF ID EX  MEM WB
I3:       IF ID  EX  MEM WB
I4:          IF  NOP ID  EX MEM WB 
I1: IF ID EX MEM WB
I2:    IF ID EX  MEM WB
I3:       IF ID  EX  MEM WB
I4:          NOP IF  ID  EX MEM WB 
对于示例1,这也是有效的解决方案吗

I1: IF ID EX MEM WB
I2:    IF ID EX  MEM WB
I3:       IF ID  EX  MEM WB
I4:          IF  NOP ID  EX MEM WB 
I1: IF ID EX MEM WB
I2:    IF ID EX  MEM WB
I3:       IF ID  EX  MEM WB
I4:          NOP IF  ID  EX MEM WB 
对于示例2,这是有效的解决方案吗

I1: IF ID EX  MEM WB
I2:    IF NOP ID  EX MEM WB
I3:       NOP IF  ID EX  MEM WB
I1: IF ID EX  MEM WB
I2:    IF ID  ID  EX MEM WB
I3:       IF  IF  ID EX  MEM WB
对于示例2,这也是有效的解决方案吗

I1: IF ID EX  MEM WB
I2:    IF NOP ID  EX MEM WB
I3:       NOP IF  ID EX  MEM WB
I1: IF ID EX  MEM WB
I2:    IF ID  ID  EX MEM WB
I3:       IF  IF  ID EX  MEM WB

帮自己[和大家]一个忙。可以使用图像,但不要链接到它们,而是嵌入它们(例如,编辑问题并单击图像图标,然后输入原始的imgur url)。如果操作正确,图像现在将嵌入并存储在同一url中。我说“帮你自己一个忙”的原因是,大多数人不会为一个有链接图片的问题而烦恼。要查看示例,请查看前面的问题,我对其进行了编辑以嵌入images@CraigEstey不允许链接到图片,因为我没有足够的声誉。帮你自己(和每个人)一个忙。可以使用图像,但不要链接到它们,而是嵌入它们(例如,编辑问题并单击图像图标,然后输入原始的imgur url)。如果操作正确,图像现在将嵌入并存储在同一url中。我说“帮你自己一个忙”的原因是,大多数人不会为一个有链接图片的问题而烦恼。要查看示例,请查看前面的问题,我对其进行了编辑以嵌入images@CraigEstey不允许链接到图像,因为我没有足够的声誉。