Finalizing pipelined execution - completion, commitment, retirement and write-back
An instruction is completed when the FU finished the execution of the instruction and the result is made available for forwarding and buffering.
- Instruction completion is out of program order.
Committing an operation means that the results of the operation have been made permanent and the operation retired from the scheduler.
Retiring means removal from the scheduler with or without the commitment of operation results, whichever is appropriate.
- Retiring an operation does not imply the results of the operation are either permanent or non permanent.
A result is made permanent:
- either by making the mapping of architectural to physical register permanent (if no separate physical registers exist) or
- by copying the result value from the rename register to the architectural register ( in case of separate physical and architectural registers)in an own write-back stage after the commitment!