СПИМ - Википедия - SPIM

СПИМ
Разработчики)Джеймс Ларус
Стабильный выпуск
9.1 / июль 2011 г.; 9 лет назад (2011-07)[1]
Операционная системаLinux, Mac OS X, Unix и Windows
ЛицензияЛицензия BSD
Интернет сайтсимулятор.sourceforge.сеть

СПИМ это 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 поставляется с элементарной операционной системой, которая позволяет программисту удобно использовать общие используемые функции. Такие функции вызываются системный вызов-инструкция. Затем ОС действует в зависимости от значений конкретных регистров.

Примеры системных вызовов (используемых 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

Рекомендации

  1. ^ «Изменения в Spim». Архивировано из оригинал (HTML) на 2011-01-27. Получено 2017-05-15.
  2. ^ «Симулятор SPIM MIPS». Получено 1 октября 2016.
  3. ^ «Симулятор MARS MIPS - Государственный университет Миссури». Получено 1 октября 2016.
  4. ^ «Открытые виртуальные платформы». Получено 1 октября 2016.
  5. ^ «Открытые виртуальные платформы». Получено 1 октября 2016.

внешняя ссылка