与流水线,危险,依赖相混淆

时间:2015-01-11 05:37:08

标签: dependencies pipeline

对于家庭作业,我们得到了序列:

ADD $r0,    $r1,    ->  $r2
SUB $r4,    $r0,    ->  $r3
AND $r5,    $r0,    ->  $r6
OR  $r7,    $r0,    ->  $r8
XOR $r9,    $r0,    ->  $r10

遵循IF,ID,EX,MEM,WR阶段。

首先,我们必须确定依赖关系。我做到了(我相信)。

其次,识别危险及其类型。我想我已经做到了这一点。

第三步“iii。评估执行所有给定的五条指令所需的周期数和相应的CPI(每条指令的周期数)”

引用image here,我回答了

“如表7所示,完成所有五个(ADD,SUB,AND,OR,XOR)指令需要17个周期。 由于每条指令都依赖于$ r0,因此随着它们的进展,它们需要更长的时间。

ADD - 5 CPI SUB - 7 CPI AND - 9 CPI 或 - 11 CPI XOR - 13 CPI“

第四部分我很困惑。说

“iv。建议使用一种技术来消除这些类型的危害。绘制新的多周期管道图并计算新的CPI。”

如果有任何帮助,我会非常感激。

1 个答案:

答案 0 :(得分:0)

首先,我没有在您发布的说明中看到任何依赖关系。此外,我不太清楚他们的意思是消除危害。

但是,您可以尝试的一种技术是转发。由于这些都是算术指令,因此它们在EX阶段之后完成。因此,您可以将ALU计算的值从MEM转发到EX或WB转发到EX。其中EX是下一条指令的执行阶段。

相关问题