ProcessorSim allows you to view a simulation of a processor’s internal circuits (components and buses) executing a piece of assembly code, as an animation. It is mainly used for learning how the processor works, and so is useful for undergraduates in Computer Science, or anyone who is interested in how CPUs work.
You can input any assembly program from the selected assembly instruction set, and the simulation will animate the instruction being fetched, decoded and executed by the various components.
ProcessorSim contains a number of pre-made MIPS datapaths, from very simple – incrementing the PC and fetching an instruction, to much more complex with support for many different instructions. They are all simulations of the simple MIPS R2000 Single-Cycle processor.
The other major part of this program is the fact that you can write your own datapaths. Although it is limited to 32bit computers and the hard-coded instructions. So it is probably only good for creating MIPS datapaths. But the potential is there to try different ideas. It is done by writing an XML document, and a number of examples are included.
ProcSim is simple to use, has a small(ish) file size, and there’s no need to install: just unzip into any directory and run from there. It’s written in Java, so should work on most systems. You will need the new Java 1.5 runtime though. ProcSim could also be called emulator as it gives the final state of an assembly program written for the MIPS ISA.
Quick rundown of the features:
- Input custom assembly (or machine code) programs or just an instruction, and see how the processor executes it.
- Fully controllable animation.
- Different datapaths available, from simplistic to complex.
- Supported assembly instructions: add, sub, and, or, slt, lw, sw, beq, addi, andi, ori, j.
- Support for memory reading and writing.
- Write your own Processor Datapaths in XML – and draw the diagram using the in-program editor.
Download it free below:
Download (1.03MB) ProcessorSim Windows – Just for Windows.
Download (2.11MB) ProcessorSim – Should work on most OSs (read the readme.txt).
You need the new Java 1.5 (v5) runtimes. You can download it here.
Resolution Monitor: 1024*768
Windows: 2000/XP (Not tested on other systems – but should work on Linux and most other OSs as it is Java based)