Процессоры эльбрус не вирус

Обновлено: 18.04.2024

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

— высокая удельная производительность (в расчете на один транзистор);

— технология безопасного исполнения программ, гарантирующая защиту против кибератак, и создание более надежных программных продуктов.

Что происходит?

Государство помогло своим разработчикам и законодательно — постановлением Правительства РФ № 719. По нему с 1 января 2021 года на российских процессорах должны строиться российские системы хранения данных (СХД), с 1 июля 2021 года — портативные компьютеры, а с 1 января 2022-го — серверы, настольные ПК, моноблоки, мониторы, принтеры, сканеры и факсы, а также твердотельные накопители и материнские платы.

Не всё так радужно как хотелось бы.

Например, производство в России своих процессоров по современным технологиям 16-28 нм до сих пор невозможно, и вся микроэлектроника такого типа производится по заказу наших компаний на Тайване. На фоне мировых экономических проблем в 2021 году наблюдаются задержки с поставками заказанных процессоров.

Еще один давно назревший вопрос – массовый перенос на российские процессоры отечественного программного обеспечения, он движется крайне медленно.

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


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

Российское процессоростроение, в силу понятной специфики зарождения и функционирования последних лет в основном на военных и окологосударственных заказах, критически страдает от отсутствия сколь либо открытой и доступной общественности, и при этом профессиональной дискуссии. Безусловным прорывом в данном вопросе можно считать проведение Elbrus Tech Day:

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

Микропроцессоры архитектуры Эльбрус (e2k) - это абсолютно аутентичная разработка компании МЦСТ, основанная на предыдущем опыте создания линейки Эльбрусов 1/2/3 ещё в СССР.

Компания МЦСТ также разрабатывает линейку процессоров с архитектурой Sparc V9. В названии данные процессоры также имеют слово Эльбрус, что часто вызывает путаницу. Все дальнейшие рассуждения относятся именно к VLIW-архитектуре Эльбрус (e2k), а не к Sparc V9.

Самые популярные в мире процессоры на данный момент от Intel и Arm - это представители CISC и RISC архитектуры.

Создание процессора можно в первом приближении разделить на разработку процессора и производство. Компания, которая только разрабатывает процессор, но для производства использует чужие мощности, называется "фаблесс". МЦСТ - это фаблесс разработчик процессоров. Как и абсолютное большинство дизайн-центров в мире, включая Apple, Qualcomm, Nvidia, HiSilicon и т.д. и т.п.

В России на данный момент нет заводов по производству процессоров, которые пригодны для производства сколь-либо современных процессоров топ-уровня. Кому интересно актуальное состояние данной отрасли, можно почитать здесь. Дальше все претензии и обсуждения на тему "а производят-то на Тайване!" здесь не принимаются. Статья касается только вопроса разработки процессоров.

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

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

Так в чём же проблема Эльбруса? Если не углубляться в кучу технических и не очень нюансов, их две основных:

Собственная архитектура

Интересно, что руководство МЦСТ всячески пиарит данный пункт, выставляя его в качестве преимущества. Парадокс в том, что это большой недостаток. Проблема в том, что своя архитектура означает портирование всего стэка софта, необходимого пользователям. А это колоссальные затраты, тем более для VLIW-архитектуры (об этом ниже). В МЦСТ это прекрасно понимают (несмотря на публичные заявления о собственной архитектуре как о достоинстве) и именно поэтому в Эльбрусе на аппаратном уровне сделана поддержка бинарной трансляции из x86, что означает потенциальную возможность запускать привычные пользователю программы без какого-либо портирования. Но это стоит транзисторов, перформанса и всё равно имеет много ограничений для применения в реальности. В итоге можно сказать, что создание процессора с собственной архитектурой должно иметь крайне веские обоснования, иначе это получение колоссального геморроя на ровном месте. Да, к сожалению мы не можем делать аналог x86. Да, с лицензированием Arm есть потенциальные угрозы. Но любая лицензионно чистая открытая RISC/CISC архитектура здесь будет лучше, потому что увеличивает коммьюнити, занимающееся портированием софта.

VLIW-архитектура

Главная техническая проблема. Дело в том, что VLIW-архитектура принципиально уступает по производительности современным RISC/CISC процессорам с Out-of-Order (OoO) исполнением.

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

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

Идея VLIW на первый взгляд выглядит красиво, но она разбивается о реальность. В реальной жизни невозможно статически проанализировать код настолько, чтобы максимально плотно упаковать широкие команды. Пришедший указатель или сложная работа с памятью - и вы не можете спланировать Load выше операции Store (и наоборот). Если в горячем цикле есть вызов функции - его надо обязательно заинлайнить, иначе мимо него нельзя будет ничего поднять вверх и тем более применить критически важную оптимизацию конвейеризации цикла. Но при компиляции без профиля установить какие циклы горячие невозможно. Да и наличие профиля плохо помогает в случае динамической линковки, динамических вызовов, отсутствия ярко выраженного горячего кода. Опять-таки, сколь-либо сложное управление в цикле препятствует его накрутке.

В то же время классические RISC/CISC архитектуры с OoO автоматически оптимизируют и конвейеризируют любой исполняемый код. И хотя это стоит определённых транзисторов и мощности, на выходе такой подход оказывается более эффективным.

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

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

Если в данном цикле вызов функции get_int_val по какой-то причине не заинлайнится компилятором, то для RISC/CISC архитектуры с OoO итерация цикла будет занимать ~1 такт(P.S. после публикации статьи проверка на реальном коде показала 3 такта), не отличаясь принципиально от случая, если инлайн сработал.

Чтобы хоть как-то решать возникающие проблемы в VLIW архитектуру приходится добавлять различные, иногда достаточно нетривиальные архитектурные фичи. Нужно иметь много архитектурных регистров, т.к. требуется хранить большое количество промежуточных результатов вычислений. Как следствие, аппаратура получается сложной (а от этого как раз хотели уйти) и в итоге падают частоты, на которых VLIW-процессор может работатать. Вот сравнение самых топовых решений процессоров на базе VLIW-архитектур от Intel и МЦСТ с их RISC/CISC аналогами:

Советский период


В конце 60-х годов 20-го века в СССР была принята государственная директива, которая обозначала дальнейший вектор развития компьютеростроения СССР как копирование наработок западных коллег, в частности компьютера IBM S/360. В целом, многие советские инженеры, в том числе и отец советской кибернетики Сергей Лебедев, отзывались скептически о таком решении. По мнению Лебедева, путь копирования по определению является дорогой отстающих. Но других вариантов никто не видел или не хотел видеть.


Сергей Алексеевич Лебедев



Компоненты Эльбрус-2


Эльбрус 1-КБ

МЦСТ — эпоха современной России




В 2001 году на свет выходит Itanium, который, как упоминалось выше, встречают не шибко радостно. Казалось, вот он момент, когда можно показать западным корпорациям кузькину мать. В 2002 году в интервью журналу ExtremeTech Бабаян ещё сильнее завысил планку ожидания, заявив, что процессор будет иметь тактовую частоту в 3 ГГЦ, но и сумма, необходимая для начала производства, увеличилась до рекордных 100 миллионов долларов.


Характеристика Описание
Год выпуска Производство с 2008 года
Техпроцесс, нм 130
Количество ядер 1
Тактовая частота, ГГЦ 0,3
Производительность, Гфлопс 4,8 — 32 бита; 2,4 — 64 бита
Мощность, ВТ 6
Кеш 1 уровень — 64 Кбайт + 64 Кбайт (команд+данных);2 уровень — 256 Кбайт
Число транзисторов, миллионов 75,8


Характеристика Описание
Год выпуска Представлен общественности в октябре 2010 года
Техпроцесс, нм 90
Количество ядер 1
Тактовая частота, ГГЦ 0,5
Производительность, Гфлопс 8 — 32 бита; 4 — 64 бита
Мощность, ВТ 13 — типовая; 20 — максимальная
Кеш 1 уровень — 64 Кбайт + 64 Кбайт (команд+данных);2 уровень — 2 Мбайт
Число транзисторов, миллионов 218


Характеристика Описание
Год выпуска Производство с 2011 года
Техпроцесс, нм 90
Количество ядер 2 + 4 ЦСП
Тактовая частота, ГГЦ 0,5
Производительность, Гфлопс 28 — 32 бита; 8 — 64 бита
Мощность, ВТ 25
Кеш 1 уровень — 64 Кбайт + 64 Кбайт (команд+данных);2 уровень — 1 Мбайт
Число транзисторов, миллионов 368


Характеристика Описание
Год выпуска Производство с 2015 года
Техпроцесс, нм 65
Количество ядер 4
Тактовая частота, ГГЦ 0,8
Производительность, Гфлопс 50 — 32 бита; 25 — 64 бита
Мощность, ВТ до 60
Кеш 1 уровень — 128 Кбайт + 64 Кбайт (команд+данных);2 уровень - 8 Мбайт
Число транзисторов, миллионов 986


Характеристика Описание
Год выпуска Производство с 2015 года
Техпроцесс, нм 40
Количество ядер 1 + 1 с ускорителем 2D графики + 1 с ускорителем 3D графики
Тактовая частота, ГГЦ 1
Производительность, Гфлопс 24 — 32 бита; 12 — 64 бита
Мощность, ВТ 10
Кеш 1 уровень — 128 Кбайт + 64 Кбайт (команд+данных);2 уровень - 2 Мбайт
Число транзисторов, миллионов 375


Характеристика Описание
Год выпуска Производство с 2016 года
Техпроцесс, нм 28
Количество ядер 8
Тактовая частота, ГГЦ 1,3
Производительность, Гфлопс 250 — 32 бита; 125 — 64 бита
Мощность, ВТ 80
Кеш 1 уровень — 128 Кбайт + 64 Кбайт (команд+данных);2 уровень - 4 Мбайт;3 уровень — 16 Мбайт
Число транзисторов, миллионов 2730


Характеристика Описание
Год выпуска Производство с 2020 года
Техпроцесс, нм 28
Количество ядер 8
Тактовая частота, ГГЦ 1,5
Производительность, Гфлопс 576 — 32 бита; 288 — 64 бита
Мощность, ВТ 90
Кеш 1 уровень — 128 Кбайт + 64 Кбайт (команд+данных);2 уровень - 4 Мбайт;3 уровень — 16 Мбайт
Число транзисторов, миллионов 3500


Суперскалярные и VLIW процессоры

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

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

Если немного подумать и сопоставить описанные подходы, то можно обнаружить, что они не противоречат друг другу. Архитектуры микропроцессоров, объединяющие эти принципы, называются in-order superscalar. В 60-е годы был реализован следующий шаг — изменение последовательности команд относительно друг друга прямо в процессе исполнения. Такой подход называется out-of-order superscalar (OOOSS). Большинство современных представителей архитектур типа RISC и CISC (x86, PowerPC, SPARC, MIPS, ARM) являются OOOSS. Ниже показана эволюция подходов к параллельному исполнению множества инструкций.


Переход от скалярных процессоров к суперскалярным с возможностью перестановки инструкций

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

  • 6 арифметико-логических устройств (АЛУ), исполняющих следующие операции:
  • 1 устройство для операции передачи управления (CT);
  • 3 устройства для операций над предикатами (PL);
  • 6 квалифицирующих предикатов (QP);
  • 4 устройства для команд асинхронного чтения данных по регулярным адресам в цикле (APB);
  • 4 литерала размером 32 бита для хранения константных значений (LIT);


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

Особенности архитектуры

Регистровый файл. Для параллельного выполнения операций требуется значительное число оперативных регистров. Так называемый регистровый файл содержит 256 регистров для целочисленных и вещественных данных, 32 из них предназначены для глобальных данных, остальные 224 — для стека процедур

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

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

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

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

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

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

Сравнение VLIW и OOOSS. Преимущества и недостатки

Кратко опишем главные отличия VLIW и OOOSS

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


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

Преимущества и недостатки VLIW

Преимущества Недостатки
Больше открытых возможностей для выражения параллелизма инструкций. Возможные ухудшения производительности при исполнении legacy-кодов.
Лучшая энергоэффективность при схожей производительности. Более сложный код для отладки и анализа.
Более сложный компилятор.

Преимущества и недостатки OOOSS:

Преимущества Недостатки
Эффективное исполнение legacy-кодов. Расход энергии на многократное планирование одних и тех же операций.
Дополнительная информация о параллельности операций, доступная в динамике исполнения. Аппаратурное ограничение окна исполняемых операций для переупорядочивания.

В чем проблема сразу перейти на техпроцесс, как у Apple, AMD или Intel?


Cloud VPS с быстрыми NVMе-дисками и посуточной оплатой у хостинга Маклауд.

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


После распада СССР разработчики объединились в коллектив МЦСТ и начали разработку собственных процессоров. С 2005 по 2021 год свет увидел семь моделей. Самой совершенной является Эльбрус-8СВ — восьмиядерный процессор, выполненный по технологии 28 нм. В планах на 2022–2025 годы у компании еще четыре модели, вплоть до Эльбрус-32C.


Подробнее про модельный ряд и другие особенности этих процессоров мы рассказывали в специальном материале.

Архитектура

Современные десктопные процессоры построены на CISC и RISC архитектурах (x86-64, PowerPC, SPARC, MIPS, ARM). Между собой они имеют множество отличий, но есть и то, что объединяет эти две большие группы — они используют подход out-of-order superscalar (OOOSS).

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

Компилятор — программа, которая переводит текст, написанный на языке программирования, в набор машинных кодов

Поиск этих независимых инструкций и формирование команд для конвейера выполняется непосредственно на аппаратном уровне.



Реализация такого подхода дает несколько преимуществ:


Разработчики сумели поместить в процессоре целых 256 регистров для целочисленных и вещественных данных, 32 — для глобальных данных, остальные 224 — для стека процедур. В RISC/CISC-процессорах имеется обычно до 40 регистров. Большое количество регистров позволяет реже обращаться к памяти, а это экономия времени, поскольку доступ к ОЗУ в разы медленнее выполнения операций на самом процессоре.

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

Jump — команда безусловного перехода, позволяет переместиться в другую часть кода и начать выполнение команд с указанного адреса


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

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

Одно из самых крупных провели в 2020 году, сравнив процессоры разных архитектур в таких тестах, как Dhrystone, Whetstone, LINPACK, Memspeed и других. Большинство результатов показывают, что один из последних Эльбрус 8СB не дотягивает по производительности даже до Core i7 2600 (2011 год).


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

Проблема первая — компилятор. Как мы узнали ранее, именно он ищет зависимости и планирует широкие команды на очередь процессора. Однако делает он это далеко не всегда оптимально, особенно, на современном ПО. Как итог — низкая производительность в большинстве синтетических тестов и различных пользовательских задачах.

На результаты также влияет и необходимость эмулировать х86-архитектуру для запуска определенных программ. Однако этот минус частично решен различными дистрибутивами GNU/Linux, которые активно используются в корпоративном секторе.

Стоит отметить и то, что свои силы в VLIW-архитектуре пробовали и Intel. В 2001 году при совместной разработке с HP они выпустили первый процессор линейки Itanium для серверного сегмента.


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


Так есть ли будущее у Эльбрусов?

Многие энтузиасты и эксперты считают VLIW-архитектуру тупиковым развитием, поскольку в итоговом счете, даже несмотря на возможность выполнять больше инструкций за такт, она проигрывает RISC/CISC-архитектурам в производительности. Сюда же приплюсовывают отсутствие ПО и неудачный опыт с процессорами Itanium, в разработку которых были вложены сотни миллионов долларов.





Конечно, в этом нет ничего плохого, ведь многие производители дают работу на аутсорс (AMD, Intel, NVIDIA и другие). Правда Intel уже начала программу по развертыванию производства в США, при господдержке. В Европе тоже серьезно задумались о собственном производстве, а Россия пока делает только архитектуру, что уже хорошо, но вот с производством пока проблемы.

Модели и характеристики

Сначала приведем процессоры, которые уже выпустили.

Процессор Эльбрус 2000 Эльбрус-S Эльбрус-2С+ Эльбрус-4С Эльбрус-1С+ Эльбрус-8С Эльбрус-8СВ
Год выпуска 2005 2010 2011 2014 20161 квартал 2015(серийно с 2016) (серийно с 2020)
Техпроцесс, нм 130 90 90 65 40 28 28
Архитектура Эльбрус Эльбрус Эльбрус, ElCore9 Эльбрус Эльбрус, MGA2,Vivante GC2500 Эльбрус, версия 4 Эльбрус, версия 5
Количество ядер 1 1 2 (+4 DSP) 4 1 (+1 3D, +1 2D) 8 8
Тактовая частота, МГц 300 500 500 800 1000 1300 1500
Производительность (32 бита), Гфлопс 4,8 8 28 50 24 250 576
Производительность (64 бита), Гфлопс 2,4 4 8 25 12 125 288
Потребляемая мощность, Вт 6 20 25 45 10 80 90
Кеш уровня 1, КБ (данные + команды) 64 + 128 (64 + 128) / ядро (64 + 128) / ядро

Часть процессоров только в планах.

Кеш уровня 2, МБ 0,25 2 2 8 2
Процессор Эльбрус-2С3 Эльбрус-12С Эльбрус-16С Эльбрус-32C
Год выпуска (в планах 2021) (в планах 2021) (в планах 2021) по плану в 2025 инж. образец
Техпроцесс, нм 16 16 16 7
Архитектура Эльбрус 6 поколение,PowerVR GC6650 Эльбрус 6 поколение Эльбрус 6 поколение Эльбрус 7 поколение
Количество ядер 2 (+1 3D, +2 2D, +4 видео) 12 16 32
Тактовая частота, МГц 2000 2000 2000 2500
Производительность (32 бита), Гфлопс 192 1152 1500 3000
Производительность (64 бита), Гфлопс 96 576 750 1500
Потребляемая мощность, Вт 10 95 130
Кеш уровня 1, КБ (данные + команды) (64 + 128) / ядро (64 + 128) / ядро (64 + 128) / ядро
Кеш уровня 2, МБ 4 2/ядро 12 1/ядро 16 1/ядро
Кеш уровня 3, МБ 24 32 64 суммарно 1 + 2 + 3
Тип встроенного контроллера памяти DDR4-3200 ECC DDR4-3200 ECC DDR4-3200 ECC DDR5 ECC
Количество каналов обмена с памятью 2 2 8 6
Пропускная способность шины памяти, Гбайт/с 51,2 51,2 200 170
Площадь кристалла, мм² 222 300 618
Число транзисторов, млн 6000
Максимальное число ядер в системес общей памятью (прямое соединение) 2 24 64 128

Применение



Известно, что ноутбук на отечественном процессе будет стоить около 100 000 рублей. Представили устройство на выставке ELBRUS TECH DAY 16-17 февраля 2021.

Тесты


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

Intel Core i7-2600 Эльбрус-2C+ Эльбрус-4С
Количество ядер 4 2 4
Тактовая частота, МГц 3400 500 700
Объём кеш-памяти, МБ 8 2 8
Количество процессоров в системе 1 1 4
Объём оперативной памяти системы, ГБ 16 4 64

В достаточно старом сравнении Эльбрус-2C+ и Эльбрус-4С с Intel Core i7-2600 отечественные процессоры показали неплохой потенциал. Во время теста перед процессорами стояли следующие задачи: архивация по алгоритму 7zip (сжатие и распаковка), цифровая фильтрация сигнала и шифрование по алгоритму ГОСТ.

Intel Core i7-2600 Эльбрус-2C+ Эльбрус-4С
Архивация по алгоритму 7zip (сжатие), Мбайт/с 3,95 0,543 0,665
Архивация по алгоритму 7zip (распаковка), Мбайт/с 33,437 6,296 8,679
Цифровая фильтрация сигнала, с 1,384 3,469 2,474
Шифрование по алгоритму ГОСТ, с 2,102 1,601 1,112

Также удалось поиграть в Minetest, Doom64EX и другие игры.

Среди них Return to Castle Wolfenstein и Full Throttle.

Выводы

Если первые две проблемы влияют на распространение отечественных чипов, то последняя самая серьезная. Она увеличивает сроки производства, как следствие компании могут не успеть воспользоваться квотами или выполнить заказ. Что повлечет репутационные и финансовае проблемы.

Таким образом можно сказать, что надежды есть. Но сможет ли российская микроэлектроника решить все проблемы и продолжить развиваться?

Обновление (02.02.2022): тесты и внедрение







Похоже, что развитие отечественных процессоров встает на паузу. Это связано с тем, что тайваньская компания TSMC прекратила выпуск всех российских чипов. Отправка также остановлена.


Обновление (23.03.2022): санкции и вливание госсредств


Читайте также: