Search code examples
parallel-processingcpucomputer-sciencepipelinecpu-architecture

What is the number of cycles needed to execute the following loop?


Consider a 4 stage pipeline processor. The number of cycles needed by the four instructions I1, I2, I3, I4 in stages S1, S2, S3, S4 is shown below:

    S1    S2    S3    S4
I1  2     1     1     1
I2  1     3     2     2
I3  2     1     1     3
I4  1     2     2     2 

What is the number of cycles needed to execute the following loop?

For (i=1 to 2) {I1; I2; I3; I4;}

Options are:

  1. 16

  2. 23

  3. 28

  4. 30


My explanation :


enter image description here

where I'm wrong ?


Solution

  • When using the following timeline I get 23 cycles:

    enter image description here