Разработчик (и) | Джеймс Ларус |
---|---|
Стабильный выпуск | 9.1 / июль 2011 г.; 9 лет назад (2011-07) |
Операционная система | Linux, Mac OS X, Unix и Windows |
Лицензия | Лицензия BSD |
Веб-сайт | spimsimulator.sourceforge.net |
SPIM - это симулятор процессора MIPS, предназначенный для запуска языка ассемблера код для этой архитектуры. Программа имитирует процессоры R2000 и R3000 и была написана Джеймсом Р. Ларусом, когда он был профессором Университета Висконсин-Мэдисон. Машинный язык MIPS часто преподается на курсах сборки в колледже, особенно в тех, которые используют учебник «Организация и дизайн компьютера: аппаратно-программный интерфейс», составленный Дэвидом А. Паттерсоном и Джоном Л. Хеннесси (ISBN 1-55860-428-6 ).
Название симулятора представляет собой замену букв "MIPS".
Симуляторы SPIM доступны для операционных систем Windows (PCSpim), Mac OS X и Unix / Linux (xspim). Начиная с выпуска 8.0 в январе 2010 года, симулятор лицензируется по стандартной лицензии BSD.
. В январе 2011 года основной выпуск версии 9.0 включает QtSpim, который имеет новый пользовательский интерфейс, построенный на кроссплатформенной . Qt UI framework и работает в Windows, GNU / Linux и Mac OS X. Из этой версии проект также был перемещен в SourceForge для улучшения обслуживания. Предусмотрены предварительно скомпилированные версии QtSpim для Linux (32-бит), Windows и Mac OS X, а также PCSpim для Windows.
Симулятор SPIM поставляется с элементарной операционной системой, которая позволяет программисту удобно использовать общие используемые функции. Такие функции вызываются командой syscall. Затем ОС действует в зависимости от значений конкретных регистров.
service | Код прерывания | Вход | Выход | Примечания |
---|---|---|---|---|
print_int | $ v0 = 1 | $ a0 = целое число для печати | выводит $ a0 на стандартный вывод | base = 10 |
print_string | $ v0 = 4 | $ a0 = адрес первого символа | выводит строку символов на стандартный вывод | |
read_int | $ v0 = 5 | целое число, считанное из стандарта ввод помещен в $ v0 | base = 10 | |
sbrk | $ v0 = 9 | $ a0 = количество требуемых байтов | $ v0 = адрес выделенной памяти | Распределение памяти из кучи |
exit | $ v0 = 10 | |||
file_open | $ v0 = 13 | $ a0 = полный путь, $ a1 = флаги, $ a2 = восьмеричный файловый режим UNIX | $ v0 = файловый дескриптор | пример; также есть функции чтения / записи / закрытия |
ОС SPIM ожидает метку с именем main в качестве точки передачи обслуживания от преамбулы ОС.
MARS (ассемблер MIPS и симулятор времени выполнения) - это IDE на основе Java для языка программирования сборки MIPS и альтернатива SPIM. Его первоначальный выпуск был выпущен в 2005 году и находится в стадии активной разработки.
- это набор встроенных инструментов разработки программного обеспечения для архитектуры MIPS, в котором используется своевременная компиляция технология эмуляции и моделирования. Симулятор изначально был выпущен в 2008 году и находится в активной разработке. Существует более 30 моделей 32-разрядных и 64-разрядных ядер MIPS с открытым исходным кодом.