Re-order buffer
Appearance
A re-order buffer (ROB) is used in a Tomasulo algorithm for out-of-order instruction execution. It allows instructions to be committed in-order.
Normally, there three stages of instructions: "Issue", "Execute", "Write Result". In Tomasulo algorithm, additional stage called "commit" was came up. In this stage, the result of the current instruction is stored in the register or memory. And in "Write Result" stage, the result is just put in re-order buffer. All content in this buffer can be used when executing other instructions depending on this.
There are three fields in every entry of the buffer:
- Instruction type
- Destination
- Result
Additional benefits include allowing for precise exceptions and easy rollback for control of target address mispredictions (branch or jump).