hpca/Problem Set Solutions/ILP/problem02

How many cycles would it take the given set of instructions to execute? Assume that the processor can execute instructions in any order that does not violate data dependencies, that all instructions have 1 cycle latencies, and that the processor execution units can execute any of the instructions in the fragment and the processor can execute two instructions at a time.

ADD R2, R2, R3
LD R4, (R5)
SUB R7, R1, R9
MUL R5, R4, R4
SUB R1, R12, R10
ST (R13), R14
OR R15, R14, R12


The code will take four cycles to complete. An example of the order of execution is shown below:

C1:     ADD R1, R2, R3                LD R4, (R5)
C2:     SUB R7, R1, R9                MUL R5, R4, R4
C3:     SUB R1, R12, R10              ST (R13), R14
C4:     OR R15, R14, R12

Adapted from the New Jersey Institute of Technology CIS650 lecture notes.