ReOrder Buffer Flashcards
What are the problems with Tomasulo’s algorithm?
Main problem: we are saving state out-of-order, so when we have a problem, it is hard to recover.
- Exception handling
- Branch mispredictions
- Phantom exception - exception thrown from wrong branch path
How do we fix the problems in Tomasulo’s algorithm?
We need to save values to registers according to program order. Use a reorder buffer (ROB)
What is a reorder buffer?
Buffer that remembers program order and keeps results of instructions until it is safe to write
How is a ROB structured?
Table with three values: Register, Value, Done (the value has been written to the buffer, not regs). Has two pointers (issue, commit)
What is a unified reservation station? What is its drawback?
A reservation station that feeds into different ALUs. This makes the dispatch logic more complicated.