larus@primost.cs.wisc.edu (James Larus) (09/05/90)
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 primost.cs.wisc.edu in the directory pub/spim.tar.Z. /Jim larus@cs.wsic.edu 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. 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 primost.cs.wisc.edu (128.105.2.115) in the file: ~ftp/pub/spim.tar.Z. If you want to be informed of future updates, send me your electronic address. /Jim James Larus Computer Sciences Department 1210 West Dayton Street University of Wisconsin Madison, WI 53706 larus@cs.wisc.edu (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 properly. -- Send compilers articles to compilers@esegue.segue.boston.ma.us {ima | spdcc | world}!esegue. Meta-mail to compilers-request@esegue.