Лого Сделано у нас
97

Опубликована система команд микропроцессоров «Эльбрус»

На сайте АО «МЦСТ» появилась новость о доступности руководства по эффективному программированию на платформе Эльбрус; в нём также содержится глава с описанием системы команд «Эльбрус», ранее не публиковавшейся. Книга выпущена под лицензией Creative Commons (CC-BY 4.0) в форматах HTML (архив) и PDF; для удобства чтения HTML выложен мною в развёрнутом виде.

Опубликована система команд микропроцессоров "Эльбрус"Опубликована система команд микропроцессоров "Эльбрус" © mcst.ru

По сути это второй день рождения архитектуры «Эльбрус» — хотя и первый был в некотором смысле сразу двойным, ведь начало разработке было положено в семидесятых годах, уже после рокового правительственного решения 1967 года закрыть все существовавшие тогда в СССР линии развития отечественных ЭВМ и сосредоточиться на клонировании западной аппаратуры ради возможности копировать программное обеспечение.

Возможность понять особенности системы команд машины важна для любого профессионального программиста, не только «системщика»: по сути это возможность более вдумчиво оптимизировать даже обычные прикладные программы и библиотеки — простой, казалось бы, порядок обхода матрицы может сильно повлиять на зависимости по данным и конвейеризации циклов (за этим термином скрывается задействование возможностей параллельной обработки инструкций современными микропроцессорами, что на x86 началось с Pentium). Это особенно нужно для мультимедиа-кодеков, программ сжатия и шифрования данных, а также во многих других областях применения вычислительных алгоритмов.

Тем не менее исторически система команд вычислительных комплексов «Эльбрус» была закрытой и не документированной публично, поскольку эти машины активно применялись в военных системах и засекречивание всего и вся затронуло и их; при этом вторая линейка процессоров разработки МЦСТ (например, R500) начиналась как раз с открытой Sun Microsystems системы команд SPARC v8.

Соответственно единственным возможным разработчиком компиляторов под «Эльбрус» были сами создатели платформы; это и хорошо в плане взаимной оптимизации аппаратуры и средств разработки, и плохо в плане ограниченности ресурсов и необходимости отслеживать как более новые стандарты языков, так и получившие распространение расширения популярных компиляторов (в первую очередь GCC). Например, LCC 1.24 «умеет» C, C++ и Fortran, но трансляторы языков вроде Go, Rust, Objective C или D на его базе недоступны.

Стоит отметить, что в данный момент известны как документированные, но закрытые системы команд (x86, ARM, POWER), так и несколько открытых, доступных для воспроизведения силами сторонних компаний (SPARC, OpenRISC, RISC-V). Есть и пограничные случаи — например, отечественный процессор BE-T1000 (ранее «Байкал-Т1») построен на лицензированной системе команд MIPS (точнее, MIPS32r5 LE), следующая ревизия которой, r6, была положена в основу проекта MIPS Open, но затем вновь оказалась закрытой вместе с этим проектом в силу финансовых затруднений западной компании-владельца.

Сами программные наработки МЦСТ под «Эльбрус» пока остаются под соглашением о неразглашении, что не даёт частным лицам возможности приобретать такие компьютеры (хотя ИП уже её имеют); надеемся, публикация исходных кодов под соответствующими лицензиями будет давно ожидаемым следующим шагом к широкому распространению платформы в стране и мире.

Тем временем новое поколение разработчиков уже имеет материал для самообразования по актуальной и перспективной теме отечественной вычислительной техники; будем надеяться, что молодые таланты смогут применить полученные знания не только в рамках особых мероприятий (как ярославская «ПроеКТОриЯ»), а и в повседневной жизни — на домашнем и рабочем компьютере.

PS: новость традиционно отправлена с «Эльбруса» — двухместной 801-РС :)

Источник: http://mcst.ru/elbrus_prog
  • 4
    Артём Солопий Артём Солопий
    01.06.2012:02:56

    Поздравляем! Это отличная новость!

    • 1
      shigorin shigorin
      01.06.2012:08:23

      Не то слово ;-)

      • 2
        Артём Солопий Артём Солопий
        01.06.2013:00:12

        Осталось что-то в виде QEMU или кастомный ЭльЭмуль.

        Отредактировано: Артём Солопий~13:00 01.06.20
        • 2
          shigorin shigorin
          01.06.2014:52:09

          Уже существует; возможно, будет опубликован вместе с PDK (+/-).

          • 1
            Alex M Alex M
            01.06.2015:13:20

            Это порт QEMU или свой какой-то собственный проект??? Не ожидал если честно

            • 2
              shigorin shigorin
              01.06.2015:31:18

              Насколько понимаю, собственный -- и вообще слышал, что их существует два: точный, но медленный (для разработки системы программирования) и более шустрый, но менее точный (а-ля qemu по целеполаганию).

              • 1
                Нет аватара Vervolf
                03.06.2004:18:05

                Хорошо бы иметь QEMU. Потактный симулятор это вообще вещь в себе, слишком медленный. Функциональный симулятор эльбрусовский тоже имеет много ограничений. Для какой-то отладки пойдёт, но для широкого применения не имеет той инфраструктуры, которую имеет QEMU.

                • 0
                  shigorin shigorin
                  03.06.2011:46:36

                  Передал на всякий (хотя, так понимаю, и сами с усами).

                  В любом случае для v6 будут kvm готовить -- родственный проект по части утилит и обвязки, как ни крути.

  • 3
    Alex M Alex M
    01.06.2012:13:29

    Часто читал «у Эльбруса закрытая система команд, это ужасно плохо, жить невозможно». Не понятно зачем это им было нужно, но что тогда сейчас? С этой новостью, можно считать систему команд E2K открытой или хотя бы частично открытой? Уточните, пожалуйста

    • 1
      shigorin shigorin
      01.06.2014:50:58

      Часто читал «у Эльбруса закрытая система команд, это ужасно плохо, жить невозможно». Не понятно зачем это им было нужно, но что тогда сейчас?

      Сейчас доступна как минимум вот эта документация; расширил статью, возможно, так будет полезней.

      С этой новостью, можно считать систему команд E2K открытой или хотя бы частично открытой?

      Второе с учётом этого замечания одного из разработчиков.

      • 1
        Нет аватара PhotonInside
        01.06.2019:19:40

        Комменты-то под постом закрыты для сторонних читателей.

  • 2
    CastedAway CastedAway
    01.06.2013:11:06

    Наконец то! Я в своё время интересовался, как же толком, в деталях VLIW реализован и не находил. А тут, вот оно, с примерами, рекомендациями по оптимизации — то что надо! Пойду читать. Интересно нереально. Спасибо! Супер!

    ПС значит система идёт в народ! А вообще круть!

    • 3
      shigorin shigorin
      01.06.2014:55:24

      На здоровье ;-) Если что, около яндекс-музея собралась тусовка с целью переноса игрушек на e2k. Возможно, будет интересно присоединиться.

      PS: ещё туда же: Микропроцессоры и вычислительные комплексы семейства «Эльбрус" и Yandex Day: 3. Компилятор для процессоров «Эльбрус». Алексей Маркин

      Отредактировано: shigorin~15:08 01.06.20
      • 1
        Нет аватара commandor
        01.06.2020:27:26

        tensorflow или pytorch переносить тусовки не собралось?

        • 1
          shigorin shigorin
          02.06.2011:38:10

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

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

          У меня в процессе подготовки «на выданье» машинка «Эльбрус-4.4», но NDA с МЦСТ для доступа на сейчас понадобится.

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

          • 1
            Александр Будников Александр Будников
            07.06.2017:39:00

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

  • 5
    Андрей Бусыгин Андрей Бусыгин
    01.06.2014:26:43

    В связи с выкручиванием рук TSMC пиндосами с целью ликвидации производства на Тайване, есть ли какая-нибудь осмысленная стратегия дальнейшего развития?

    • 2
      shigorin shigorin
      01.06.2015:11:17

      Как минимум на материке у китайцев есть 14 нм производство, насколько понимаю; 28 нм в России реймановская компания благополучно не сделала; что ещё будет -- пока не знаю.

      А штаты, по-моему, так психуют и идут ва-банк из-за того, что _уже_ промахнулись мимо посадочной полосы (если ещё точнее, то промахнулась тамощняя иудоамериканская «верхушка», у которой описанные расчёты были подлиннее сотни лет).

      • 4
        Alex M Alex M
        01.06.2015:18:53

        Я просто уверен, через несколько лет принимать российские заказы будет запрещено на Тайване и ЮКорее, и любых других местах, кроме Китая. Что делать тогда?

        Не понимаю что происходит, никаких новостей кроме «маппер сдох» и 3 года назад кто-то получил заказ делать рентгеновскую безмасочную литографию. Никаких сведений, никаких этапов, ничего. Что это значит?

        • 5
          shigorin shigorin
          01.06.2015:33:24

          Думаю, если тот же «Боинг» тогда будет жив, то вдруг останется и без титана, и без деталей из него (а там не слабее фабрики) -- это только из России.

          Но любые прогнозы в нынешней обстановке делать, как мне кажется, занятие не шибко благодарное…

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

          • 4
            ph@ntom . ph@ntom .
            01.06.2023:37:29

            Краем уха слышал, что основные производители в фотолитографии это немцы и если не ошибаюсь голландцы, я так думаю, глухо будет до самого последнего, что бы не вышло как с турбинами сименса, и не делать лишних движняков по поводу воя поднято гогегемотом, а так поставят перед фактом, такое практикуют дети с очень строгими родителями, ставят перед фактом свершившегося, че уж потом то делать. Тут другой вопрос, что будут делать TSMC, если им таки обрежут все заказы Китая со товарищи, гегемот сможет загрузить фабрики. Или как у нас — «Так не доставайся же ты никому!», или у них — «Сдохни сначала ты, потом я.» Они так гайки дозакручиваются до добровольного входа тайваня в Китай. Хотя наверное бред, но наше время такое, что всякий бред вполне может стать реальностью.

            Отредактировано: ph@ntom .~23:40 01.06.20
            • 3
              Alex M Alex M
              02.06.2000:32:51

              Очень надеюсь что это так. А свои то что делают? Тем более, в РФ были мысли рентгеновской безмасочной литографии, поэтому оборудование для фотолитографии тут не нужно

            • 2
              Нет аватара Rockets
              02.06.2006:12:27

              Россия в плане догоона ни чего делать не будет. Зачем догонять в старых технологиях. Все силы направленны на другой проект НАЦИОНАЛЬНОГО масштаба, в который государство вкладывает деньги (24 миллиарда). В проект вовлечены Росатом, РФПИ, Ростех и куча НИИ из России

              Квантовые компьютеры, вот в это государство вкладывает. Если основные конкуренты работают в области сверх проводников (а это охлаждение и куча проблем с этим связанная), то Россия идёт параллельно со всеми остальными. НО есть ещё одно направление, более перспективное «Жидкий свет» которому не нужно охлаждение, он получается при обычной комнатной температуре. Была уже тут информация по данной теме

              https://www.you...eature=emb_logo

              https://zavtra...._dominirovaniyu

              Отредактировано: Rockets~06:13 02.06.20
            • 2
              Михаил Усоцкий Михаил Усоцкий
              02.06.2008:56:48

              Голландцы делают оборудование. Фирма ASML. Проблема в том, что в самом оборудовании содержатся элементы американских технологий, которые могут быть неамериканскими. Дело в том, что американцы действуют в духе внедрения троянского коня, чтобы контролировать всё. Порой достаточно скупить чужую разработку, чтобы называть технологию американской. Вот таким образом они и воруют чужие технологии. Я вот не помню, когда неподконтрольная США компания покупала актуальные американские технологии. Здесь покупка технологий действует только в одну сторону.

              • 0
                shigorin shigorin
                02.06.2011:41:14

                См. тж. по словечкам «трансфер технологий».

            • 0
              A S A S
              02.06.2013:21:53

              Вы как-то странно воспринимаете суть происходящего между США и TSMC.

              США хочет производить чипы на своей территории — по ряду причин, от шпиономании до вполне реальных угроз типа стихийных бедствий на территории Тайваня. Они много чего там производят — поэтому естественно хотят иметь больше контроля за ситуацией.

              В связи с этим с TSMC ведутся переговоры о строительстве фабрики на территории США. А что будет если не договорятся?

              Если не договорятся — США просто построит производство собственными силами и TSMC останется не у дел. Не то чтобы просто раз и построят (именно поэтому они пытаются договориться с тем кто уже построил, вместо того чтобы уродоваться самим), но они вполне могут это сделать — у них есть для этого и компетенции, и деньги. И вполне современные фабрики типа GF — тоже. И строители фабрик в лице Intel и IBM.

              Но скорее всего договорятся — потому что для TSMC — американские компании являются ключевыми заказчиками.

              Точно такая же профилактическая работа сейчас проводится и с компанией Intel. Ее тоже очень убедительно просят сделать производство в США.

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

              Вот причем тут какие-то риски для Эльбруса — я вообще в упор не понимаю. Там же не идет речь о том, чтобы погрузить TSMC на баржу и отправить в США.

              Отредактировано: A S~16:05 02.06.20
              • 2
                Михаил Усоцкий Михаил Усоцкий
                02.06.2016:34:13

                Очень просто. США запретила TMSC клепать микросхемы по заказу Huawei. Где гарантия, что с Эльбрусом не произойдёт тоже самое? Санкции затронули практически все заводы, имеющие хоть какое-то отношение к США.

                Касательно стихийных бедствий. Никто от этого не застрахован. В США и вовсе ураганы со смерчами тусуются, грозя нанести огромный урон объектам.

                А касательно строительства фабрики TSMC в США — это вообще отдельный вопрос. Построит, не построит — от этого TSMC ни холодно ни жарко. Всё равно, где строить. Главное, чтобы была выгода и рентабельность. Вот что волнует TSMC. Если США построят себе отдельную фабрику без участия оной компании — молодцы. Что ещё можно сказать? Единственная разница в том, что микросхемы, произведённые в США, будут в разы дороже. Ну и по цепочке, вся продукция станет ещё дороже. Так что здесь США больше преследует свои политические амбиции.

                • 0
                  A S A S
                  02.06.2016:43:46

                  США запретила TMSC клепать микросхемы по заказу Huawei. Где гарантия, что с Эльбрусом не произойдёт тоже самое?

                  Когда США внесли компанию Т-Платформы в entity list — китайцы точно так же отказались с нами работать как и все остальные.

                  Поэтому тут гарантия только одна — если компания МЦСТ попадет в этот лист — она не сможет производить свою продукцию. Нигде.

                  Более того — Китай как никто другой интегрирован с США экономически. Там львиная доля продукции экспортируется в США, а фабрики находятся в очень сильной технологической и экономической зависимости от них. Лично мне с китайцами давно уже все понятно. Это не тот вариант, который сработает при обострении отношений с США.

                  Не говорю уже о том, что передавать IP стране, где присвоение чужой интеллектуальной собственности и ее юридическая очистка возведены в абсолют — не самая хорошая идея. Если они посчитают тот же Эльбрус коммерчески перспективным — мы будем с ними же конкурировать на собственной территории — а доступ к своим производственным мощностям они нам закроют. МЦСТ разорится, а на крышке Эльбруса будут иероглифы.

                  Это стандартная процедура отжима IP. Они вытягивают информацию, затем патентуют все на территории Китая чтобы отсечь Вас от своих фабрик, а потом в лучшем случае тянут из Вас деньги, а в худшем — начинают производить сами и продавать за пределами Китая. Тот же приснопомянутый Хуавей на пару с ZTE — это крупнейшие патентные тролли в мире. И я думаю именно за это их и наказали.

                  Та же Европа имеет гораздо меньше экономических связей и более независима. Многие компании там вообще с США не взаимодействуют никак, не покупают там ничего и не продают, и соответственно не боятся санкций.

                  Но в целом — хотите гарантий — стройте свое производство.

                  Построит, не построит — от этого TSMC ни холодно ни жарко. Всё равно, где строить. Главное, чтобы была выгода и рентабельность.

                  Вот именно что для TSMC крайне важно где и что строить. Потому что этот бизнес очень низкомаржинальный, а инвестиции — огромны. Там конечно астрономическая прибыль в абсолютном выражении, но по отношению к обороту — она микроскопическая. Этот потенциальный завод будет окупаться ОЧЕНЬ и ОЧЕНЬ долго. А кто загрузит тайваньскую фабрику?

                  Так что тут есть о чем разговаривать и торговаться. Налоговые льготы, софинансирование, гос. гарантии и прочее и прочее.

                  Отредактировано: A S~17:35 02.06.20
  • 3
    rvk rvk
    01.06.2015:20:50

    Отличная статья, спасибо!

  • 3
    foxkeys foxkeys
    01.06.2019:47:36

    Шикарная штука.

    Блин, по этому документу не только Эльбрус как таковой изучать — но это вообще готовый курс лекций по архитектурам и компиляторам…

    Супердокументик.

    • 0
      shigorin shigorin
      02.06.2011:42:01

      Да, многое по оптимизации годится и на суперскалярах. Собственно, у них ведь тоже и SPARC-линейка никуда не делась.

  • 2
    Нет аватара Захарка
    01.06.2021:23:00

    Боже мой, это прекрасно! Наконец-то…

  • 1
    Нет аватара Paul_ls
    02.06.2006:47:09

    Михаил, как вы думаете, есть ли перспектива включения поддержки процессора в ванильное ядро Linux, ведутся ли в этом направлении работы, да и нужно ли к этому стремиться?

    • 0
      shigorin shigorin
      02.06.2011:43:00

      Дальняя; думаю, пока нет (разве что на уровне подтягивания порта к текущим LTS-выпускам); безусловно, да!

    • 1
      Alex M Alex M
      02.06.2013:15:52

      Есть ли кросскомпилятор чтобы собирать e2k ядро на x86_64? ICC/LCC (не понимаю какая там первая буква) может работать в таком режиме?

      • 0
        shigorin shigorin
        02.06.2019:08:59

        Кросскомпилятор есть (сборка для e2k на x86); да, это вариант lcc (эль-си-си).

  • 1
    Morfius Morfius
    03.06.2000:06:15

    Можно было бы и написать более ясно. Какие перспективы открывает данное событие? Чего теперь возможно ожидать в этой связи?

    • 1
      shigorin shigorin
      03.06.2011:49:25

      Эээ… постарался написать в расширенной версии статьи (изначально она сообщала о самом факте и давала ссылки) -- данное событие даёт более широкому кругу разработчиков, нежели уже имеющие доступ к аппаратуре и документации, приступить к ознакомлению с архитектурой и средствами разработки при желании (что сильно сократит время освоения уже при наличии железа или удалённого доступа); также глава 6 применима и к «обычным» архитектурам.

  • 0
    Strange Hunter Strange Hunter
    06.06.2015:58:30

    Полное описание системы команд при VLIW с длиной слова до 512(если верно помню) бит не то, чтобы совсем невозможно, но по объему, подозреваю, превзойдёт википедию. Вся радость от VLIW как раз в том, что как таковой системы команд нет — команды можно «собирать» под каждый конкретный случай из микрокоманд, данных итп. Но программирование на ассемблере при этом требует мозга как у супермозга.

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,