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 开始,完成上述指令序列所需的时钟周期数是多少?
(一) 8
(乙) 10
(三) 12
(四) 15答案:(一)
解释:
如果我们从内存阶段使用操作数转发:
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)是正确的。
如果您发现上面的帖子有任何错误,请在下面发表评论。
这个问题的测验