Tomasulo's algorithm is for dynamic scheduling of instructions that allows out-of-order execution and enables more efficient use of multiple execution units. In this assignment, you will implement Tomasulo's algorithm using your familiar programming language (e.g., c/c++/java/python).
For a given instruction execution sequence, your program should output instruction status, reservation status, load buffer status and register result status cycle by cycle. The sample output should be offered in clarity and readability just like “Chap03-ILP-Part3-TomasuloExample”. Please refer to the appendix for specific input and output formats.
For more details see: Tomasulo Algorithm.pdf
Please provide a single pdf document which shows that your program
can successfully complete dynamic scheduling of instructions illustrated in “input1.txt” and “input2.txt”. Meanwhile, your submission should also provide the original source code and the output file for reviewing. Code annotation is needed to improve code readability.