Which sequence of operations to speed up the performance of a CPU?


If we use internal data forwarding to speed up the performance of a CPU (R1, R2 and R3 are registers and M[100] is a memory reference), then the sequence of operations

R1 → M[100]
M[100] → R2
M[100] → R3

can be replaced by

a. R1 → R3
R2 → M[100]

b .M[100] → R2
R1 → R2
R1 → R3

c. R1 → M[100]
R2 → R3

d. R1 → R2
R1 → R3
R1 → M[100]


@prateek111 Data forwarding means if CPU writes to a memory location(A1) from a register(B1) and subsequently reads from the same memory location(A1), the second instruction can fetch the value directly from the register(B1) used to do the write than waiting for the memory(A1). So, this increases the performance.

Here, choices A, B and C don’t really make any sense as the data was in R1 and it must be moved to R2, R3 and M[100]. So, (d) is the answer.