管道闸门2015



考虑下面给出的机器指令序列:

MUL R5, R0, R1
DIV R6, R2, R3
ADD R7, R5, R6
SUB R8, R7, R4 

在上述序列中,R0R8是通用寄存器。在所示的指令中,第一寄存器存储对第二和第三寄存器执行的操作的结果。此指令序列将在具有以下4个阶段的流水线指令处理器中执行:

  1. 指令获取和解码(IF)
  2. 操作数获取(OF)
  3. 执行操作(PO)和
  4. 写回结果(WB)

对于任何指令,IFOFWB级各占用1个时钟周期。PO级对于ADDSUB指令占用1个时钟周期,对于MUL指令占用3个时钟周期并且对于DIV指令占用5个时钟周期。流水线处理器使用从PO阶段到OF阶段的操作数转发。执行上述指令序列所用的时钟周期数为

由于它清楚地给出了从PO到OF阶段应该使用操作数转发,所以上面的答案应该是15个时钟周期。

但在许多地方,答案是13个时钟周期。13当我们使用从PO到PO的操作数转发时,答案将出现。

我的答案:

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15
IF  OF  PO  PO  PO  WB
    IF  OF          PO  PO  PO  PO  PO   WB
        IF                               OF   PO   WB
            IF                                     OF   PO   WB

在许多地方给出的答案:

1   2   3   4   5   6   7   8   9   10   11   12   13
IF  OF  PO  PO  PO  WB
    IF  OF          PO  PO  PO  PO  PO   WB
        IF          OF                   PO   WB
            IF          OF                    PO   WB

有人能说出哪个答案是正确的吗?

Correct answer is C , 13 clock cycles.
http://geeksquiz.com/gate-gate-cs-2015-set-2-question-54/
http://gateoverflow.in/8218/gate2015-2_44
Operand forwarding takes immediately after the last PO cycle, We do not need to wait one more clock cycle.
so this is the correct sequence
 
1   2   3   4   5   6   7   8   9   10   11   12   13
IF  OF  PO  PO  PO  WB
    IF  OF          PO  PO  PO  PO  PO   WB
        IF          OF                   PO   WB
            IF          OF                    PO   WB

相关内容

  • 没有找到相关文章

最新更新