A Java-based MIPS dissassembler and pipeline simulator (employs Tomasulo's Algorithm)
In this project, we are required to implement an advanced pipeline using Tomasulo algorithm with out-of-order execution and in-order commit along with a Branch Predictor using the Branch Target Buffer for a processor which executes MIPS32 instructions as defined in Part I of the project. Fortunately, we are CDA4102 students - we are not required to implement the BTB; instead, we stall the pipeline until Branch / Jump is committed.