Which instructions spend multiple cycles waiting to commit after being written back into the ROB? Select all that apply

15.
Question 15
Use the following architecture for questions 15-17:

Draw the optimal pipeline diagram for the following code executing on the IO2I processor from lecture as shown below. The IO2I processor fetches instructions in-order, issues instructions out-of-order, writes-back results out-of-order, and commits instructions in-order. Assume the processor can fetch one instruction per cycle, decode one instruction per cycle, issue one instruction per cycle, writeback one result per cycle, and commit one instruction per cycle. Assume full bypassing of values from the respective instruction completion stage to the Decode stage. Assume that pipeline X can execute branches and ALU operations, pipeline L excutes loads, pipeline S executes stores, and pipeline Y can execute multiply operations. Loads have a latency of two cycles and ALU operations have a latency of one cycle. Branches are resolved in X0 and the machine has no branch delay slots and always predicts the fallthrough path. Multiply instructions have a latency of four cycles. Use the named pipeline stages in the figure for your pipeline diagram. The register file has only one write port. Use a lower-case ‘i’ to denote if an instruction enters the issue queue, but does not immediately issue. Use a lower-case ‘r’ to denote if an instruction enters the reorder buffer, but does not immediately commit. Assume that the issue queue can hold 16 instructions and begins empty.

Code Sequence for Questions 10-17:

Which instructions spend multiple cycles waiting to commit after being written back into the ROB? Select all that apply

5 points

  • 3: MUL R5, R1, R4
  • 4: MUL R7, R5, R6
  • 5: ADDIU R18, R11, 1
  • 6: ADDIU R14, R18, 1
  • 7: ADDIU R13, R18, 2