Register renaming
Beginner
Giving each new answer its own fresh storage box, so steps that only share a name stop waiting for each other.
Novice
Mapping the few register names a program uses onto a larger set of hidden physical registers, giving every result a fresh one. It removes false dependences, where two instructions only reuse the same register name.
Expert
A map table (architectural → physical) plus a free list. Eliminates WAR and WAW hazards, leaving only true RAW dependences. Map-table snapshots or ROB walks restore the mapping after a mispredict.
Explained in Branch prediction and out-of-order execution (Architectures).
See also: Reorder buffer (ROB), Pipeline hazard.