Введение

SPIM — это симулятор процессора MIPS, предназначенный для выполнения кода на языке ассемблера для этой архитектуры. Программа эмулирует процессоры R2000 и R3000 и была разработана Джеймсом Р. Ларусом во время работы профессором в Университете Висконсина – Мэдисон. Машинный код MIPS часто изучают на университетских курсах по языку ассемблера, особенно при использовании учебника «Computer Organization and Design: The Hardware/Software Interface» Дэвида А. Паттерсона и Джона Л. Хеннесси. Название симулятора является обратным написанием букв "MIPS". Симуляторы SPIM доступны для операционных систем Windows (PCSpim), Mac OS X и Unix/Linux (xspim). Начиная с версии 8.0, выпущенной в январе 2010 года, симулятор распространяется по стандартной лицензии BSD. В январе 2011 года была выпущена основная версия 9.0, включающая QtSpim, с новым пользовательским интерфейсом, построенным на кроссплатформенном фреймворке Qt UI, и работающим в Windows, Linux и macOS. С этой версии проект также был перенесен на SourceForge для улучшения поддержки и обслуживания. Предоставляются предварительно скомпилированные версии QtSpim для Linux (32-разрядной), Windows и Mac OS X, а также PCSpim для Windows.

Альтернативы SPIM/Конкуренты

MARS (MIPS Assembler and Runtime Simulator) – это IDE на Java для языка программирования MIPS Assembly, являющаяся альтернативой SPIM. Первоначальный выпуск состоялся в 2005 году. Однако, поскольку оба разработчика проекта завершили работу, разработка больше не ведется. Imperas – это пакет инструментов разработки встроенного программного обеспечения для архитектуры MIPS, использующий технологию эмуляции и моделирования с JIT-компиляцией. Симулятор был впервые выпущен в 2008 году и находится в активной разработке. Существует более 30 моделей с открытым исходным кодом 32-битных и 64-битных ядер MIPS. Еще одной альтернативой SPIM в образовательных целях является симулятор CREATOR. CREATOR является переносимым (может выполняться в современных веб-браузерах) и позволяет студентам одновременно изучать несколько языков ассемблера для различных процессоров (CREATOR содержит примеры инструкций MIPS32 и RISC V).