LINUX.ORG.RU

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

 , , ,


7

3

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

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

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

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

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

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

>>> Исходный код

★★★★★

Ответ на: комментарий от numas13

Сперва хотелось бы добиться работоспособности большего числа приложений. Исправить некоторые детские ошибки. Улучшить производительность.

Не забывай держать нас в курсе.

Только после этого считаю рациональным предлагать добавить в upstream.

Наконец-то, появится замена никчемному Raspberry.

acroobat ()
Ответ на: комментарий от bonta

Они же заинтересованы на столько в распространении своей архитектуры

Были бы они в этом реально заинтересованы - сами бы написали патч лет 10 назад, и стоя на коленях уговаривали бы ментейнеров включить в апстрим.

snizovtsev ★★★★ ()
Ответ на: комментарий от bonta

рвать Интелы в пух и прах например

Плохая сказочка

если любому Райзену понизить частоту до уровня Эльбруса-8С

А зачем интелу и амд понижать свои штатные частоты? А почему эльбрусу не могут поднять частоты?

anonymous ()

Забавно. Вообще elbrus в частных (и условно частных) руках есть и его можно купить. Я даже когда-то подумывал в университете завести один как забавный экспонат.

dn2010 ★★★★★ ()
Ответ на: комментарий от Thero

есть варианты от получения удалённого доступа к машине на эльбрусе, до выкупа\аренды железки с эльбрусом…

Это уже технические детали доступа к реальному железу, но вариант все равно остается один: нужно реальное железо. Тем более, что в случае аренды надо не только предоставить все свои данные, но и еще отправлять отчеты, что было сделано, и какие результаты. Т.е. ты еще на МЦСТ должен бесплатно поработать. Разрабатывать что-то при таких условиях можно разве что по приказу командира.

seiken ★★★★★ ()
Ответ на: комментарий от seiken

предоставить все свои данные

our precious bodily fluids

фикция приватности и правда сильно проела мозги землян

anonymous ()
Ответ на: комментарий от anonymous

фикция приватности и правда сильно проела мозги землян

Это как раз минорный пункт, который, - если эльбрус реально нужен, - вообще никакая не проблема. А вот составлять отчетики для МЦСТ - это уже дополнительные человеко-часы, которых в иных условиях обычной коммерческой разработки, - когда на все про все срок до «позавчера», - просто нет.

seiken ★★★★★ ()
Ответ на: комментарий от bonta

Видишь, даже в этом Эльбрус сосёт: рузену можно частоту до уровня Эльбруса снизить, а Эльбрусу поднять нельзя. Более того, если даже найдут нормальных инженеров и раскошелятся на заказ в на нормальном техпроцессе, Эльбрусу это не поможет, потому что не масштабируется он по частоте. МЦСТ, они как Паниковский, уже понимают, что ошиблись, но предлагают пилить дальше.

khrundel ★★ ()
Ответ на: комментарий от bonta

Реверс инженеринг не может же быть юридически запрещен.

Ты что, правда никогда в лицензионном соглашении не видел пункт о запрете реверсинжениринга?

seiken ★★★★★ ()
Ответ на: комментарий от mumpster

Не верю, если человек (организация) понял как работает продукт конкурента, и не украл, но сделал так же - ему ничего не может за это быть.

Иначе бы не было РокетОс, Макось(возможно), Вайна, ряда других эмуляторов, некоторых процессоров АМД допентиумных врёмен, когда Интел престал давать им лицензию, и они через реверс инженеринг делали улучшенные копии Интеловских камней (клонами назвать их не верно, т.к. это отличающиеся процессоры).

bonta ★★★ ()
Ответ на: комментарий от bonta

Так что не смотря на частично закрытую спецификацию, кроме этого сами владельцы МЦСТ хотят широкого проникания в массы.

Нет, не хотят. Иначе не стали бы ставить в условиях к доступу пункт о бесплатной работе на МЦСТ. Когда хотят продвижения в массы, организуют доступ на коммерческой основе, а не в виде исключения, после проверки входных данных и без кабальных условий. Это не интел с амд, процессор (в первую очередь) для закрытых военных проектов.

seiken ★★★★★ ()
Ответ на: комментарий от bonta

Этот пункт не может быть законным.

Это почему же? Какой закон он нарушает?

seiken ★★★★★ ()
Ответ на: комментарий от bonta

Иначе бы не было РокетОс

Он существует по доброй воле Microsoft, которые на него пока не подали в суд (а Oracle на Android подали и ещё неизвестно чем это кончится). Иногда мне кажется что ReactOS существует специально для того чтобы быть вечно поломанным и чтобы никто не написал рабочий клон Windows. Кажется что с нуля переписать было бы быстрее.

Макось(возможно)

Они что украли? Xerox Alto/Star?

Вайна

Примерно тоже что и ReactOS, только рабочее.

некоторых процессоров АМД допентиумных врёмен, когда Интел престал давать им лицензию

Там вроде бы что-то было про борьбу с монополиями.

X512 ()

Вау, круто. Поздравляю! У МЦСТ есть точная модель, но ее пользоваться как то не очень удобно. Уж лучше неточную как в qemu, но чтобы можно было свое ПО отладить.

abondarev ()
Ответ на: комментарий от X512

Рокет Ос разве не на основе Вайна работает (ну в том плане что они на основе его кода реализоваывали winapi)?

bonta ★★★ ()

Класс! Молодцы!

anonymous ()
Ответ на: комментарий от seiken

организуют доступ на коммерческой основе

Нормальные компании завозят новое оборудование бесплатно, типа просто «посмотреть», в рамках pr-акции.

anonymous ()
Ответ на: комментарий от bonta

Рокет Ос разве не на основе Вайна работает

Ядро и основа Win32 (win32k.sys и т.п.) там свои. wineserver в ReactOS не используется. От Wine в основном портируемые компоненты вроде кнопок, диалогов и notepad.exe. Они и в Windows работают.

Был проект ARWINSS который позволял запускать Wine в ReactOS с минимальными изменениями, не знаю работает ли он ещё, про него ничего не слышно.

X512 ()
Ответ на: комментарий от X512

ReactOS существует специально для того чтобы быть вечно поломанным и чтобы никто не написал рабочий клон Windows. Кажется что с нуля переписать было бы быстрее.

Если бы Linux не было, то Microsoft была бы 100% монополистом, а с Linux у них этих проблем нет …

Что касаемо ReactOS, то это типичный пример разработки «в свободное от работы время» /речь о темпе разработки/ …

Вроде и винить их не за что.
Спасибо и за то, что сделали.

Владимир 123

anonymous ()
Ответ на: комментарий от seiken

Ты что, правда никогда в лицензионном соглашении не видел пункт о запрете реверсинжениринга?

Чтобы свою собственную программу нельзя было реверсить ещё поискать надо такие соглашения.

Если кто не заметил, реверсировали не мцстшный компилятор, а результат компиляции им

anonymous ()

Сухарей уже насушили?

anonymous ()
Ответ на: комментарий от anonymous

Вроде и винить их не за что.

Есть за что. Многие другие проекты ОС вполне рабочие (Haiku, Serenity, ToaruOS, Redox), хотя в них было вложено намного меньше человеко-часов и про них знают меньше людей. В ReactOS пишут непроверенный ошибочный код, который потом непредсказуемо себя ведёт и всё падает. Лучше пусть будет поддерживаться меньше, зато что поддерживается работает железно. Также наблюдается карго-культ в доскональном подражании Windows даже если это не требуется для совместимости и решения в самой Windows не самые удачные (например графическая подсистема в ядре). Помимо ReactOS есть ещё SanOS, которая умеет запускать Win32 приложения, правда без GUI. Ядро там совсем не похоже на NT и частично UNIX-подобное.

X512 ()
Ответ на: комментарий от X512

Также наблюдается карго-культ в доскональном подражании Windows даже если это не требуется для совместимости и решения в самой Windows не самые удачные (например графическая подсистема в ядре)

Разработчики ReactOS вполне могли бы сделать гибрид Linux с Windows.
Зачем?
К примеру подсистему драйверов Linux могли бы использовать …

Проблема в том, что ни кому за бесплатно не хочется ни чего делать.
Была бы у этих ребят платить разработчикам, то и результат был бы.
А денег у них

Нэма

Владимир 123

anonymous ()

Респектище, ребят!

unfo ★★★★★ ()

Так, у нас тут недопиленное поделие, криво эмулирующее другое поделие, которое никто никогда не видел и не увидит. А чему все радуются и пишут спасибки?

anonymous ()
Ответ на: комментарий от anonymous

Проблема в том, что ни кому за бесплатно не хочется ни чего делать.

Поэтому надо идти по самому трудному пути чтобы точно ничего не получилось. Уже есть проект ndiswrapper по запуску драйверов NT в Линуксе. В Windows 98 - ME было совсем другое ядро (VMM.VXD) и при этом работали бинарники драйверов от NT. Это достигалось через специальный модуль ядра NTKERN.VXD аналогичный ndiswrapper в Линуксе.

X512 ()
Ответ на: комментарий от anonymous

А чему все радуются и пишут спасибки

Э с его отсутствием всяких затратных оптимизаторов в кремнии большой шаг в сторону сбережения экологии

alex1442 ()
Ответ на: комментарий от X512

Уже есть проект ndiswrapper по запуску драйверов NT в Линуксе

Не понял о чем вы?

В предыдущем посте речь шла о возможности использования подсистемы работы с драйверами от Linux в ReactOS.

Как не крути без реверсинга и подглядывания в исходники Windows разработчики ReactOS не смогут обеспечить возможность использования драйверов Window.
Если даже сумеют, то с лицензионностью как решить вопрос?

Владимир 123

anonymous ()
Ответ на: комментарий от a1batross

А у вас есть доступ к их эмулятору?

Реквестирую замеры производительности. :)

В этом на мой взгляд нет смысла. У них то что они называют математическая или логическая модель. Смысла в модели чисто процессорного ядра наверное не много. Я имею в виду для разработчиков ПО. Для нас куда интереснее увидеть как работает программа. Собственно когда мы в Embox занимались переносом системного ПО, попытались использовать и ни к чему полезному не пришли. О самом опыте написали в серии статей. Код лежит на github. Когда будет время, попробуем на вашем эмуляторе запустить :)

abondarev ()

эмулятор разработан двумя участниками нашего форума: @numas13 и мной.

А статью вам не пришьют какую-нибудь за доброе дело? Ведь известно же, что ни одно доброе дело не остаётся безнаказанным…

beck ★★ ()
Ответ на: комментарий от anonymous

Не понял о чем вы?

NDISwrapper. Он в основном для драйверов сети, но он реализует значительную часть интерфейсов ядра NT и может быть расширен для поддержки других типов драйверов.

Как не крути без реверсинга и подглядывания в исходники Windows разработчики ReactOS не смогут обеспечить возможность использования драйверов Window.

Смогут. API драйверов документирован. Да и смотреть в утёкшие исходники нет необходимости, достаточно отладки бинарников.

X512 ()
Ответ на: комментарий от ox55ff

Уверен, что и у Китая, и у Америки уже давно есть и заревершенная документация и свои процессоры функционально идентичные эльбрусу.

anonymous ()
Ответ на: комментарий от abondarev

Эмулятор его не запустит, у нас только linux-user. То бишь userspace только Linux бинарей.

Спасибо кстати за Embox и цикл статей. Они во многом нам помогли.

Было бы неплохо попробовать завести эмуляцию уровня ОС. Но тут есть затыки с пониманием как работает MMU и что нужно для загрузки ОС, как инициализируются железки и как вообще ОС должна узнать что подключено. Конечно ваши статьи как раз об этом, но тем не менее, смысл ли пытаться в эмуляцию ОС, если у нас не работал даже обычный код.

a1batross ★★★★★ ()
Ответ на: комментарий от bonta

Если урезать процу от AMD (который стоит на 1-2 порядка меньше) частоты, запретить jit (java, js, lua и прочие питоны), не использовать sse выше 2 и совсем не использовать avx, то да в однопотоке он будет медленнее. И то не факт, учитывая что результаты бенчмаркинга можно выкладывать только согласованные с МЦСТ ;)

robus ★★★★ ()
Последнее исправление: robus (всего исправлений: 1)
Ответ на: комментарий от anonymous

Уверен, что и у Китая, и у Америки уже давно есть и заревершенная документация и свои процессоры функционально идентичные эльбрусу.

Это так же верно и в отношении версий эльбруса о которых никогда публично не сообщалось.

anonymous ()
Ответ на: комментарий от anonymous

и свои процессоры функционально идентичные эльбрусу

Им то они нахрена? Типа американское правительство не доверяет IBM, Intel и AMD?

anonymous ()
Ответ на: комментарий от X512

Смогут. API драйверов документирован. Да и смотреть в утёкшие исходники нет необходимости, достаточно отладки бинарников.

В давние времена пришлось мне поработать с М-6000, СМ-1М, СМ-2М, ССО, … Так вот руководство для системного программиста было по существу письменным пересказом логи системной части.
В таком случае «да», можно было разработать а-ля ядро ОС, скажем для СМ-2М.

16KB для компилятора с Pascal /добротного/ и бездна памяти /16KB/ для программы.

ОС не умела многозадачность в разделе. Сделал!
Собственно это был загрузчик obj файлов + …

PS: Проблема не в том «Как сделать», а где взять хорошую документацию.

Владимир 123

anonymous ()
Ответ на: комментарий от pingvinek

Судя по «шапке» фида реверса, как такового, не было

anonymous ()
Ответ на: комментарий от anonymous

и свои процессоры функционально идентичные эльбрусу

Им то они нахрена? Типа американское правительство не доверяет IBM, Intel и AMD?

Как вариант - при необходимости смогут выпускать (военную) технику полностью идентичную российской для поставки в третьи страны, по ценам ниже российских.

anonymous ()
Ответ на: комментарий от anonymous

Как вариант - при необходимости смогут выпускать (военную) технику полностью идентичную российской для поставки в третьи страны, по ценам ниже российских.

Бгагага! С какой стати клон иностранного процессора удешевит разработку? И самое главное, нафига ее удешевлять DoD, когда выгодно наоборот удорожить?

seiken ★★★★★ ()

отечественной архитектуры процессоров Эльбрус 2000.

с каких пор оно отечественное?

anonymous ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей