LINUX.ORG.RU

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

 , , ,


5

4

МЦСТ выпустила эмулятор QEMU для архитектуры E2K. Теперь программы для Эльбруса можно запускать на компьютерах с архитектурой x86‑64. Это откроет платформу для профессионалов, исследователей и энтузиастов, а также упростит разработчикам сборку и тестирование ПО.

Эмулятор qemu-e2k обеспечивает возможность, используя операционную систему семейства Linux запускать прикладные программы для операционных систем семейства Linux в машинных кодах Эльбрус (e2k) на компьютере архитектуры x86-64.

Предполагаемые сценарии использования эмулятора:

• Запуск готовых программ в машинных кодах процессоров Эльбрус для ознакомления с возможностями архитектуры и программной экосистемы, без использования физического оборудования с процессорами Эльбрус;

• Запуск компилятора для архитектуры Эльбрус в нативном окружении (в двоичных кодах процессоров Эльбрус), но на процессорах с архитектурой x86-64, без использования кросс-компиляции;

• Локальная или распределённая сборка на серверах с архитектурой x86-64 дистрибутивов операционных систем в машинных кодах процессоров Эльбрус, также без использования кросс-компиляции.

Подробное описание возможностей и ограничений первой версии эмулятора приведено в «Руководстве пользователя».

https://git.openelbrus.ru/mcst/qemu

Скачать материалы можно на сайте для разработчиков в разделе «Загрузки».

https://dev.mcst.ru/download/

QEMU — это универсальное средство эмуляции различных процессорных архитектур, а также средство запуска виртуальных машин (гипервизор). Для каждой целевой архитектуры предусматривается 2 варианта эмулятора:

  1. qemu-system — эмулятор уровня системы, позволяющий запустить целую операционную систему, такую как Linux;

  2. qemu-user (он же qemu-linux, он же просто qemu) — эмулятор уровня приложений, позволяющий запустить гостевое приложение внутри хозяйской операционной системы (Linux).

На данный момент поддержка архитектуры Эльбрус реализована во втором варианте — на уровне прикладных программ Linux; ведется работа над эмулятором уровня системы.

>>> Исходные тексты QEMU от АО "МЦСТ"



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Я правильно понимаю, что при эмуляции эффект от оптимизации кода под VLIW эльбруса не получится оценить даже примерно?

Smacker ★★★★★
()

Интересно наоборот, мне удавалось запускать x86 Qt и GTK программы на E2K, но совсем простые. Net core только в текстовом режиме, графика так и не заработала, а это было самое нужное тогда от этого net core

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от Smacker

Мне кажется это проблематично даже для традиционных архитектур в рамках QEMU. А в данном случае в режиме «работает хоть как то и за это спасибо»

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Эльбрус поддерживает, как запуск х86-64 приложений посредством двоичного транслятора RTC

http://mcst.ru/RTC

Так и запуск х86-64 операционных систем посредством двоичного транслятора Lintel

http://mcst.ru/Lintel

На Эльбрусе запускали Windows и игру Atomic Heart из под неё на различных видеокартах от AMD Radeon, Haiku OS, EndeavourOS, Android 9, QP ОС и различные х86-64 приложения.

IvGrad
() автор топика
Ответ на: комментарий от I-Love-Microsoft

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

Smacker ★★★★★
()

А, если Альт или что-нибудь подобное публично доступное встанет то наверное можно обратно патч под e2k в cinelerra-gg добавить

Andrew-R ★★★★★
()
Ответ на: комментарий от IvGrad

«Пакеты из данного репозитория недоступны для загрузки - для получения информации о доступе к пакетной базе вам нужно связаться с вашим поставщиком аппаратных решений Эльбрус.»

Andrew-R ★★★★★
()

Как этот процессор стартует, чтобы Firmware выполнялось в его родной архитектуре? Есть ли для этого нативный код UEFI, или как оно вообще запускаться должно?

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

В этом году открыли

А, так может wiki подправить?

Поскольку почитав ноовсть вижу что это user а не system эмуляция, наверное какой-то минимальный «а-ля контейнер» образ фс для развертки в chroot не помешал бы?

Andrew-R ★★★★★
()
Ответ на: комментарий от IvGrad

the widespread falsehood in the fall of 2024, spread by the capital’s tabloid media, that the company had become defunct after being placed under external management

Да, я смеялся очень громко и от души. Хороший оборот речи, увы дискутирование капиталистической реальности современной Ру быстро скатится в танцпол.

Andrew-R ★★★★★
()

Праздник в отделе аналитиков в Ленгли, Вирджиния.

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

Примерно оценить можно глядя в ассемблер сгенерированный кросскомпилятором.

А в эмуляторе только проверять ядра, драйверы, прошивки, загрузчики - все то что через удаленный доступ нельзя протестировать при всем желании.

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

Там фирмварь как на сановских компах и повермаках.

Только сановский OpenBoot был написан на языке forth вроде бы, а у Эльбрусов реплика на языке Си.

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

Ты хоть читай иногда на что ссылки даешь:

Графический интерфейс для приложения на .NET Core может быть реализован следующими способами:

    Создание приложения в модели ASP.NET Core и отображения клиенту интерфейса через произвольный браузер;
    Использование Electron для отображения интерфейса. Это придаст приложению свойства десктопности (отдельность в панели задач, нахождение в трее при необходимости, взаимодействие с операционной системой);
    Использование Avalonia (свободный межплатформенный GUI для .NET);
    Использование проекта electron-edge, выполняющего .NET и Node.js в одном процессе в Electron. На данный момент проект поддерживает только старую версию .NET Core 1.0 и не рассматривается.
    Использование связки с одной из существующих библиотек:
        Qt
        libui, реализующей GUI нативными средствами на каждой платформе (похожа на упрощённый wxWidgets):
uin ★★★
()
Ответ на: комментарий от Smacker

Больше, чем может физический камень, из эмулятора ты выжать не сможешь

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

ждём массового производства когда-нибудь.

И будет оно в 2030-м году по нормам 130нм,
как у Pentium III (Tualatin).

Если у вас компьютер мощнее уже сейчас, будете ли вы переходить?

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

Я как энтузиаст куплю обязательно. Даже по норме 130нм и как пентиум 3. Так даже интереснее будет, если на российском фабе будет произведено, а не на SMIC. Главное чтобы это поскорее превратилось из бесконечных статей в интернете в реальное железо.

компьютер мощнее, переходить

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

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

уже тогда можно было делать

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

Зачем это всё, если свободно на российском рынке продаются китайские лонгсоны, к которым есть весь тулинг.

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

Это всё реклама, а не розничные продажи. Вот когда оно будет на yandex market, ozon и avito, а так же во всех компьютерных магазинах (nix, dns, regard и т.п.), тогда будет о чём говорить

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

Процессоры из-за этого как-то неправильно считают?

Aceler ★★★★★
()

Кто живет в Новосибирске - может посетить музей вычислительной техники Дмитрия Бачило (местный ретро-техно-блогер) в Академгородке и там пощупать 8СВ (если я правильно помню).

jpegqs
()
Последнее исправление: jpegqs (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.