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

Архитектура RISC-V для российских процессоров в сложившейся ситуации всё же представляется более предпочтительной

Скажу сразу, что не собираюсь рекламировать тут конкретную российскую компанию, которая собирается разрабатывать у нас процессоры на этой архитектуре. Я сразу об этом предупреждаю, потому что как только я начинаю говорить о RISC-V, так тут же в головах некоторых моих читателей срабатывает триггер, и все начинают писать о принадлежности этой компании IBМ (а информацию об этом сами знаете, откуда берут, а именно, с известного Ютьюб-канала). Надоело, чесслово! ))) Даже не буду снова тщетно спрашивать достоверные пруфы на реальные источники. Речь в статье пойдёт не об этом вообще. Давайте договоримся, что будем рассматривать в качестве гипотетического разработчика таких процессоров, скажем, компанию МЦСТ. Пусть, предположим, она решила переориентировать своих разработчиков SPARC-линейки на RISC-V. Может, такая постановка вопроса хоть немного разбавит паразитные связи между архитектурой, компанией и её предполагаемой принадлежностью. Только не пишите теперь про Каймановы острова ))) Да, не
Оглавление

Скажу сразу, что не собираюсь рекламировать тут конкретную российскую компанию, которая собирается разрабатывать у нас процессоры на этой архитектуре. Я сразу об этом предупреждаю, потому что как только я начинаю говорить о RISC-V, так тут же в головах некоторых моих читателей срабатывает триггер, и все начинают писать о принадлежности этой компании IBМ (а информацию об этом сами знаете, откуда берут, а именно, с известного Ютьюб-канала). Надоело, чесслово! )))

Сами знаете кто
Сами знаете кто

Даже не буду снова тщетно спрашивать достоверные пруфы на реальные источники. Речь в статье пойдёт не об этом вообще.

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

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

Почему всем нужен свой процессор?

Итак, сегодня, в ужесточающейся борьбе за место под солнцем между США, Китаем и Россией, очень актуальным становится технологическая независимость в цифровой сфере, как в области, куда перемещаются все инфраструктурные связи государства, бизнеса и населения. Ещё недавно можно было бы выбрать путь глобализации и влиться в мировые технологические цепочки (к сожалению, в общей своей массе единичными и бессистемными звеньями, за исключением поставки полезных ископаемых, но влиться).

Но последние мировые тенденции говорят о том, что даже Европа начала наращивать свою субъектность в микроэлектронике, разрабатывая собственные европейские процессоры (а ей-то уж зачем, но всё равно разрабатывает), не говоря уже о переносе микроэлектронных производств из Тайваня в США и Японию и вложений Китая в создание собственного независимого процессора. В общем, мировая тенденция не оставляет выбора и нам. Необходимость создания собственного российского процессора, который решал бы этот вопрос — аксиома, вне зависимости от того, есть у России сегодня такие возможности, или нет.

Европейский ускоритель EPAC
Европейский ускоритель EPAC

Теперь о возможностях. Россия может и разрабатывает процессоры и микроконтроллеры нескольких архитектур разной степени независимости. Этот этап мы завершили. Производить на территории России мы можем только те микроконтроллеры, которые не требуют технологических норм выше 90 нм. Современные процессоры общего назначения мы производить у себя сейчас не можем, поскольку у нас нет соответствующего оборудования для современных технологических норм нижн 90 нм, да и те процессоры Эльбрус-2СМ, которые производились на заводе «Микрон» в Зеленограде по нормам 90 нм не показывали желаемой производительности, поскольку оборудование было ориентировано на производство по этим нормам других продуктов.

Теоретически, в Зеленограде можно произвести процессор и по нормам 65 нм, но для этого пришлось бы использовать слишком много циклов травления, и в результате получить очень невысокий процент годных чипов. Новую фабрику по технологии 28 и 16 нм ещё только начинают строить, а НИРы на разработку оборудования были профинансированы только в прошлом году. Поэтому в ближайшие 4-5 лет ожидать чего-то своего прорывного не стоит, а технологию 6 нм, для которой сейчас разрабатывается Эльбрус-32С и Байкал-S2, можно ожидать лишь к 2030-му году. Так что печатать их будем опять же в TSMC, если нам позволят это делать американские собственники этой условно тайваньской компании.

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

Возможные архитектуры процессоров

Тут есть два постоянных приемлемых варианта и один временный. Начну с временного.

Байкал

Это процессоры Байкал с лицензией ARM. Компания Байкал Электроникс лицензирует целиком ядра ARM без изменений. Из своего — микроархитектура процессора, то есть то, как эти ядра и другие купленные блоки соединены в нём внутри. Кстати сказать, от этого тоже зависит немало.

-3

С одной стороны, это самый простой и быстрый способ сделать свой процессор. Кроме того, система команд ARM получается универсальной для всего мира, и у процессора открывается простой путь для экспорта.

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

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

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

Эльбрус

Для этих процессоров их разработчик, компания МЦСТ, разрабатывает ядра самостоятельно. С точки зрения безопасности и независимости это самый безопасный и самый независимый процессор. Но у него тоже есть минусы.

-4

Во-первых, компания-разработчик МЦСТ, в отличие от Байкал Электроникс, по моим ощущениям, имеет серьёзные проблемы с желанием выйти на коммерческий рынок. Они не умеют жить в коммерческой среде и заточены на прямую работу с государством. Даже конференции они технически готовят плохо. Это касается и подготовки презентаций, и ведения интернет-трансляций. В общем, экономят на всём, видимо, не осознавая важности пиара в современной жизни. Впрочем, это не является недостатком самого процессора. Это недостаток разработчика. Возможно, это ещё связано с тем, что Эльбрус всё ещё представляет из себя довольно сырой продукт для широкого потребления, и разработчик опасается негативной реакции пользователей.

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

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

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

В общем, пока Эльбрус мне видится только как процессор для специальных применений. А на что он способен, более предметно можно будет говорить только после внедрения Эльбрус-16С и тестирования образцов Эльбрус-32С, а это произойдёт только через 3-5 лет.

RISC-V

А вот теперь мы подобрались к основной теме статьи. Что такое RISC-V? Прежде всего, это международный набор процессорных команд, лицензия на использование которого предоставляется бесплатно.

-5

Какие риски появляются при использовании этой системы? Только один, и то слабенький и решаемый — теоретически, компания, юридически предоставляющая бесплатную лицензию, наверное, может её отозвать. Но это крайне маловероятно, поскольку юридический статус подобной лицензии — фактически «общественное достояние с сохранением авторских прав», но даже в этом случае можно сделать минимальные изменения в командах, назвать эту систему как-то иначе (RISC-RUS, например), и организовать простейшую, а потому очень эффективную, бинарную трансляцию, чтобы то же самое ПО для RISC-V продолжало почти так же быстро работать на этом процессоре. Это один из вариантов обхода лицензии.

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

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

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

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

Заключение

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

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

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

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

На сегодня всё. Пишите свои соображения в комментариях, ставьте нравлики и не забудьте подписаться на мой канал, если вы этого ещё не сделали. Удачи!