SPIM
Разработчик(и) | Джеймс Ларус |
---|---|
Стабильная версия | 9.1 / июль 2011 г [1] |
Операционная система | Linux , Mac OS X , Unix и Windows |
Лицензия | Лицензия BSD |
Веб-сайт | симулятор спама |
SPIM — это симулятор процессора MIPS , предназначенный для запуска кода на языке ассемблера для этой архитектуры. Программа имитирует процессоры R2000 и R3000 и была написана Джеймсом Р. Ларусом, когда он был профессором Университета Висконсин-Мэдисон . [2] Машинный язык MIPS часто преподается на курсах ассемблера в колледжах, особенно на курсах по учебнику « Компьютерная организация и проектирование: интерфейс аппаратного и программного обеспечения» Дэвида А. Паттерсона и Джона Л. Хеннесси (англ . Computer Organization and Design: The Hardware/Software Interface). 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 и работающим в Windows , Linux и macOS . Из этой версии проект также был перенесен на SourceForge для лучшего обслуживания. Предоставляются предварительно скомпилированные версии QtSpim для Linux (32-разрядной версии), Windows и Mac OS X, а также PCSpim для Windows.
Операционная система СПИМ
[ редактировать ]Симулятор SPIM поставляется с элементарной операционной системой, которая позволяет программисту комфортно использовать часто используемые функции. Такие функции вызываются системный вызов - инструкция. Дальше ОС действует в зависимости от значений конкретных регистров.
услуга | Код ловушки | Вход | Выход | Примечания |
---|---|---|---|---|
print_int | $v0 = 1 | $a0 = целое число для печати | выводит $a0 на стандартный вывод | база = 10 |
print_string | $v0 = 4 | $a0 = адрес первого символа | печатает строку символов в стандартный вывод | |
read_int | $v0 = 5 | целое число, прочитанное из стандартного ввода, помещенного в $v0 | база = 10 | |
сбрк | $v0 = 9 | $a0 = необходимое количество байтов | $v0= адрес выделенной памяти | Выделяет память из кучи |
Выход | $v0 = 10 | |||
file_open | $v0 = 13 | $a0 = полный путь, $a1 = флаги, $a2 = восьмеричный режим файла UNIX. | $v0 = дескриптор файла | пример; также есть функции чтения/записи/закрытия |
ОС SPIM ожидает метку с именем main как точка передачи обслуживания из преамбулы ОС.
Альтернативы/Конкуренты СПИМ
[ редактировать ]MARS (ассемблер MIPS и симулятор времени выполнения) [3] представляет собой основанную на Java среду программирования для языка программирования MIPS Assembly и альтернативу SPIM.Его первый выпуск состоялся в 2005 году. [ нужна ссылка ] Однако, поскольку оба его сопровождающих уже вышли на пенсию, [4] [5] проект больше не находится в активной разработке.
Imperas — это набор встроенных инструментов разработки программного обеспечения для архитектуры MIPS, в котором используется технология эмуляции и моделирования компиляции «точно в срок» .Симулятор был первоначально выпущен в 2008 году и находится в стадии активной разработки.Существует более 30 моделей 32-битного MIPS с открытым исходным кодом. [6] и 64 бит [7] ядра.
Другой альтернативой SPIM для образовательных целей является симулятор CREATOR. [8] [9] [10] CREATOR является портативным (может выполняться в современных веб-браузерах) и позволяет учащимся одновременно изучать несколько языков ассемблера разных процессоров (CREATOR включает примеры инструкций MIPS32 и RISC-V).
См. также
[ редактировать ]- GXemul (ранее известный как mips64emul), еще один эмулятор MIPS. В отличие от SPIM, который фокусируется на эмуляции простой реализации MIPS, GXemul написан для эмуляции полных компьютерных систем на базе микропроцессоров MIPS — например, GXemul может эмулировать DECstation 5000 Model 200. рабочую станцию
- OVPsim также эмулирует MIPS, и все модели MIPS проверяются MIPS Technologies.
- QEMU также эмулирует MIPS.
- Архитектура MIPS
Ссылки
[ редактировать ]- ^ «Изменения в Спиме» . Архивировано из оригинала (HTML) 27 января 2011 г. Проверено 15 мая 2017 г.
- ^ «Симулятор SPIM MIPS» . Проверено 1 октября 2016 г.
- ^ «Симулятор MARS MIPS — Университет штата Миссури» . Проверено 1 октября 2016 г.
- ^ «Информатика Университета Оттербейна: Питер Сандерсон» . Проверено 14 апреля 2024 г.
- ^ «Кен Р. Воллмар - Факультет компьютерных наук - Университет штата Миссури» . Проверено 14 апреля 2024 г.
- ^ «Открытые виртуальные платформы» . Проверено 1 октября 2016 г.
- ^ «Открытые виртуальные платформы» . Проверено 1 октября 2016 г.
- ^ «CREATOR: Дидактический и универсальный тренажер для программирования на ассемблере» . 23 июля 2021 г.
- ^ Веб-сайт CREATOR с примером MIPS32: https://creatorsim.github.io/creator/?example_set=default&example=e12.
- ^ Исходный код CREATOR на GitHub: https://github.com/creatorsim/creator