LINUX.ORG.RU

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

 , , ,


7

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)
Ответ на: комментарий от VIT

актуарная математика как пример почему оценка от и до хоть и «плоха» да позволяет интервальное размеривание

вроде как наука на том и построена: с не вполне адекватных входных данных извлечь инфу через обнаружаемые закономерности

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

Фактически Bochs - это интерфейс соединения компонет.

Авторы определяют его несколько иначе «Bochs is a portable IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.»

Для простоты, он содержит в себе «стандартные» компоненты, но в этом и его сила. Можно делать совершенно безумные вещи, например определить двя ядра, один от Xeon Skylake, один от NVidia Grace. При этом нужно только соединить интерфейсы, которые могут быть с точностью до цикла, а могут и не быть.

С такой постановкой задачи конечно, нужно всего лишь реализовать микроархитектурную модель … чего угодно, так? И потом сынтегрировать ее со всей остальной (функциональной) хреновиной? Есть ли примеры чтобы кто-нибудь реально такое сделал на основе Bochs?

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

Авторы определяют его несколько иначе

Да, верно. При этом изначально для 286 он был точным.

It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS

а если его соединить с подсистемой памяти, то он уже будет system-level emulator.

нужно всего лишь реализовать микроархитектурную модель … чего угодно, так?

Так. Не чего угодно, а чего нужно cycle-accurate. Обычно всего не нужно. Если всё, то это будет дорого, долго, трудно.

И потом сынтегрировать ее со всей остальной (функциональной) хреновиной?

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

Есть ли примеры чтобы кто-нибудь реально такое сделал на основе Bochs?

Да, есть. Мы в своё время использовали комбинацию Bochs, mambo, и ROSE, каждый для разных компонент моделирования.

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

Да, есть. Мы в своё время использовали комбинацию Bochs, mambo, и ROSE, каждый для разных компонент моделирования

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

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

Да, круто. Мне есть чем гордиться, правда это результат работы большого коллектива людей из нескольких огрганизаций, но всё равно. Типа «мимо крокодил».

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

всякое проприетарное около-ML железо.

phoenix ★★★★
()

Нужна пояснительная бригада из МЦСТ

Вот в этом документе на странице 2 написано что ТБВ это 128битный дескриптор, и для «наглядности» приводится три одинаковых блока адресс+база+смещение которые никак на 128 не делятся.

Это не говоря уже о том что в каждом докладе кого-то из мцст этот дескриптор рисуют и описывают по разному.

Но на странице 3 вообще вместо дескрипторов два адреса - Address-Low и Address-High по которым, как я понимаю, вычисляются границы объектов на манер плюсовых итераторов, Ну и теги у них 4бита на каждый лонг вместо 2ух на каждый ворд.

Я правильно понимаю что вот эта система сейчас актуальна, а дескрипторы это теперь легаси? И с каких моделей вот этот улучшенный режим поддерживается?

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

C Olivetti Digital когда-то корифанился. Первые персоналки от DEC — это перебрендированные Olivetti были на европейском рынке. Я за такими работал и удивлялся красоте дизайна. А потом мне пояснили, кто там дизайном занимался. Итальянская машина может плохо ехать, но не быть красивой она не может. :) Персоналки, кстати, хорошо работали.

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

Итальянские Olivetti, кстати, тоже были.

Ты бы еще Правец с Мазовией вспомнил. Впрочем, что в Olivetti, что в перечисленных мной были или оригинальные Intel, или их советские клоны.

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

Не Макс, это ж 1994-1998. Нормальные 486е DX2, потом пентиумы. У нас такие в Анкее стояли в качестве рабочих мест. Ну, типа, шо продавали, то и имели.

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

для «наглядности» приводится три одинаковых блока адресс+база+смещение которые никак на 128 не делятся.

Документ на который вы ссылаетесь не читал, но адрес 64 бита, размер и позиция по 32 бита. Адрес - это адрес начала массива, если добавляете число к 128 бит адресу, то оно добавляется к позиции (или базе как они называют), 64 бит адрес и 32 бит размер при этом не меняются.

И с каких моделей вот этот улучшенный режим поддерживается?

Не знаю что вы называете улучшенным, режим с 128 бит указателями (ака защищённый) был всегда. Но эмулятор только 64-бит режим эмулирует.

jpegqs
()
Последнее исправление: jpegqs (всего исправлений: 2)
Ответ на: комментарий от sparkie

Ну британских процессоров нет в природе.

Была такая славная британская компания ARM, потом пошла по рукам. Про железо, была такая славная британская компания Inmos. Слишком опередила своё время.

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

...Правец с Мазовией...

Не, эти девайсы прошли мимо меня. Клоны Intel'ов там были.

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

Не Макс, это ж 1994-1998. Нормальные 486е DX2, потом пентиумы. У нас такие в Анкее стояли в качестве рабочих мест. Ну, типа, шо продавали, то и имели.

Уверен? Я видел только клоны PC/XT от Olivetty, разве они дожили до 486/Pentium?

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

Абсолютно! См мою ссылку выше. И вообще, партнерство Olivetti и Digital — история известная.

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

Слишком сложный и большой, но да, много можно сделать. Чаще всего используется для моделирования потребления энергии, а не производительности.

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

Вы мне сейчас напомнили, что при проектировании той штуки, которая потом была известна под названием 3DXpoint, мы использовали Gem5. Там были жёсткие ограничения по электрике и тепловыделению, поскольку планировалась как совместимая с форм-фактром DRAM. Оптимизацию проводили в симуляторе.

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

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

Кто-то готов жертвовать производительностью в 2 раза. Кто-то в 5. А вот в 10+ - не готов ни кто.

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

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

Блин, указаны, ага. Да вы в жизни не просчитаете динамику системы наперёд, и не узнаете, где случится кеш мисс, а где - нет.

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

Именно поэтому самым популярным ЯП является известный своей резвостью Питон.

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

Да хоть 20+, если задачу решает.

В смысле, решает? Например, до этого задача решалась под нагрузкой от 1000 клиентов одновременно, а теперь - от 100. Или от 50. Задача решена?

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

Нет. А если до этого задача решалась, но с закладками, но теперь решается, по без закладок, задача решена.

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

Задача решена?

А у вас точно есть тысяча клиентов одновременно или вы просто мечтаете?

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

Нет. А если до этого задача решалась, но с закладками, но теперь решается

Так «нет» или «но теперь решается»?

по без закладок, задача решена.

ПО без закладок тут вообще не при чём. А кроме того, я уже объяснил, что материнки без BMC у нас давно уже делают, в тд и для интелов.

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

эммигранту с тридцатилетним стажем

Это какое-то новое развитие мема про инженера с тридцатилетним стажем?

i-rinat ★★★★★
()
Ответ на: комментарий от anonmyous

А если до этого задача решалась, но с закладками, а теперь решается, но без закладок, задача решена.

Если нет bmc, то и закладок нет, действительно (на самом деле нет).

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

Вы мне всё больше напоминаете Doom, где стоишь в укрытии, вроде мочешь клоунов, а они всё лезут и лезут. Ну есть же для вас куча тем и про ноутбук повыбирать, и про майкрософт, и про ИИ штук пять. Ну куда вы лезете со своим школьным юмором в тему про эмуляцию процессоров?

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

А если до этого задача решалась, но с закладками, а теперь решается, но без закладок, задача решена.

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

Если нет bmc, то и закладок нет, действительно (на самом деле нет).

Биос тоже делают свой (на основе АМИшных СДК, но тем не менее).

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

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

Далеко не все задачи включают в себя обслуживание большого количества людей.

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

Далеко не все задачи включают в себя обслуживание большого количества людей.

А ничего что эльбрус позиционируют как серверный проц?

anonmyous ★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)