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

Российский процессор Эльбрус, VLIW + RISC-V?

Оглавление

Я вот что тут подумал. У разработчика раскручиваемых сейчас российских микропроцессоров Эльбрус, компании МЦСТ, помимо процессоров архитектуры Эльбрус, базирующейся на архитектуре VLIW (2С+, 4С, 8С, 8СВ, 2С3, 16С), есть вторая линейка процессоров на архитектуре SPARC, базирующейся на архитектуре RISC (R500, R1000, R2000). То есть, в настоящий момент они тащат одновременно два проекта, развивают две разных архитектуры.

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

К сожалению, мы знаем, что руководство МЦСТ довольно медлительно, и даже если подобные планы ими рассматриваются (а они наверняка рассматриваются), то они будут рассматриваться ещё довольно долго. Буду рад, если я окажусь неправ.

Кстати, я не нашёл причин, почему RISC-V популярнее SPARC. Обе архитектуры фактически являются открытыми. Кроме того, SPARC успешно масштабируется, и используется в довольно большом диапазоне производительности, вплоть до серверов, в то время как практическое использование RISC-V ограничивается сегодня в основном контроллерами. У кого-то есть идеи, почему RISC-V популярнее SPARC? Он более производителен?

Ещё одна мысль

Мы знаем, что процессор Эльбрус (как и все архитектуры на базе VLIW) заточен на специализированное применение, где задача хорошо распараллеливается. Это различные математические расчёты и т.п.

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

А что если в процессор Эльбрус добавить ядра RISC-V? Пусть он поддерживает оба набора команд! Обычные задачи будут писаться под RISC-ядра, а там, где нужна числодробилка — писать под VLIW-ядра.

Ещё можно попробовать объединить в одном ядре оба набора команд, и сделать АЛУ (арифметико-логические устройства, т.е. сами вычислители) такими, чтобы они могли использоваться обоими наборами. Такой подход был бы ещё эффективнее, ибо экономил бы транзисторы.

На мой взгляд, тут есть, над чем поразмыслить :-)

Заключение

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

P.S. Пока писал статью, проскочила инфа, выглядящая шуткой, но в каждой шутке есть доля... шутки:

МЦСТ разрабатывает новую архитектуру RISC-X: 10 ALU, векторные расширения до 1024 бит (динамические команды), предсказатель переходов на 1024 команды, VLIW front-end (без привязки к ALU), OoO (внеочередное исполнение инструкций), BP (предсказатель переходов), 2 стека (вызовов/возврата и локальных данных), поддержка отечественных алгоритмов крипты (ГОСТ, Магма, Кузнечик).

Шутка это или нет, судить читателю.

Ставьте лайки, подписывайтесь на мой канал. Всем спасибо! Удачи! :-)