After completion, operations are committed in-order.
An instruction can be committed:
- if all previous instructions due to the program order are already committed or can be committed in the same cycle,
- if no interrupt occurred before and during instruction execution, and
- if the instruction is no more on a speculative path.
By or after commitment, the result of an instruction is made permanent in the architectural register set,
- usually by writing the result back from the rename register to the architectural register.