SPIM es un simulador de procesador MIPS , diseñado para ejecutar código en lenguaje ensamblador para esta arquitectura. El programa simula procesadores R2000 y R3000 , y fue escrito por James R. Larus mientras era profesor en la Universidad de Wisconsin-Madison . [2] El lenguaje de máquina MIPS se enseña a menudo en cursos de ensamblaje de nivel universitario, especialmente aquellos que utilizan el libro de texto Computer Organization and Design: The Hardware/Software Interface de David A. Patterson y John L. Hennessy ( ISBN 1-55860-428-6 ).
El nombre del simulador es una inversión de las letras "MIPS".
Los simuladores SPIM están disponibles para sistemas operativos Windows (PCSpim), Mac OS X y Unix/ Linux (xspim). A partir de la versión 8.0 de enero de 2010, el simulador está licenciado bajo la licencia BSD estándar .
En enero de 2011, se lanzó una versión principal, la 9.0, que incluye QtSpim, que tiene una nueva interfaz de usuario basada en el marco multiplataforma Qt UI y se ejecuta en Windows , Linux y macOS . A partir de esta versión, el proyecto también se trasladó a SourceForge para un mejor mantenimiento. Se proporcionan versiones precompiladas de QtSpim para Linux (32 bits), Windows y Mac OS X, así como PCSpim para Windows.
El simulador SPIM viene con un sistema operativo rudimentario que permite al programador utilizar funciones de uso común de forma cómoda. Dichas funciones se invocan mediante la instrucción syscall . Luego, el sistema operativo actúa en función de los valores de registros específicos.
El sistema operativo SPIM espera una etiqueta denominada principal como punto de transferencia desde el preámbulo del sistema operativo.
MARS (MIPS Assembler and Runtime Simulator) [3] es un IDE basado en Java para el lenguaje de programación ensamblador MIPS y una alternativa a SPIM. Su lanzamiento inicial fue en 2005. [ cita requerida ] Sin embargo, como sus dos mantenedores se han retirado desde entonces, [4] [5] el proyecto ya no se encuentra en desarrollo activo.
Imperas es un conjunto de herramientas de desarrollo de software integrado para la arquitectura MIPS que utiliza tecnología de simulación y emulación de compilación Just-in-time . El simulador se lanzó inicialmente en 2008 y se encuentra en desarrollo activo. Existen más de 30 modelos de código abierto de los núcleos MIPS de 32 bits [6] y 64 bits [7] .
Otra alternativa a SPIM para fines educativos es el simulador CREATOR. [8] [9] [10] CREATOR es portable (se puede ejecutar en los navegadores web actuales) y permite a los estudiantes aprender varios lenguajes ensambladores de diferentes procesadores al mismo tiempo (CREATOR incluye ejemplos de instrucciones MIPS32 y RISC-V).