CPU Sim is a free and easy to use Java application that allows users to design simple computer CPU`s at the microcode level and to run machine-language or assembly-language programs on those CPU`s through simulation.
CPU Sim can be used to simulate a variety of architectures, including accumulator-based, RISC-like, or stack-based (such as the JVM) architectures.
CPU Sim is a useful tool for instructors who want their students to get hands-on exposure to a variety of architectures and to get a chance to design and implement their own architectures and write programs in machine language and assembly language for their architectures.
Here are some key features of "CPU Sim":
Tools for designing a CPU at the register-transfer level:
· Dialogs for specifying the number and width of registers, register arrays, and RAMs.
· Dialogs for specifying the microinstructions (e.g., bit transfers between registers) that are used to implement the machine instructions
A dialog for specifying the machine instructions, including:
· the number of bits in each instruction
· the opcode value and the number of bits the opcode occupies
· the number of the operands and the number of bits in each operand
· the semantics of each instruction (specified by a sequence of microinstructions)
· A text editor for writing assembly language programs
· An assembler for converting assembly programs into machine code for the user`s CPU.
· A debugger for stepping forward and backward through the execution of such programs, inspecting and optionally changing the machine state after each step.
Requirements:
· Java 1.5 or later
What`s New in This Release: [ read full changelog ]
· The "Machine save as..." menu item didn`t save the machine in the chosen
· directory.
· When the micro list or micro tree in the Machine Instructions dialog was
· double-clicked, the Microinstruction dialog that opened was the wrong size
· and was in the wrong place.