一个5级流水线CPU具有以下阶段顺序:
IF — Instruction fetch from instruction memory,
RD — Instruction decode and register read,
EX — Execute: ALU operation for data and address computation,
MA — Data memory access - for write access, the register read
at RD stage is used,
WB — Register write back.
Consider the following sequence of instructions:
I1 : L R0, 1oc1; R0 <= M[1oc1]
I2 : A R0, R0; R0 <= R0 + R0
I3 : S R2, R0; R2 <= R2 - R0
Let each stage take one clock cycle.
从I1的获取开始,完成上述指令序列所需的时钟周期数是多少?
(A) 8
(B) 10
(C) 12
(D) 15答案: (A)
解释:
如果我们从内存阶段使用操作数转发:
T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | |
---|---|---|---|---|---|---|---|---|
l1 | IF | RD | EX | MA | WB | |||
l2 | IF | RD | EX | MA | WB | |||
l3 | IF | RD | EX | MA | WB |
如果我们不使用操作数转发:
T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10 | T11 | |
---|---|---|---|---|---|---|---|---|---|---|---|
l1 | IF | RD | EX | MA | WB | ||||||
l2 | IF | RD | EX | MA | WB | ||||||
l3 | IF | RD | EX | MA | WB |
因此,时钟周期= 8/11
由于11不在选项中。因此,时钟周期= 8。
因此,选项(A)是正确的。
如果您在以上文章中发现任何错误,请在下面发表评论。
这个问题的测验