Tomasulo algorithm implementation and visualization
A compiler for assembly code, Tomasulo's various micro-architectural units, mainly Load/Store buffers, integer adders, integer multipliers, and their respective reserved stations, are implemented as a virtual machine on top of that. I also implement a visual interface to show the state changes of the pipeline CPUs.
The algorithm is implemented in C++, and the visualization is implemented in Python.
LW, SW, ADD, ADDI, SUB, AND, ANDI, BEQZ, J, HALT, NOOP