A method of recycling physical registers in a processor, comprising:
- retiring, by a reorder buffer, up to N instructions in each processor cycle;
- for each instruction being retired:
- when a first physical register is identified to be recycled upon retirement of the instruction, routing a corresponding first physical register index to a master free list;
- and
- when a second physical register is identified to be recycled upon retirement of the instruction, routing a corresponding second physical register index to a slave free list;
- and
- allocating physical registers whose corresponding physical register indexes are stored in the master free list to instructions being issued.