Reflections on SPIM
SPIM is a program that I wrote during my first year (1990) as a professor at the University of Wisconsin Madison, when I was starting as an assistant professor. It a software simulator for the MIPS processor, a RISC computer that was quite popular at the time, and which was subsequently crushed by Intel x86 computers. Originally I wrote Spim to help my students in a compiler class, who would otherwise have to generate code for the far more complex x86 processors (x86 won that battle, but subsequently added enough registers to make code generation simpler). Subsequently MIPS and Spim were used by David Patterson and John Hennessy in their undergraduate computer architecture textbook (and in several other authors' books), which isn't that surprising since John was the architect of the MIPS processor. Over the past 25 years or so, Spim has probably been used by a majority of computer science undergraduates in one class or another. I am still actively maintaining Spim, which is ...