Purdue ECE 437 MIPS-ISA processor -  singlecycle, pipelined, pipelined with caches, and multicore pipelined with caches processor