Добавить в корзинуПозвонить
Найти в Дзене
Электромозг

Эльбрус, Байкал, RISC-V от Yadro или всё же что-то новое?

Хочу снова вернуться к теме процессорных архитектур для российских процессоров. С течением времени, в процессе происходящих событий, ретроспективном взгляде на историю страны а также в процессе осознания необходимости выбора правильной экономической модели я всё более утверждаюсь в мысли, что Россия должна озаботиться созданием своей перспективной архитектуры универсального процессора для компьютеров. Сегодня у нас есть есть только одна отечественная архитектура универсального процессора — Эльбрус. Я много писал о преимуществах этой архитектуры, но, вместе с тем, она имеет и свои минусы. Она плохо подходит для обычных нужд простых пользователей и требовательна к квалификации программиста. Всё это ставит крест на естественном распространении этого процессора вне госучреждений а также затрудняет внедрение этого процессора даже туда, где он сегодня необходим. Ниже, не вдаваясь в детали, опишу в общих словах главную проблему этого процессора, препятствующую его естественному широкому распр
Оглавление

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

Сегодня у нас есть есть только одна отечественная архитектура универсального процессора — Эльбрус. Я много писал о преимуществах этой архитектуры, но, вместе с тем, она имеет и свои минусы. Она плохо подходит для обычных нужд простых пользователей и требовательна к квалификации программиста. Всё это ставит крест на естественном распространении этого процессора вне госучреждений а также затрудняет внедрение этого процессора даже туда, где он сегодня необходим.

Ниже, не вдаваясь в детали, опишу в общих словах главную проблему этого процессора, препятствующую его естественному широкому распространению.

Эльбрус

Для тех, кто не читал мои прежние статьи на эту тему, вкратце объясню основные фишки этого процессора. Они состоят в том, что внутри своих ядер он имеет большее количество, чем в других процессорах, АЛУ (арифметико-логических устройств), которые могут работать одновременно. Попросту говоря, ядро может выполнять одновременно большее количество команд, чем это могут делать ядра других процессоров.

Вместе с этим, сам этот процессор, в отличие от других процессоров, код программы по всем этим АЛУ не раскидывает. Каждая программа должна содержать уже готовый явно распараллеленный код:

Начало процедуры maxArray() с распараллеленным ассемблерным кодом для Эльбруса
Начало процедуры maxArray() с распараллеленным ассемблерным кодом для Эльбруса

Распараллеливанием кода занимается программист. Точнее, его компилятор. Но программист должен писать программу так, чтобы компилятору было проще распараллелить весь процесс. Только тогда можно рассчитывать на максимальное одновременное задействование всех АЛУ. А это не всегда просто.

Кроме того, когда одновременно работает много АЛУ, процессор сильнее греется, что естественным образом ограничивает его частоту, чтобы не выйти за ограничение теплопакета.

Что это всё означает? Что Эльбрус является довольно специфическим процессором, рассчитанным на довольно узкий круг промышленных или научных задач, и его не так просто заставить эффективно работать на обычных повседневных прикладных задачах для широкого круга пользователей.

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

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

Байкал

Вторым российским универсальным процессором является Байкал. Это процессор, разработанный российскими специалистами, но на уровне отвёрточной сборки и из иностранных комплектующих. Ядра этого процессора куплены в компании ARM. С 2016 года эта компания принадлежит японской телекоммуникационной и инвестиционной корпорации SoftBank. Центральный офис находится в Кембридже, Великобритания.

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

Думаю, что отказ печатать на Тайваньской фабрике TSMC и Байкалы и Эльбрусы юридически аргументирован тем, что при разработке обоих процессоров использовались патенты США. Если с Байкалом всё понятно, он весь в таких патентах, то с Эльбрусом тоже не всё гладко — там весь физуровень покупной, и другим быть не может, поскольку физуровень делается под конкретную фабрику, а TSMC работает с физуровнем на патентах США. То есть, процессоры нам по-любому нужно делать самим.

Ну, или, как вариант, выписать весь физуровень поэлементно. Не знаю, насколько это возможно.

Yadro

Эта компания разрабатывает процессор с международной открытой архитектурой RISC-V, разработанной в 2010 году как исследовательский проект Калифорнийского университета Беркли в США.

Для устойчивого развития, стандартизации и продвижения RISC-V, в 2015 году создан международный фонд RISC-V и ассоциация со штаб-квартирой в Цюрихе в Швейцарии. В руководство и технические комитеты входят две русские компании-разработчики процессорных ядер — Syntacore и CloudBEAR.

По состоянию на декабрь 2022 года 13 из 25 мест в совете директоров RISC-V занимают китайские компании и организации, ведущую роль из которых занимает китайская академия наук.

Несмотря на разогнанную критику в отношении компании Yadro за, якобы, лоббирование продаж в России систем IBM, я не углядел в отношениях между этими компаниями ничего, что позволяло бы считать Yadro иностранным агентом ))) Ну, были какие-то коммерческие отношения по торговле их компьютерами, и что? Раскрутились на этом, получили какой-то опыт, а теперь имеют возможность попытаться сделать и свой процессор, что тут неправильного? «Попытка — не пытка. Правда, товарищ Берия?» (с) Анек.

У МЦСТ, разрабатывающей Эльбрусы, тоже были коммерческие отношения c Sun и Transmeta. Это ведь не делает компании Sun и Transmeta иностранными агентами в своих странах.

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

Или всё же что-то новое?

Все три вышеупомянутых процессора должны развиваться и конкурировать между собой. Думаю, что к тому моменту, когда Байкалу потребуются новые ядра, ARM уже сможет продать их нашему разработчику. США ведь не смогут бесконечно держать своих сателлитов за горло, учитывая направление их экономического движения. Однако вопросы надёжности и безопасности к этим ядрам всё равно останутся.

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

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

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

Но вот, что я подумал. Всё же RISC-V — это исследовательский проект Калифорнийского университета США. Его почему-то тут-же не скупили коммерческие компании. Даже Интел во-время не подсуетился и не выкупил архитектуру хотя бы в целях устранения потенциальной конкуренции.

Только лишь год назад он вошёл всего лишь в состав правления фонда RISC-V (инвестировав в него один миллиард долларов), на всякий случай, чтобы не остаться в стороне, если вдруг что. Так что скорее всего, в этой архитектуре нет ничего сверхинтересного и сверхперспективного в техническом аспекте. Вся перспектива только в его открытости, бесплатности и потенциальной унификации ПО под него. Возможно, на этом он и выедет, как в своё время выехал MS-DOS в то время, как в мире существовали и более совершенные операционные системы.

Так почему бы на государственном уровне не поручить какому-нибудь нашему институту, специализирующемуся на вычислительной логике, спустя 13 лет после старта RISC-V, разработать новую процессорную архитектуру, ориентированную на универсальные задачи персональных компьютеров, которая была бы эффективнее RISC-V, и позволила бы нам разработать на её основе собственный процессор под нашу же фабрику?

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

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

В любом случае, экспорт любых наших процессоров будет довольно затруднителен, что Байкала (он вряд ли станет ощутимо лучше и дешевле, чем другие имеющиеся на рынке процессоры на тех же ядрах), что Эльбруса. Да и реализацию архитектуры RISC-V вряд ли удастся сделать существенно эффективнее, чем это получится у опытных зарубежных конкурентов. А вот разработать более удачную архитектуру нам вполне по силам.

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

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

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

В общем, как-то так. Нужно думать над новой собственной процессорной архитектурой. А на сегодня всё. Ставьте нравлики, подписывайтесь на мой канал, а также излагайте свои соображения в комментариях. Удачи! :-)