VisualCPU
Graphical out-of-order CPU simulator
Java Swing application that simulated an out-of-order CPU. Support already exists for renaming, out-of-order issue, out-of-order completion, in-order retirement, handling of branch misprediction, and integer instructions (single-cycle, multiply, divide, load, store).