Опубликована ранняя версия неофициального эмулятора архитектуры Эльбрус 2000
Так и не дождавшись публикации и обсуждения на Хабре очень важной новости из мира OpenSource, решил опубликовать её самостоятельно.
Полный текст новости с LOR: www.linux.org.ru/news/opensource/16158350
Спустя нескольких месяцев разработки стала доступна первая версия набора патчей к QEMU, добавляющих поддержку отечественной архитектуры процессоров Эльбрус 2000.На данный момент эмулятор поддерживает только 64-битные программы, скомпилированные под Linux. Реализованы почти 80% набора инструкций Эльбрус-8С.
Полный текст новости с 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.
Исходный код