Эльбрус/faq
ЧаВо по Эльбрусу
ликбез
Зачем нужен этот ваш Эльбрус?
A: Это лучший российский процессор, причём мирового уровня.
Если "слышали, что это тупик" -- внимательно почитайте ответ специалиста: Процессор Эльбрус — почему статья о тупике несостоятельна (автор -- компиляторщик).
A: Эльбрус хорошо решает математические задачи ввиду ряда архитектурных особенностей.
- На мат. задачах можно хорошо утилизировать исполняющие устройства при помощи компилятора, т.е. забивка ШК получается очень плотной.
- Там, где это возможно, применяется устранение переходов при помощи предикатов, что позволяет не терять лишнего времени на факт перехода.
- Для циклов существуют специальные средства аппаратного ускорения. Например, аппаратный счётчик итераций, который не только освобождает одно устройство, но и позволяет генерировать специальные команды работы с памятью.
- Асинхронная подкачка данных (APB) -- специальные устройства, позволяющие параллельно с основным потоком исполнения качать данные из памяти, чтобы потом не сидеть на ожидании данных.
Всё это позволяет делать "накрутку" -- специальную версию конвейеризации цикла с аппаратной поддержкой (хотя, разумеется, всё это используется и по отдельности в разных комбинациях).
Соответственно, когда я говорил про то, что ассемблер не предназначен для людей, в том числе я имел ввиду и эти возможности, для использования которых человек не очень подходит. Даже если не брать эти возможности, просто представьте, что у нас есть 32 предикатных регистра, т.е. результат 32 ветвлений можно слить в линейный код и нужно весь этот код раскидать для оптимального исполнения на 6 АЛУ с учётом всех правил планирования. А это сложно сделать даже просто для обычного кода. Разумеется, бывают случаи, когда человек расставит инструкции более оптимально, но это крайне редкий случай, хотя на практике встречается.
A: Вообще разговор не то чтобы #флуд, но такой... Perestroyechniy. "Давайте продавать нефть, а остальное купим! Смотрите, у них машины, одежда, сникерсы лучше наших".
А потом оказывается, что очень много лишних людей, которые умеют что-то высокотехнологичное, ненужное в этой стране, и уезжают.
Вопрос "зачем нам нужен Эльбрус" можно схлопнуть до бизнесового "чтобы хорошо ронять на тендерах IBM". И если для такой конкуренции нужно 30 000 Эльбрусов купить втридорога — посчитайте, пара инсталляций межделмаша со скидкой их окупит.
A: Очень хороший вопрос, я тоже не знаю[1]. Просто вижу факт: из каждой щели прут такие заявления. И весьма достают эти диванные теоретики. Ну или что-то в духе: криптография - одна из редких задач, в которых Эльбрус может быть хорош. Ребят, очнитесь, шифры всю жизнь разрабатывались на последовательную обработку, чтобы криптоанализ ничего не дал. И только самые современные начали больше думать и о скорости. Но опять же, это только про зарубежные алгоритмы. ответ Дмитрия Щербакова
Почему процессор называется российским, если всё делается за рубежом?..
A: Современная индустрия движется к очень небольшому количеству фабрик: чем меньше технологический процесс, тем дороже оборудование; при этом мощности такой фабрики может хватить на половину всего мирового спроса. Услугами TSMC и Samsung пользуются те же Apple, NVIDIA, AMD.
A: Самое главное -- кто спроектировал микросхемы. Если мы, то можем переходить с одной фабрики на другую.
A: Процессор «Эльбрус», южный мост к нему и сама плата под процессоры разрабатываются в Москве, имеется соответствующее подтверждение на сайте Министерства промышленности и торговли Российской Федерации. Поверхностный монтаж плат тоже производится на заводах внутри страны. imaxai
A: Что касается ПО, то очень существенную часть мы делаем сами (это в первую очередь компилятор, порядка 2 млн строк кода); кроме того, сотни тысяч строк кода вносим в ядро Linux, чтобы работало на процессоре Эльбрус; а где возможно, берём свободное ПО, которое развивается всем миром, в том числе и российскими программистами. Здесь важно то, насколько удаётся обеспечить собственный цикл поддержки этого ПО; мы сами развиваем ОС Эльбрус (Эльбрус Линукс). Alexanius
Почему бы не лицензировать x86?
A: Например, потому, что его больше не лицензируют.
A: Зачем лицензировать тупиковую систему команд, даже если наиболее популярную на нынешний день? CISC-процессоры давно стали RISC-ядром со сложнейшим декодером CISC-команд, занимающим до половины кристалла; в МЦСТ и тут подошли творчески, реализовав слой совместимости с x86 программно.
A: Это был бы примерно тот же путь копирования, что и избранный в СССР -- только со "следованием в кильватере" не физического устройства микросхем, а развиваемой другими системы команд; в любом случае такой путь задаёт судьбу догоняющего по определению, притом не из лёгких -- универсальные процессоры ныне являются крайне сложными устройствами, технологии которых, как правило, не предназначены для передачи третьим сторонам. Даже если бы кто-то лицензировал старый дизайн, разбираться в нём можно долгие годы (и то не до конца) -- а до того, чтобы как-то развивать, прошло бы лет десять; за этот срок создатель дизайна уйдёт далеко вперёд.
A: Сюда же сравнивающим с "Итаником" (Itanium): интеловые политические разборки и вечный NIH-синдром, в отличие от воровства людей и наработок -- проблемы Intel, а не МЦСТ.
A: Вариант "почему бы не заняться RISC-V" упирается, как обычно, в кадры (полюбуйтесь сами, в какие).
Так Эльбрусов же теперь не будет из-за поддержки TSMC американских санкций?
A: да, TSMC приостановила выполнение производственного контракта; из юго-восточных вариантов теперь -- китайская фабрика SMIC (для которой понадобится переработать физдизайн, но не сам процессор), да и Тайвань может наконец вернуться в родную гавань.
A: в России разрабатывается технология безмасочной рентгеновской литографии.
А что такое "в нативном режиме"?
A: Это значит, что не используется эмуляция х86, что приложение скомпилированно именно под Эльбрус. (@elbrus_pc_test)
применение
Интересно, где используется Эльбрус?
A: Изначально -- в оборонке, что его и спасло от небытия в угоду копированию по решению политиков 1967 года; в наши дни -- уже много где, но по сути пока в госсекторе и госкорпорациях:
Как перенести свои программы на Эльбрус?
Q: Что учитывать в начале разработки, чтобы потом проще было портировать? На каких языках писать, какие существующие библиотеки использовать?
A: Чтобы писать программы, которые хорошо портируются на Эльбрус, надо не завязываться ни на одну конкретную платформу; на сегодня написанное кроссплатформенно на языках C и C++ скорее легко переносимо и на e2k (при условии, что уже перенесено на Linux без привязки к каким-либо закрытым библиотекам). Важно, чтобы не было [безусловных] ассемблерных вставок или других сильно зависимых от архитектуры фрагментов кода. Кроме того, см. раздел "Программное обеспечение" на сайте МЦСТ, где доступны списки пакетов ОС Эльбрус (и страничку порта ОС Альт), и Руководство по эффективному программированию на платформе «Эльбрус».
A: Например, хорошо переносится ПО с применением библиотек Qt и/или РСУБД PostgreSQL.
A: Перенос программ на JavaScript, Java, C# возможен, но особенности архитектуры VLIW делают более выгодным с точки зрения производительности применение кода, спланированного к выполнению на этапе компиляции, а не байт-кода (в т.ч. и при наличии портированного JIT-компилятора). В ещё большей мере это относится к интерпретаторам скриптовых языков.
Как приобщиться к ассемблеру e2k?
Поизучать можно на данном экземпляре Compiler Explorer; а ассемблер в сишный код добавлять не надо, лучше для этого применять интринсики (x86 или e2k). Эльбрус не предполагает использование ассемблера для разработки, это задача компилятора -- заниматься низкоуровневой оптимизацией.
Для кого Эльбрус Линукс, PDK? Чем отличается x86-версия?
A: Коммерческий дистрибутив ориентирован на компьютеры архитектуры Эльбрус и SPARC, а бесплатный вариант для x86_64 является лишь бонусом, который можно использовать в инструментальных целях. Как самостоятельная система для повседневного использования на x86 в качестве основной ОС этот бесплатный дистрибутив не позиционируется.
A: ОС Эльбрус [она же Эльбрус Линукс] — это та площадка, на которой в первую очередь обкатываются все технологические новшества: ядро, компиляторы, трансляторы и интерпретаторы, библиотеки, веб-браузеры (сейчас браузеры по сложности сопоставимы со всей остальной ОС); только после этого данные технологие перекочёвывают в другие ОС.
A: Набор разработчика платформы «Эльбрус Линукс» (PDK) — исходные коды, патчи, инструменты сборки. Да, PDK стоит немалых денег, потому что его целевая аудитория — коммерческие разработчики собственных ОС, и в цену заложена техническая поддержка.
A: Как вы можете прочитать на странице описания Эльбрус Линукс, данная система не базируется [на] Debian — общего у них только формат установочных пакетов и, возможно, некоторое пересечение по методам настройки со старыми версиями Debian. <...>
A: Что фактически меняется при переходе от одной версии Эльбрус Линукс к другой — в первую очередь это версия ядра Linux и версия компилятора и его базовых библиотек, потому что ядро даёт драйверы современного оборудования, а оптимизирующий компилятор является такой же частью платформы Эльбрус, как система команд процессора, и позволяет повышать быстродействие программ без изменений в аппаратуре. Остальные компоненты операционной системы меняются по мере необходимости: например, в версии 6.0 был значительно обновлён графический стек <...>
доступность
Может, пора уже пойти в народ? Возможно ли это на данном этапе или нет и почему?
A: Давно пора, давно... ещё в прошлом году было уже время, как по мне.
Прямо сейчас "выходу эльбруса в народ" мешают в первом приближении два фактора, насколько знаю:
- себестоимость (изготовление и корпусирование СБИС в мелких партиях -- это *дорого*, изготовление плат и систем на них в количествах порядка ста штук -- тоже слишком ручная работа);
- NDA.
Последнее обусловлено не только МЦСТ (по любым причинам) -- с причастными третьими сторонами мы вместе работаем, но там не всё так просто и быстро, как хотелось бы (хотя самая инертная, казалось бы, сторона как раз пошла навстречу). Здесь маячком будут дальнейшие новости от МЦСТ по части системы команд и PDK -- а сейчас и мне как частному лицу продать не могут, хотя уже созрел купить домой. mike@
Тем не менее сильно желающие могут оформить/задействовать ИП и обзавестись "Эльбрусом" уже сейчас при помощи компании Промобит.
Ну а по первому... оценки, которые я видел -- стоящий сейчас триста с хвостиком тысяч 801 можно продавать по 70--80 т.р., если изготавливать в партиях порядка 10 тысяч штук (одноядерник, сейчас стоящий примерно вдвое дешевле -- ниже 50, соответственно). Это ещё далеко не ценовая конкуренция с x86, но уже гораздо ближе к ней даже не по меркам военных (насколько знаю, один доверенный BIOS выдать на-гора -- ещё та часть затрат, не говоря о малотиражном же исследовании чипов).
Количество заказанных на 2022 год процессоров 8СВ -- порядка двадцати тысяч.
A: Практически -- возможно!
Когда уже будет 16С с виртуализацией?
A: Инженерные образцы микропроцессора "Эльбрус-16С" по состоянию на октябрь 2020 года получены; завершение разработки по плану -- декабрь 2021 года, тогда же были получены и первые инженерные платы.
A: тем временем Ростелеком задокументировал применение LXC на ОС Эльбрус (см. тж. эльбрус/lxc).
Qemu?
Q: Как запустить e2k-код на x86?
A: Есть потактовая модель уровня процессора и есть эмулятор уровня операционной системы. Совсем медленные, поскольку накладные расходы на эмуляцию VLIW-процессора огромны. Годятся только для отладки.
A: См. тж. экспериментальные патчи к QEMU (анонс).
Можно ли получить оборудование на пробу? А бесплатно?
A: Доступ -- да; юрлицом и обычным человеком.
A: Более длинная версия ответа (см. тж. копию в комментарии в исходнике этой вики-страницы).
железо
Зачем ECC-память на не-сервере?
A: на рабочих станциях вообще-то тоже применяется нормальная память (и в больших объёмах); но главное тут то, что встроенный в процессоры "Эльбрус" контроллер памяти помимо эффективной кодировки ECC хранит в дополнительных девятых битах ещё и информацию о тегировании областей памяти для защищённого режима -- контроллер памяти работает блоками по 256 бит данных (32 байта) + 16 тегов для них за раз; и уже весь этот блок защищён 10-битным корректирующим кодом.
Почему только Radeon?
вопрос пользователя crypt
A: на чём-то надо было остановиться в качестве видеоакселератора, а для Radeon есть свободные драйверы приличного качества (nouveau от них отстаёт, хотя между закрытыми драйверами для видеокарт ATI/AMD и NVIDIA сравнение выходит ровно противоположное.
A: уже не только, на свежих выпусках OSL 5+ и ALT 9+ поддерживается и драйвер nouveau; на некоторых картах получают неплохие результаты.
Почему не сокет?
A: начнём с решаемой задачи: сокет позволяет использовать один процессор с разными материнскими платами, а с одной материнской платой -- разные процессоры; ввиду существенных различий между поколениями процессоров "Эльбрус" (версии чипсета, поколение DDR...) и высокой надёжности оборудования польза представляется минимальной.
A: сокет -- вовсе не такая простая и дешёвая штука, которой может показаться на первый взгляд, соответственно его разработка и создание небольшим тиражом лишь увеличило бы и без того немалый ценник.
Теплораспределительная крышка припаяна к кристаллу или на термопасте?
A: теплопроводящий клей.
Защита от перегрева есть?
A: есть, есть -- 8С на 1300 МГц без радиатора (в миллиметре от него) примерно через минуту отключает.
Как температуры-обороты смотреть?
A: установив пакет lm_sensors3 и запустив команду sensors-detect; также может быть полезно добавить в автозагрузку (/etc/modules) модуль l_pcs (8С, 8СВ) либо pcsm_drv (v6) для снятия температуры ядер процессора. (тж. здесь)
разное
Почему при работе ntpd сильно уходит время?
A: непонятно, но замечено, что так "работает" openntpd; рекомендуем chrony, с ним всё хорошо.
Есть ли в репозитории wine?
A: wine имеет смысл портировать и собирать на платформах, для которых существует порт Windows (и соответственно приложения для него) -- например, WINE для x86_64 умеет запускать только win64-приложения, аналогично для ARM; поскольку на e2k не существует такоо ABI и приложений, то и "родной" wine не имеет смысла. При необходимости запускать именно Windows-приложения на ВК "Эльбрус" можно воспользоваться бинарным транслятором либо в виде связки rtc+wine, либо в режиме "вся машина" (lintel).
Как подключить EPEL?
A: подключать есть смысл репозитории, подходящие для применяемых дистрибутива и платформы; по состоянию на январь 2020 года RHEL и соответственно EPEL для платформы e2k не наблюдается (равно как и Ubuntu+PPA или openSUSE+OBS).
Интересно, а очень сложно будет в Gentoo добавить поддержку e2k?
A: здесь нашла коса на камень. В Gentoo фундаментальным принципом сообщества является социальный контракт, где сказано:
Gentoo will never depend upon a piece of software or metadata unless it conforms to the GNU General Public License, the GNU Lesser General Public License, the Creative Commons - Attribution/Share Alike or some other license approved by the Open Source Initiative (OSI).
А единственный компилятор под Эльбрус — lcc — проприетарный и в обозримом будущем его никто открывать не будет. Это плохо, но разработчиков компилятора и процессора тоже можно понять, т.к. там слишком низкоуровневые вещи зашиты, что-то вроде микрокода intel/amd, который тоже никто открывать не собирается.
Будет ли процессор 16СВ с векторными расширениями?
A: Нет; есть процессор Эльбрус-16C шестой версии архитектуры e2k, которая включает в себя все возможности пятой версии.
При этом Эльбрус-8СВ (v5) хотя и весьма близок к Эльбрус-8С (v4): те же восемь ядер, схожая тактовая частота -- но отличается не только 128-битными регистрами и соответствующими векторными операциями; собственно, поэтому он и v5, а не "v4+avx" или вроде того.
То есть "16СВ" не стоит в планах по той простой причине, что появившиеся в e2kv5 векторные операции входят и в систему команд v6, которую поддерживает штатный 16С.
Как справиться с потерями пакетов или артефактами шрифтов на 802 материнской плате?
A: Добавьте iommu=no-numa-bug в cmdline для текущего ядра в /boot/boot.conf -- проверено как с 10GE, так и с R7 240.
Куда девается изображение на экране при загрузке 901-РС с установленным Radeon?
A: Если бут сконфигурирован выводить через ASPEED или "автоматом" (когда смотрит, куда подключен монитор) -- то изображение пойдёт через встроенный VGA-выход; при этом если к Radeon подключен монитор при загрузке, то инсталятор сочтёт его приоритетным и запустит графику именно на нём. Соответственно стоит либо сконфигурировать бут на применение дискретной видеокарты (см. get video output в расширенном режиме), либо подключить монитор только к Radeon, а с прошивкой работать через COM-порт, либо же подключить по монитору или входу KVM к обеим видеокартам на время установки.
Что значит буква "С" в наименовании "Эльбрусов"?
A: Когда-то С было от "система на кристалле". Потом оставалось по традиции.
Можно ли сконфигурировать автозапуск машины при подаче питания?
A: Да; в расширенном меню ПНС (нажать тильду ~ после пробела для остановки автозагрузки) выполнить get pbs и командой set pbs [0/1] выставить противоположное значение (в части версий описание значений перепутаны).
A: Да; спросите у поддержки, каким именно DIP-переключателем, предоставив модель и серийный номер используемой платы.
Как получить видео на инженерке 2С3?
A: поставьте вторую планку памяти (по штуке на канал), если ещё не побороли.
Почему прыгает clocksource?
clocksource: Switched to clocksource lt clocksource: Switched to clocksource sclkr clocksource: Switched to clocksource lt clocksource: Switched to clocksource sclkr
A: есть такой нюанс и для многопроцессорных машин мы добавляем sclkr=no в cmdline в boot.conf при возникновении таких скачек.
А у сотрудников МЦСТ есть возможность "залезть" в любой комп с процессором Эльбрус?
Ссылки
- «Без этого мы не страна», интервью «Эксперту» (интервью с А.К. Кимом, PDF)
- Часто задаваемые вопросы об ОС «Эльбрус»
- Телеграм-канал e2k_chat
- Форум сообщества «Эльбрус»
- Неофициальный сайт Максима Горшенина
- Открытая халява и бесплатный сыр (Касперская, Ашманов) проблемы и риски изложены весьма трезво и точно; "китайский вариант" и впрямь похож на оптимальный // mike@
- Разбор некоторых мифов про «Эльбрус» (2019, но в целом актуально и в 2022)
- Несколько непривычных для русофобов фактов про российские процессоры Эльбрус (ЧаВо "на пальцах")
- Домашняя страничка со ссылками одного из владельцев домашних эльбрусов
- Ещё страничка со ссылками
- Отечественные ассемблеры Эльбрус и 1879ВМ6Я
- Самое большое творческое удовлетворение это то что эльбрус, как платформа и как система работает
- Он может всё. Игры на процессоре «Эльбрус» (неожиданно вдумчивая и грамотная статья по теме // mike@)
- Что такое процессор “Эльбрус”? (блог компании Trueconf)
- Статьи о домашнем "Эльбрус-16С": "против и за", "как собирал и как было надо"
- Морис Шалон. Эльбрус-8С. Кремниевые секреты
- На ПК с российским процессором «Эльбрус» запустили S.T.A.L.K.E.R. и Counter-Strike
- Материалы конференции Elbrus Tech Day 16–17.02.2021
- О развитии российских аппаратно-программных платформ и совместимого ПО
- Все материалы по процессорам Эльбрус
- Микропроцессор Эльбрус - база знаний
Видео
познавательное:
- Ликбез по Эльбрусу / Константин Трушкин (МЦСТ) (слайды)
- К. А. Трушкин: "Процессоры и человечество. Русский процессор "Эльбрус"
- Альт на Эльбрусе (доклады на конференциях)
- Лекция Михаила Шигорина "Отечественный компьютер Эльбрус" (ВятГУ)
- Студенты познакомились с отечественным компьютером "Эльбрус" (КубГУ)
- Компьютерный процессор "Эльбрус" тестируют новосибирские программисты (репортаж на "Россия 1" из компьютерного музея Дмитрия Бачило)
- Видеозапись докладов на Elbrus Partner Day (страничка конференции)
художественное:
- «МИРУ-МИР» (Короткометражный фильм) 2017 Flamepart
аналитика:
обзоры:
- Тесты и игры на "Эльбрусе": Elbrus PC Test, Дмитрий Пугачёв (слово BitBlaze), Играем в "RoboCop: Rogue City" на ПК с процессором Эльбрус-8С
- Обзоры Дмитрия Бачило: вводный, разбор, тест, стрим, 2С3 (часть 1, часть 2), собственный 8СВ, Atomic Heart на Эльбрусе: боль и страдания обзорщиков
- Эльбрус — российский Intel и наша последняя надежда... (Ай, Как Просто!) -> Дзен, перезалив
- Соната для Альта с Эльбрусом
- Домашний "Эльбрус": Эльбрус и дети. Знакомство; "И всё-таки она живая!" | Создаем загрузочную USB-флешку с Альт Линукс для Эльбруса; "Эльбрус" в доспехах. Новый компактный корпус Bitblaze Hyperion MS
- Обзор Maddy Murk "РУССКИЙ ПК НА ЭЛЬБРУС - Обзор, разборка и тест в играх!": ВК, Youtube
meetup'ы:
- e2k community (Станислав Емец)
- Эльбрус-16С. Первый анбоксинг материнки 1Э16С-uATX на российском процессоре Эльбрус
- ↑ В оригинале вопрос был озвучен как "Кстати, я уже от дохрена людей слышал, что VLIW не взлетит? Откуда это?", по существу аналогичный