CPU Sim is a Java application created by Dale Skrien, which 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.