«Эльбрусы» получилось сделать благодаря ставке на программное обеспечение

Изображение: Никита Кузьмин © ИА Красная Весна
Проц старт
Проц старт
Проц старт

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

Трушкин сообщил, что «Эльбрус» достаточно простая машина, построенная по принципу широкого командного слова (VLIW). В нем нет логики переупорядочивания инструкций, как в CISC (полный набор инструкций) и RISC (упрощенный набор инструкций) процессорах. Планирование параллельных операций было возложено на компилятор.

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

Благодаря такому подходу сравнительно небольшой компании (сейчас около 400 сотрудников) удается разрабатывать достаточно производительные решения. «Процессор по возможностям получился достаточно мощным — до 23 скалярных операций в такт на первом процессоре „Эльбрус“, и это — 2007 год!» — заявил замдиректора МЦСТ.

С другой стороны, полученный компилятор получился весьма сложным: «Он содержит уже более миллиона строк кода. Он постоянно развивается. Видно, что только за счет компилятора в год в среднем мы повышаем производительность системы на пять процентов».

Читайте также: Безопасность критической инфраструктуры. В чем реальные преимущества процессора «Эльбрус»

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

Тем не менее именно тщательная оптимизация исходных текстов ПО для работы с «Эльбрусами» позволяет добиться оптимальной производительности. Даже сборка ПО с помощью оригинального компилятора МЦСТ позволяет добиться прироста производительности в 2–3 раза, а с анализом и ручной оптимизацией — еще больше.