СПИМ - SPIM
Разработчики) | Джеймс Ларус |
---|---|
Стабильный выпуск | 9.1 / июль 2011 г.[1] |
Операционная система | Linux, Mac OS X, Unix и Windows |
Лицензия | Лицензия BSD |
Интернет сайт | симулятор |
СПИМ это MIPS симулятор процессора, предназначенный для работы язык ассемблера код для этой архитектуры. Программа имитирует R2000 и R3000 процессоров, и был написан Джеймс Р. Ларус в то время как профессор в Университет Висконсина-Мэдисона.[2] Машинный язык 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
Симулятор SPIM поставляется с элементарной операционной системой, которая позволяет программисту удобно использовать общие используемые функции. Такие функции вызываются системный вызов-инструкция. Затем ОС действует в зависимости от значений конкретных регистров.
служба | Код ловушки | Вход | Выход | Примечания |
---|---|---|---|---|
print_int | $ v0 = 1 | $ a0 = целое число для печати | выводит $ a0 на стандартный вывод | база = 10 |
print_string | $ v0 = 4 | $ a0 = адрес первого символа | выводит строку символов на стандартный вывод | |
read_int | $ v0 = 5 | целое число, прочитанное из стандартного ввода, помещенное в $ v0 | база = 10 | |
sbrk | $ v0 = 9 | $ a0 = необходимое количество байтов | $ v0 = адрес выделенной памяти | Выделяет память из кучи |
выход | $ v0 = 10 | |||
file_open | $ v0 = 13 | $ a0 = полный путь, $ a1 = флаги, $ a2 = восьмеричный файловый режим UNIX | $ v0 = дескриптор файла | пример; также есть функции чтения / записи / закрытия |
ОС SPIM ожидает метку с именем главный в качестве точки передачи из преамбулы ОС.
Альтернативы / конкуренты СПИМ
MARS (ассемблер и симулятор среды выполнения MIPS)[3] - это IDE на основе Java для языка программирования MIPS Assembly, альтернатива SPIM. Первоначальный выпуск был выпущен в 2005 году и находится в стадии активной разработки.[нужна цитата ]
Imperas представляет собой набор встроенных инструментов разработки программного обеспечения для архитектуры MIPS, который использует Своевременная компиляция Технология эмуляции и моделирования. Симулятор был первоначально выпущен в 2008 году и находится в стадии активной разработки. Существует более 30 моделей 32-битной MIPS с открытым исходным кодом. [4] и 64 бит [5] ядра.
Смотрите также
- GXemul (ранее известный как mips64emul), еще один эмулятор MIPS. В отличие от SPIM, который фокусируется на эмуляции голой реализации MIPS, GXemul написан для эмуляции полноценных компьютерных систем на базе микропроцессоров MIPS - например, GXemul может эмулировать DECstation 5000 Модель 200 рабочая станция
- OVPsim также эмулирует MIPS, и где все модели MIPS проверены MIPS Technologies
- QEMU также эмулирует MIPS
- Архитектура MIPS
Рекомендации
- ^ «Изменения в Spim». Архивировано из оригинал (HTML) на 2011-01-27. Получено 2017-05-15.
- ^ «Симулятор SPIM MIPS». Получено 1 октября 2016.
- ^ «Симулятор MARS MIPS - Государственный университет Миссури». Получено 1 октября 2016.
- ^ «Открытые виртуальные платформы». Получено 1 октября 2016.
- ^ «Открытые виртуальные платформы». Получено 1 октября 2016.