New release of SPIM (MIPS R2000 simulator) (James Larus)
4 Sep 90 21:38:17 GMT

          From comp.compilers

Related articles
New release of SPIM (MIPS R2000 simulator) (1990-09-04)
| List of all articles for this month |

Newsgroups: comp.arch,comp.compilers,comp.sys.mips,comp.lang.misc
From: (James Larus)
Keywords: report, SPIM, debug
Organization: Univ. of Wisconsin Computer Sciences Dept
Date: 4 Sep 90 21:38:17 GMT

This in an announcement of a new release of the SPIM simulator. This
release has several major improvements, including: an X window interface and
the ability to read and execute binary files. It also contains numerous
bug fixes.

SPIM can be anonymously ftp'ed from in the directory


The SPIM S20 is a software simulator that runs assembly language
programs for the MIPS R2000/R3000 RISC computers. SPIM can read and
immediately execute files containing assembly language statements. It
can also read MIPS a.out files (when compiled on a MIPS system). SPIM
is a self-contained system for running these programs and contains a
debugger and interface to the operating system.

I wrote SPIM as the target machine for an undergraduate compiler
course. SPIM is very portable (it runs on a DECStation 3100, Sun 3,
Sun 4, PC/RT, and Sequent***), so the students could generate code for a
simple, clean, orthogonal computer; no matter which god-awful machine
they used. It was a very successful in this role. I have also
compiled several C program with the MIPS C compiler and run them on

SPIM is fairly slow. It runs about 1000 dhrystones/second, which is
roughly 1/25th the speed of a DECStation 3100, or about the speed of a
68010-based system.

SPIM implements almost the entire MIPS assembler-extended instruction
set (I've omitted some the complex floating point comparisons and
details of the memory system page tables). SPIM comes with complete
source code and documentation of all instructions (including several
that aren't in Kane's book, but are produced by MIPS compilers). It
also include a large torture test to verify a port to a new machine.

SPIM has a simple, terminal-style and a flashy, X-windows interface.

SPIM is copyrighted by me and distributed under the terms of the GNU
General Public License. You can copy a compressed tar file from ( in the file: ~ftp/pub/spim.tar.Z.
If you want to be informed of future updates, send me your electronic


James Larus
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
(608) 262-9519

*** SPIM also runs on a VAX, however it does not handle floating point
properly because compilers for the VAX do not treat single floats


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.