Запускайте двоичные файлы Sparc без оборудования Sparc

В последние несколько месяцев мне было любопытно попробовать свои силы в сборке процессора SPARC (V8 или V9). Мой вопрос в том, что у меня нет доступа к машине SPARC, есть ли способ запустить двоичные файлы SPARC на моей машине x86? Я смотрел QEMU, но не совсем уверен, как его настроить.


person nelsonslament    schedule 02.10.2008    source источник


Ответы (10)


SimICS имитирует платформу Sparc. Академические и личные лицензии бесплатны.

Изменить: Я не воздал должное SimICS в моем первоначальном ответе, это очень полезный инструмент для разработки на основе Sparc. Вы можете инструментировать, профилировать и исследовать поведение или код как в пространстве пользователя, так и в пространстве ядра. Впервые я узнал об этом около 10 лет назад, когда он был выпущен Шведским институтом компьютерных наук (SICS). Позже они выпустили его как коммерческий продукт.

person DGentry    schedule 02.10.2008
comment
Подробности: Самый надежный симулятор Sparc V9 - это Virtutech Simics, доступный по адресу virtutech.com/academic. Бесплатно для академического использования и имеет очень надежную модель сервера Sparc поколений US-II и US-III / III + / IV + (а также простую Niagara). Работает под управлением Solaris с 7 по 10 и Linux. - person jakobengblom2; 02.10.2008
comment
Похоже, его сменили владельца, теперь URL: windriver.com/products/simics и похоже, что академическая или другая оценка / загрузка недоступна. - person Wez Furlong; 13.06.2011

Хорошо, вот оно:

  • qemu эмулирует код пользователя, а не систему
  • tkisem графически отображает внутреннее устройство процессора
  • Также есть вещь под названием "ISEM" (Instructional Sparc Emulator).

Возможно, поиск в Google поможет вам получить подробную информацию. Мое мнение - qemu для этого достаточно хорош.

person Alexey Shatygin    schedule 02.10.2008
comment
qemu - это эмулятор как системного, так и пользовательского режима - person osgx; 17.06.2011


Помимо полной эмуляции системы, QEMU может также эмулировать SPARC на уровне пользовательского пространства, так что вы можете написать программу на сборке SPARC и использовать стандартные системные вызовы Linux, и она будет вызывать стандартные версии ядра x86 ... работает довольно хорошо. !!

Если вы не уверены, что хотите конкретно изучить сборку SPARC, вы можете вместо этого изучить MIPS. Большинство беспроводных маршрутизаторов основаны на процессорах MIPS и могут работать под управлением Linux. Он похож на SPARC того же года изготовления, и наряду с SPARC это одна из двух оригинальных архитектур RISC ... на мой взгляд, MIPS на самом деле немного более чистой и элегантной архитектуры, чем SPARC, но они оба великолепны.

person Dan Lenski    schedule 02.10.2008
comment
Отличная идея - если кто-то хочет изучать RISCy-вещи, они очень похожи. - person Toybuilder; 24.10.2008

Похоже, QEMU выполняет достаточно эмуляции, чтобы вы могли установить SPARC Linux на: http://www.bellard.org/qemu/status.html

В этом случае просто возьмите дистрибутив SPARC (например, Debian), и вы все готово!

person Chris Jester-Young    schedule 02.10.2008

polarhome предлагает доступ к оболочке для системы Solaris (которая выглядит как система Sun Sparc, а не x86). Он стоит 10 единиц местной валюты (долларов, евро и т. Д.) Или 2 доллара США, в зависимости от того, какая сумма больше.

person DGentry    schedule 02.10.2008

Это эмулирует SparcStation 2 (sun4c 32bit SPARCv7), а также Ultra-1 (sun4u 64bit SPARCv9), насколько я понимаю, федеративность довольно высока, поскольку он использует стандартные сброшенные ромы даже из фреймбуфера.

http://people.csail.mit.edu/fredette/tme/

Что касается разницы между v7, v8 и v9 в Sparc, v7 и v8 - 32-битные, v9 - 64-битные. Обратите внимание, что QEMU не совсем верен эмуляции, и он динамически перекомпилирует, поэтому он может быть немного быстрее (на практике это довольно медленно), но ценой, возможно, меньшей совместимости. QEMU для v7-v8 может загружать Linux и большинство BSD и, в экспериментальном порядке, Solaris. QEMU для SPARCv9 является экспериментальным.

Я создал TME для Linux, но, вероятно, будет лучше, если вы просто установите NetBSD и создадите его там, чтобы вы могли использовать имеющуюся в нем поддержку сети, и старые компиляторы не будут сильно жаловаться на код.

У меня есть несколько исправленная версия здесь https://github.com/cb88/tme Я был бы признателен помогите работать над этим большинство исправлений взяты из NetBSD pkgsrc, но я думаю, что убрал еще несколько вещей.

person cb88    schedule 11.02.2013

У Aeroflex Gaisler есть коммерческие симуляторы для своих процессоров LEON2, LEON3 и LEON4, которые на самом деле являются SPARC. Существует также ограниченная ознакомительная версия для LEON3.

См. http://www.gaisler.com/index.php/downloads/simulators

Они предоставляют бесплатные кросс-компиляторы GCC для Windows (MinGW) и Linux:

http://www.gaisler.com/index.php/downloads/compilers

person Thalionâth    schedule 14.08.2013

Взгляните на http://www.stromasys.com, CHARON-SPK соответствует вашим требованиям. Также http://www.stromasys.ch/virtualization-solutions/virtual-sparcstation/ может помочь.

person Hardy Feng    schedule 23.08.2012

Обратите внимание: если вы собираетесь запускать Solaris позже 2.5.1 / 5.5, qemu-sparc вам не поможет. Однако NetBSD и Linux должны работать нормально.

Это потому, что qemu-sparc поддерживает только очень старые процессоры SPARC. Это либо приведет к тому, что установщик Solaris выдаст ошибку, когда он поймет, что архитектура слишком старая, либо приведет к сбою / сбою перед запуском, если вы попытаетесь установить Solaris 8-11.

Упомянутое ранее, но некоторые сведения о стоимости: Полнофункциональный 64-ядерный SPARC 2U, способный запускать Solaris 11, можно приобрести у EBay примерно за 400 долларов США, если вы хотите пойти по этому пути. T5220 будет работать с Solaris 11.

У меня нет опыта работы с другими эмуляторами, упомянутыми здесь, но я слышал хорошие отзывы о Simics, хотя это дорого.

person adam    schedule 09.04.2017