Instruction Retirement
Start at tail pointer in the ROB
- If status is FINISHED_VALID, write to register file, mark status as EMPTY
- If status is FINISHED_INVALID, mark status as EMPTY (do not write to register file)
- If status is not FINISHED_VALID or FINISHED_INVALID, then quit -- must retire instructions in strict program order!
- If retired EUMAX instructions, then quit - have retired maximum number of instructions for this clock cycle.
- If status if FINISHED_VALID, must change ROBmap entry to FALSE!!!