Jump to content

Re-order buffer

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Near Song (talk | contribs) at 06:01, 8 April 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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, results of instructions will be stored in the register or memory. And in "Write Result" stage, the results are just put in re-order buffer. All contents in this buffer can be used when executing other instructions depending on these.

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).