and maintained by Dale Skrien
Department of Computer Science
Waterville ME 04901
Author's home page: http://www.cs.colby.edu/djskrien/
CPU Sim is a Java application that I wrote 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. It can be used to simulate a variety of architectures, including accumulator-based, RISC-like, or stack-based (such as the JVM) architectures. It 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.
CPU Sim was written using the Swing package. It should run on any platform that has the Java runtime environment, JRE version 1.5 or later, installed on it. I have tested it on Windows, Linux, and Macintosh (OS X) platforms.
To get a better feeling for the user interface of CPU Sim, I have made available some pictures of the dialog boxes, windows, and menus.
The latest stable version of CPU Sim is 3.8.1. It runs under Java 1.5 or later.
CPU Sim is freeware. You can download a 5 MB zip file containing version 3.8.1 of the CPU Sim package. Here is what is new in version 3.8.1. The installation instructions explain what is in the zip file and how to install and start up the package. If you wish, you can view or download just the User's Manual (in PDF). NOTE: The User's Manual has not yet been updated to reflect the changes added since version 3.4.1, but the online help in CPU Sim has been updated.
An earlier version, CPU Sim 3.6.9 is still available here (including the installation instructions).
An instructor's manual including sample programming projects and their solutions is also available. Please contact me at email@example.com if you are interested in these supplementary materials.
I wrote versions 1 and 2 of CPU Sim in the early 1990's using Macintosh Common Lisp and, as a result, they ran only on the Macintosh platform. Version 2.2 of this software won the 1993 EDUCOM Higher Education Software and Curriculum Innovation Award for Best Engineering Software (Computer Science). It was one of only 10 winners out of over 140 entries. A Macintosh Common Lisp-based version (2.6.5) is still available in both MC680x0-native and PowerPC-native forms. These are the only versions of CPU Sim that run on MacOS 9 and earlier.
Please contact me at firstname.lastname@example.org if you are interested in these earlier versions.
KERRIDGE, J., AND WILLIS, N. 1980. A Simulator
for Teaching Computer Architecture. SIGCSE Bulletin, 12(2), 65-71.
This simulator is the precursor to CPU Sim.
SKRIEN, D., AND HOSACK,
J. 1991. A multilevel simulator at the register transfer level for use in an introductory
machine organization class. SIGCSE Bulletin (Papers of the 22nd ACM/SIGCSE Technical
Symposium on Computer Science Education), 23(1), 347-351.
This article describes version 1.0.13 of CPU Sim.
SKRIEN, D. 1994. CPU Sim: A Computer
Simulator for Use in an Introductory Computer Organization Class. Journal of Computing
in Higher Education, 6(1), 3-13.
This article describes version 2.2 of CPU Sim.
SKRIEN, D. 2001. CPU Sim 3.1: A tool for simulating computer architectures for computer organization classes. ACM Journal of Educational Resources in Computing (JERIC) 1(4), 46-59. This issue of JERIC is a special one devoted to computer architecture simulators.
I also presented a faculty poster at SIGCSE 2002 about CPU Sim 3.1.
This page was last updated on December 6, 2012.