Java Microprocessor Simulator
This program, written as an honors assignment for a low level programming / assembly language class, simulates both a single cycle and pipelined processor with a MIPS-style architecture and a small, basic instruction set.
It accepts input files containing a series of valid MIPS hexidecimal instructions. It outputs both descriptions of each instruction executed and a register dump with each cycle, to illustrate the inner workings of the microprocessor.
While the single-cycle processor is relatively simplistic, the pipelined processor is somewhat complex and can handle a number of hazard cases. The program serves as both a good example of a Java program, and a useful illustration of low-level microprocessor workings.
See the README for more information.