Опубликована ранняя версия неофициального эмулятора архитектуры Эльбрус 2000

Так и не дождавшись публикации и обсуждения на Хабре очень важной новости из мира OpenSource, решил опубликовать её самостоятельно.
Спустя нескольких месяцев разработки стала доступна первая версия набора патчей к QEMU, добавляющих поддержку отечественной архитектуры процессоров Эльбрус 2000.

На данный момент эмулятор поддерживает только 64-битные программы, скомпилированные под Linux. Реализованы почти 80% набора инструкций Эльбрус-8С.


ltgkvkp7gnp5bhzjtopjk4pbb8c.png
Полный текст новости с LOR: www.linux.org.ru/news/opensource/16158350
Спустя нескольких месяцев разработки стала доступна первая версия набора патчей к QEMU, добавляющих поддержку отечественной архитектуры процессоров Эльбрус 2000.

На данный момент эмулятор поддерживает только 64-битные программы, скомпилированные под Linux. Реализованы почти 80% набора инструкций Эльбрус-8С.

Эмулятор был разработан используя:

  • официальное учебное пособие «Микропроцессоры и вычислительные комплексы семейства «Эльбрус» и руководство по программированию
  • опубликованные GPL компоненты: binutils (зеркало) и ядро Linux (только зеркало)

Среди известных проблем:

  • эмулятор не является абсолютно точным. Полная документация на набор инструкций отсутствует, он был подвергнут методу обратной разработки, анализируя ассемблерный код, генерируемый компилятором, и его работу на реальном процессоре.
  • скорость работы эмулятора на Ryzen 2600X ниже Эльбрус-8С практически в 20 раз.
  • недостаток тестирования на реальных программах. На данный момент подтверждена работа busybox, coreutils, bash, некоторых бенчмарков и компилятора lcc.

Что примечательно, эмулятор разработан двумя участниками нашего форума (форума LOR): @numas13 и @a1batross.

Исходный код

© Habrahabr.ru