Thx to
@cpu_designAuthor — Rahul B. at Tenstorrent
"Here’s my list of 5 papers you should read to learn about Out-of-Order Processors!"
#1 The Microarchitecture of Superscalar Processors by James E. Smith and Gurindar S. Sohi— Touches on every aspect of superscalar processor design and does an excellent job explaining concepts like register renaming, instruction scheduling, and memory operations.
https://course.ece.cmu.edu/~ece447/s15/lib/exe/fetch.php?media=00476078.pdf#2 The Alpha 21264 Microprocessor by R. E. Kessler— Explains the instruction fetch, branch prediction, out-of-order execution, instruction retire and exceptions and the internal memory system for the Alpha 21264 processor.
https://course.ece.cmu.edu/~ece447/s15/lib/exe/fetch.php?media=kessler_-_1999_-_the_alpha_21264_microprocessor.pdf#3 Implementing Precise Interrupts in Pipelined Processors by James E. Smith and Andrew R. Pleszkun— This paper does a great job at describing and evaluating solutions to the precise interrupt problem in pipelined processors.
https://course.ece.cmu.edu/~ece447/s15/lib/exe/fetch.php?media=00004607.pdf#4 Checkpoint Repair for Out-of-order Execution Machines by Wen-mei W. Hwu and Yale N. Patt— Discusses the several properties for the checkpoint repair mechanism to reset the processor state to a known previous state.
https://course.ece.cmu.edu/~ece447/s15/lib/exe/fetch.php?media=p18-hwu.pdf#5 A case for (partially) TAgged GEometric history length branch prediction by André Seznec and Pierre Michaud— This paper provides an excellent introduction to TAGE predictors, covering all relevant terminology along with hardware implementation details.
https://www.irisa.fr/caps/people/seznec/JILP-COTTAGE.pdf