Российские процессоры. Российские процессоры Программный комплекс NOISEtte

Российский процессор Эльбрус-8С

Добрый день, уважаемые читатели. Сегодняшняя тема будет очень интересна заядлым патриотам. Россия вперед!!! А поговорим мы сегодня о российских процессорах «Эльбрус » и «Байкал ». Очень жаль, что статью уж никак нельзя назвать «Процессоры российского производства », потому что по факту производятся они в восточной Азии (как и большинство электроники мировых лидеров), а не в России. Но вполне можно гордиться тем, что Россия одна из немногих стран мира, которая способна разрабатывать свои микропроцессоры, ведь за ними стоит будущее.

А есть среди вас те, кто для поиска статьи вбили в Яндексе фразу «русские процессоры »? Если говорить о людях, то «Не все россияне русские ». А если говорить о процессорах, то они российские . Инфа 100%, я проверял!

Итак, что мы имеем на сегодня? А сегодня у нас первая половина 2017 года и российские процессоры неугомонно развиваются.

Российские процессоры «Процессор-9» с поддержкой памяти DDR4

Что мы видим в подзаголовке? С поддержкой ! Это означает не что иное, как то, что Процессор-9 будет составлять прямую конкуренцию существующим гигантам Intel и AMD. Тут уж можно действительно гордиться Россией.

Что же такое Процессор-9? Это кодовое название топового российского процессора Эльбрус-16С от компании МЦСТ. Планируется, что он начнет выпускаться в 2018 году. Будет два варианта процессора с 8 и 16 ядрами. В общем, характеристики процессора вот:

Основные технические характеристики процессора Эльбрус-16С (Процессор-9)

Ранее уже продавались компьютеры на базе российских процессоров Эльбрус-4 С, но стоили они заоблачную сумму денег. Это обуславливалось тем, что не было налажено массовое производство процессоров. Эти компьютеры были скорее экспериментальными образцами, потому и стоили до 400 000 рублей. В случае же с Эльбрус-16С ситуацию исправит массовое производство процессоров в Тайване. К тому же производитель должен понимать, что при такой цене ни о какой конкурентоспособности и речи быть не может.

Почему бы нам не сопоставить информацию о всей линейке процессоров Эльбрус? Интересно ведь.

Эльбрус-2С+ Эльбрус-4С Эльбрус-8С Эльбрус-16С
Год выпуска 2011 2014 2015-2018 (доработки) 2018 (план)
Тактовая частота 500 МГц 800 Мгц 1300 МГц 1500 Мгц
Разрядность хз 32/64 бит 64 бит 64/128 бит
К-во ядер 2 4 8 8/16
Кэш первого уровня 64 Кб 128 Кб
Кэш второго уровня 1 Мб 8 Мб 4 Мб 4 Мб
Кэш третьего уровня 16 Мб 16 Мб
Поддержка ОЗУ DDR2-800 3 х DDR3-1600 4 х DDR3-1600 4 х DDR4-2400
Техпроцесс 90 нм 65 нм 28 нм 28 нм (или 16)
Потребление энергии 25 Вт 45 Вт 75-100 Вт 60-90 Вт

Были еще разработки процессоров, которые не прошли государственную аттестацию. Но это было давно и не правда.

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

Российские процессоры Эльбрус в сравнении с Intel

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

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

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

Российские процессоры Эльбрус: сравнение с Intel

Российские процессоры Байкал-Т1 и Байкал-М

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

Процессор Байкал-Т1

По данным Байкал Электроникс, процессоры Байкал-Т1 можно использовать для маршрутизаторов, роутеров и другого телекоммуникационного оборудования, для тонких клиентов и офисной техники, для мультимедийных центров, систем ЧПУ. А вот процессоры Байкал-М смогут стать сердцем для рабочих ПК, для промышленной автоматизации и для управления зданиями. Уже интереснее! Но подробной информации о технических характеристиках пока нет. Знаем только, что он будет работать на 8 ядрах ARMv8-A и будет иметь на борту до восьми графических ядер ARM Mali-T628 и, что тоже немаловажно, производители обещают сделать его очень энергоэкономным. Посмотрим, что из этого выйдет.

Пока писал статью сделал запрос в АО «Байкал Электроникс», и ответ не заставил себя долго ждать. Уважаемый Малафеев Андрей Петрович (менеджер по связям с общественностью и корпоративным мероприятиям) любезно поделился с нами самой свежей информацией о процессоре Байкал-М .

Первые инженерные образцы процессора Байкал-М компания планирует выпустить уже осенью этого года. А дальше цитирую, дабы ни коем образом не исказить суть информации:

— Начало цитаты —

Процессор Байкал-M – система на кристалле, включающая энергоэффективные процессорные ядра с архитектурой ARMv 8, графическую подсистему и набор высокоскоростных интерфейсов. Байкал-М может использоваться в качестве доверенного процессора с широкими возможностями защиты данных в ряде устройств B 2C и В2В сегментов.

Области применения Байкал-М

  • моноблок, автоматизированное рабочее место, графическая рабочая станция;
  • домашний (офисный) медиа-центр;
  • сервер и терминал видеоконференций;
  • микросервер;
  • NAS уровня небольшого предприятия;
  • маршрутизатор / брандмауэр.

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

Применяемое ПО

Широкое распространение архитектуры ARMv8 (AArch64) позволяет использовать огромное количество готового прикладного и системного программного обеспечения. Поддерживаются операционные системы Linux и Android, в том числе на уровне бинарных дистрибутивов и пакетов. Доступны многочисленных устройств, подключаемых к шинам PCIe и USB. В состав поставляемого «Байкал Электроникс» комплекта программного обеспечения входит ядро Linux в исходных текстах и скомпилированном виде, а также драйверы для встроенных в Baikal-M контроллеров.

Основные характеристики процессора Байкал-М

  • 8 ядер ARM Cortex-A57 (разрядность 64 бит).
  • Рабочая частота до 2 ГГц.
  • Аппаратная поддержка виртуализации и технологии Trust Zone на уровне всей СнК.
  • Интерфейс с оперативной памятью – два 64-битных канала DDR3/DDR4-2133 с поддержкой ECC
  • Кэш-память – 4 МБ (L2) + 8 МБ (L3).
  • Восьмиядерный графический сопроцессор Mali-T628.
  • Видеотракт, обеспечивающий поддержку HDMI , LVDS
  • Аппаратное декодирование видео
  • Встроенный контроллер PCI Express поддерживает 16 линий PCIe G en. 3.
  • Два контроллера 10-гигабитной сети Ethernet, два контроллера гигабитной сети Ethernet. Контроллеры поддерживают виртуальные сети VLAN и приоритезацию трафика.
  • Два контроллера SATA 6G , обеспечивающих скорость обмена данными до 6 Гбит/с каждый.
  • 2 канала USB v.3.0 и 4 канала USB v.2.0.
  • Поддержка режима доверенной загрузки.
  • Аппаратные ускорители, поддерживающие ГОСТ 28147-89 , ГОСТ Р 34.11-2012.
  • Энергопотребление – не более 30 Вт.

— Конец цитаты —

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

Вы дочитали до самого конца?

Была ли эта статья полезной?

Да Нет

Что именно вам не понравилось? Статья была неполной или неправдивой?
Напишите в клмментариях и мы обещаем исправиться!

На базе микропроцессора Эльбрус-8С планируется организовать массовое производство серверов, рабочих станций и других средств вычислительной техники, предназначенных для применения в государственных учреждениях и бизнес-структурах, предъявляющих повышенные требования к информационной безопасности, а также для применения в области высокопроизводительных вычислений, обработки сигналов, телекоммуникации. Инженерные образцы 4-процессорного сервера на базе процессоров Эльбрус-8С с производительностью 1 терафлопс будут изготовлены в конце 2014 года.

Отечественная архитектура Эльбрус разработана в России и имеет ряд уникальных особенностей. К ним относятся:

возможность выполнять на каждом ядре до 25 операций за один машинный такт, что обеспечивает высокую производительность при умеренной тактовой частоте;

технология динамической двоичной трансляции, позволяющая обеспечивать эффективное исполнение приложений и операционных систем, распространяемых в двоичных кодах x86, в том числе в многопоточном режиме;

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

Базовой операционной системой для платформы Эльбрус является ОС «Эльбрус», построенная на базе ядра Linux. Система программирования платформы поддерживает языки С, С++, Java, Фортран-77, Фортран-90.

Основные характеристики разрабатываемого микропроцессора:

Параметр Значение Примечание
Архитектура процессора «Эльбрус» Количество вычислительных устройств с плавающей запятой увеличено с 4 до 6
Количество ядер 8
Кэш-память 2го уровня 8 * 512 КБ Отдельная кэш-память для каждого ядра
Кэш-память 3го уровня 16 МБ Разделяемая между всеми ядрами
Рабочая частота 1.3 ГГц Расчётное значение
Производительность ~250 ГФлопс На операциях с одинарной точностью (FP32)
Тип контроллеров памяти DDR3-1600 С поддержкой ECC
Кол-во контроллеров памяти 4
Поддержка многопроцессорных систем До 4 процессоров В системе поддержки кэш-когерентности реализована фильтрация снупирования
Каналы межпроцессорного обмена (пропускная способность) 3 (16 ГБ/с) Каналы дуплексные (пропускная способность в каждую сторону — 8 ГБ/с)
Технологический процесс 28 нм

Разрабатываемый микропроцессор совместим с разрабатываемым южным мостом КПИ-2 .

Ожидаемый год завершения работы: 2015

Все привыкли к тому, что на рынке микропроцессоров балом правят три крупных американских производителя: Intel, AMD и IBM. Это действительно так! Однако это не означает, что микропроцессоры больше никто не производит. Как правило, в большинстве развитых стран есть собственные «государственные» производители интегральных схем. Не стоит думать, что они пытаются каким-то образом составить конкуренцию «большой тройке» - вовсе нет. Причина локальной разработки и производства процессоров кроется несколько в другом, а именно в необходимости выпуска собственных решений для оборонной отрасли, где использование иностранной электронной базы запрещается из соображений национальной безопасности.

Само собой, ситуация характерна и для России. Главным отечественным решением являются процессоры на базе архитектуры «Эльбрус», разработкой которых занимается компания МЦСТ. В конце апреля был анонсирован скорый выход четырехъядерной модели «Эльбрус-4С», о которой и пойдет речь в сегодняшнем материале.

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

Трудиться над архитектурой «Эльбрус» начали более 40 лет назад, а именно в 1973 году. Работы велись в стенах «Института точной механики и вычислительной техники имени Лебедева» (ИТМиВТ) под руководством академика Всеволода Сергеевича Бурцева - известного ученого в области систем управления и конструирования универсальных ЭВМ. Конечно же, «заказ» на подобного рода компьютерную технику поступил от военных.

Выпуск первого поколения компьютеров с архитектурой «Эльбрус» состоялся в 1980 году. Их особенностью являлась масштабируемая архитектура: они поддерживали параллельную работу до 10 процессоров одновременно. Объем оперативной памяти составлял 64 Мбайт (или 220 машинных слов), а быстродействие такого компьютера достигало отметки в 12 миллионов операций в секунду.

Однако главной инновацией «Эльбруса» была его суперскалярная архитектура - в компьютерах она применялась впервые. Как выяснилось позднее, на то время компания IBM уже имела некоторые разработки в этой области, однако довести суперскалярную архитектуру до массовых решений по разным причинам они так и не смогли. Поэтому американские производители начали использовать суперскалярную архитектуру лишь в 1990-х годах. Первыми массовыми устройствами с такой архитектурой стали процессоры Intel Pentium.

Спустя пять лет после выхода первого поколения процессоров завершилась разработка компьютера «Эльбрус-2». Архитектурно он несильно отличались от «Эльбрус-1», однако в них применялась другая элементная база, что позволило поднять производительность новых процессоров более чем в 10 раз - до 125 млн операций в секунду. Также был увеличен объем оперативной памяти компьютера: с 64 Мбайт до 144 Мбайт, а пропускная способность каналов ввода/вывода составила 120 Мбайт/с.

«Эльбрус-2», как и его предшественник, был предназначен для использования в оборонной отрасли. В итоге компьютер эксплуатировался в Центре управления космическими полетами, а также в ядерных исследовательских центрах в Арзамасе-16 и Челябинске-70. Помимо этого, существовала и другая версия «Эльбрус-2», оптимизированная под более простые задачи. Она носила название «Эльбрус 1-КБ» и пришла на смену устаревающей системе БЭСМ-6, которая к тому времени использовалась уже на протяжении двух десятков лет. Разработчики сохранили программную совместимость между «Эльбрус 1-КБ» и БЭСМ-6, поэтому переход на новые компьютеры оказался вполне безболезненным.

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

Однако дальше проектирования дело не дошло. В 1994 году был создан тестовый образец процессора «Эльбрус-3», но серийное производство так и не было налажено по достаточно глупой причине: устройство оказалось совсем не востребованным. Спустя 6 лет уже инженеры компании МЦСТ пытались воплотить в жизнь идеи «Эльбрус-3» в новом процессоре «Эльбрус-2000» (также известного как Е2К), который теоретически мог стать конкурентом анонсированному процессору Intel Itanium. Однако массовое производство «Эльбруса-2000» требовали значительных финансовых вливаний, а найти инвестора разработчикам так и не удалось.

Создание МЦСТ и ее разработки

Стоит сделать небольшое отступление и сказать пару слов о МЦСТ, которая со времен «Эльбрус-3» и занимается разработкой подобных решений. Компания была основана 2 марта 1992 года как Товарищество с ограниченной ответственностью (ТОО) «Московский центр SPARC-технологий» (МЦSТ). Наличие аббревиатуры SPARC в названии связано с тем, что на тот момент компания МЦСТ рассматривала в качестве основного партнера американскую корпорацию Sun Microsystems, которая продвигала свои вычислительные машины с архитектурой SPARC. И наличие этой аббревиатуры в названии предоставляло ей существенные льготы при сотрудничестве. Например, МЦСТ получила доступ к передовым технологиям проектирования микропроцессорной техники, операционным системам, системам программирования и другим технологиям. На период развития компании это было очень существенной поддержкой. И если поначалу компания работала в тесном сотрудничестве с такими гигантами, как Sun Microsystems, Avanti, Compass, Synopsys, то вскоре инженеры МЦСТ, набравшись опыта, полностью переключились на разработку устройств по государственным заказам.

Вплоть до 2007 года МЦСТ выпускала лишь микропроцессоры с архитектурой SPARC и вычислительные системы на их базе. Собственная архитектура «Эльбрус» отошла на второй план. В период с 1997 по 2007 годы были выпущены четыре SPARC-микропроцессора: МЦСТ-R100, МЦСТ-R150, МЦСТ-R500 и МЦСТ-R500S. Также увидел свет и вычислительный комплекс «Эльбрус-90микро». Несмотря на свое название, к данной архитектуре система не имела никакого отношения.

Лишь в 2005 году возобновилась работа над архитектурой «Эльбрус», основанной на микроархитектуре VLIW (Very Long Instruction Word). А уже в 2007 году был представлен одноименный процессор. Его основные характеристики мы собрали в таблицу, которую вы можете увидеть снизу.

Технологический процесс 0,13 мкм
Рабочая тактовая частота 300 МГц
Пиковая производительность 64 разряда, GIPS/GFLOPS - 6,67/2,432 разряда, GIPS/GFLOPS - 9,5/4,8

16-8 GIPS - 12,2–22,6

64 Кбайт
64 Кбайт
Кэш-память 2-го уровня 256 Кбайт
9,6 Гбайт/с
4,8 Гбайт/с
Размеры кристалла 15,0х12,6
Количество транзисторов 75,8 млн
Рассеиваемая мощность 6 Вт

Конечно, для 2007 года характеристики чипа были более чем скромные - он ни в коем случае не составлял конкуренции современным процессорам, например, поколению Intel Conroe, представленному в 2006 году. «Эльбрус» уступал им по всем параметрам. Процессор выпускался по устаревшим 130-нм технологическим нормам, тогда как Intel и AMD уже освоили 65-нм техпроцесс. Как ни странно, но производство процессора было доверено тайваньской компании TSMC. Странно потому, что «камень» предназначался для использования в «оборонке», а производство на сторонних мощностях, таким образом, напрямую влияло на безопасность системы из-за возможных «закладок».

Что касается скорости работы «Эльбруса», то его пиковая производительность в 64-разрядном режиме составляла 2,4 ГФЛОПС. Для сравнения: пиковая производительность бюджетного двухъядерного процессора Intel Core 2 Duo E4300 с актуальной на то время архитектурой Conroe и тактовой частотой 1,8 ГГц составляла 14,4 ГФЛОПС, то есть в 6 раз больше! Поэтому вы можете представить, насколько медленным был «Эльбрус» для 2007 года. Тем не менее, для оборонной отрасли производительности процессора было вполне достаточно, поэтому на его основе была создана вычислительная система «Эльбрус-3М1».

Комплекс «Эльбрус-3М1» поставлялся с защищенной операционной системой МСВС-Э (Мобильная система Вооруженных Сил), в основе которой лежит Linux версии 2.6.14. Кроме этого компьютер оснащался пакетом тестовых и диагностических программ, а также был обратно совместим со старыми вычислительными комплексами «Эльбрус-1» и «Эльбрус-2». По уровню производительности «Эльбрус-3М1» был сопоставим с системой на базе Pentium III с тактовой частотой 500 МГц. Было проведено сравнительное тестирование в режиме совместимости с платформой x86, и «Эльбрус-3М1» превзошел в скорости процессор Intel. Помимо этого, проводилось тестирование и в «родной» платформе для системы МЦСТ. В таком режиме производительность «Эльбрус-3М1» находилась на уровне с конфигурацией на базе процессора Intel Pentium 4 с частотой 2000 МГц. Для оборонной отрасли такого уровня производительности было более чем достаточно.

Следующим этапом развития архитектуры стала система на кристалле «Эльбрус-S», выпущенная в 2010 году. Для удобства сравнения мы свели все основные характеристики процессора в следующую таблицу.

Технологический процесс 0,09 мкм
Рабочая тактовая частота 500 МГц
Пиковая производительность 64 разряда, GFLOPS - 432 разряда, GFLOPS - 8
Кэш-память команд 1-го уровня 64 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 2 Мбайт
Пропускная способность шин связи с кэш памятью 16 Гбайт/с
Пропускная способность шин связи с оперативной памятью 8 Гбайт/с
Площадь кристалла 142 мм2
Количество транзисторов 218 млн
Рассеиваемая мощность 13 Вт - типовая, 20 Вт - максимальная

Характеристики нового процессора были улучшены в сравнении с «Эльбрусом». Прежде всего стоит отметить, что производство «Эльбрус-S» было переведено на 90-нм технологические «рельсы». Пускай в 2010 году Intel и AMD уже производили процессоры по тонкому 32-нм техпроцессу, но для отечественного устройства этот переход стал значительным шагом вперед. Тактовая частота «Эльбрус-S» составляла 500 МГц, что на 200 МГц выше, чем у «Эльбруса». Выросла и пиковая производительность: до 4 и 8 ГФЛОПС в 64-разрядном и 32-разрядном режимах соответственно. Увеличился и объем кэш-памяти второго уровня - до 2 Мбайт. Да и сам чип стал сложнее: количество транзисторов в сравнении с предшественником выросло почти в три раза.

В придачу к «Эльбрус-S» МЦСТ представила контроллер периферийных устройств (КПИ) - он же «южный мост». Хаб обеспечил поддержку как «гражданских» интерфейсов, так и промышленных. Благодаря КПИ стало возможным созданием специального четырехпроцессорного рабочего модуля МВ3S/C, который используется в военной технике.

Технологический процесс, нм 130
Тактовая частота, МГц 250
Последовательная шина связи с процессором, пропускная способность, Гбайт/с 2
Контроллер PCI-Express версии 1.0a 8 линий
Контроллер PCI версии 2.3 32/64 бита, частота 33/66 МГц
Контроллер Ethernet 1 Гбит/с 1 порт
Контроллер SATA 2.0 4 порта
Контроллер IDE PATA-100, 2 порта по 2 устройства
Контроллер USB 2.0 2 порта
Контроллер звукового интерфейса AC-97 2-канальное стерео
Контроллер последовательного интерфейса RS-232/485 2 порта
Контроллер параллельного интерфейса IEEE-1284 с поддержкой DMA 1 порт
Контроллер программируемых универсальных входов-выходов GPIO 16 сигналов
Интерфейс I2C 4 канала
Число транзисторов, млн 30
Потребляемая мощность, Вт 6

Спустя год было налажено производство следующего поколения процессоров под названием «Эльбрус-2С+». В своих пресс-релизах компания МЦСТ указывала шестиядерную архитектуру. Однако это совсем не так! «Эльбрус-2С+», по сути, является двухъядерной моделью. Он обладает двумя модулями архитектуры «Эльбрус», но также имеет и четыре ядра цифровых сигнальных процессоров (DSP) фирмы «Элвис». Помимо этого, кристалл претерпел множество изменений. Так, объем кэш-памяти второго уровня каждого из ядер составляет 1 Мбайт. Была добавлена поддержка памяти DDR2 с эффективной частотой 800 МГц, а также дополнительный канал ввода/вывода, посредством которого можно подключить еще один КПИ.

Для процессора была реализована версия компилятора языка C, которая позволяет генерировать код для ядер DSP и обеспечивать эффективное взаимодействие основной программы, исполняющейся на ядрах CPU, а также процедур, исполняющихся на DSP. Забегая чуть вперед, скажем, что программировать под ядра DSP было сравнительно трудно, поэтому в следующем поколении процессоров инженеры МЦСТ от них отказались вовсе. В результате внесенных изменений производительность процессоров значительно возросла и уже составляла 28 ГФЛОПС в 32-разрядном режиме. Если сравнивать быстродействие «Эльбрус-2С+» с процессорами Intel, то отечественная разработка окажется чуть выше по скорости, чем решения Intel Core 2 Duo.

Технологический процесс 0,09 мкм
Рабочая тактовая частота 500 МГц
Число ядер архитектуры ЭльбрусЧисло ядер DSP (Elcore-09) 24
Пиковая производительность (ядра CPU + ядра DSP) 64 разряда, GFLOPS –­ 8+032 разряда, GFLOPS – 16+12
Кэш-память команд 1-го уровня 64 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 1 Мбайт
Встроенная память DSP (на ядро DSP) 128 Кбайт
Пропускная способность шин связи с кэш памятью 16 Гбайт/с
Пропускная способность шин связи с оперативной памятью 12,8 Гбайт/с
Площадь кристалла 289 мм2
Количество транзисторов 368 млн
Рассеиваемая мощность 25 Вт

Производительность процессора можно примерно оценить по следующим диаграммам.

Помимо «Эльбрус-2С+», в тестировании участвовали процессоры Intel Pentium-M ULV (1 ГГц, кэш-память 1 Мбайт, 2х DDR-266) и Intel Atom D510 (1,66 ГГц, кэш-память 1 Мбайт, DDR2-800), а также еще один процессор компании МЦСТ - R1000. В качестве тестового программного обеспечения был выбран пакет SPEC2000. Как видно из диаграмм, в режиме FP производительность «Эльбрус-2С+» находится на заметно более высоком уровне, нежели у конкурентов. В режиме Int ситуация выравнивается, и зачастую производительность всех процессоров находится на одном уровне, хотя местами отечественные решения откровенно «проседают».

Процессоры «Эльбрус-2С+» предполагалось использовать в системах цифровой интеллектуальной обработки сигнала, таких как радары и анализаторы изображений. Однако в то же время новые чипы были более приспособлены для гражданских задач. Например, компания Kraftway даже выпустила тестовую партию моноблочных компьютеров на базе кристаллов «Эльбрус-2С+», однако дальше этого дело не пошло.

И вот в апреле 2014 года компания МЦСТ представила свою следующую разработку - четырехъядерные процессоры «Эльбрус-4С».

Архитектура процессоров «Эльбрус-4С»

Прежде чем мы начнем подробное изучение архитектуры новых процессоров «Эльбрус-4С», необходимо уделить немного внимания современной архитектуре в целом. Как вам известно, все интегральные решения можно разделить на две большие группы: CISC (Complex Instruction Set Computer) и RISC (Reduced Instruction Set Computer). Уже из названий становится понятно, что CISC-процессоры работают со сложными инструкциями, а RISC - с упрощенными. Сложность инструкций для первой категории заключается в том, что их длина не ограничена. Вдобавок к этому они могут содержать сразу несколько арифметических действий. До начала 1980-х абсолютно все процессоры имели CISC-архитектуру, однако тогдашние исследования компании IBM показали, что сложные инструкции далеко не всегда обрабатываются быстрее, чем последовательность элементарных операций, соответствующая такой сложной инструкции. Так появилась архитектура RISC, предусматривающая использование упрощенных команд.

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

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

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

Среди других особенностей архитектуры «Эльбрус» инженеры МЦСТ выделяют следующие:

  • 6 каналов арифметико-логических устройств (АЛУ), работающих параллельно;
  • регистровый файл из 256 84-разрядных регистров;
  • аппаратная поддержка циклов, в том числе с конвейеризацией. Повышает эффективность использования ресурсов процессора;
  • программируемое асинхронное устройство предварительной подкачки данных с отдельными каналами считывания. Позволяет скрыть задержки от доступа к памяти и полнее использовать АЛУ;
  • поддержка спекулятивных вычислений и однобитовых предикатов. Позволяет уменьшить число переходов и параллельно исполнять несколько ветвей программы;
  • широкая команда, способная при максимальном заполнении задать в одном такте до 23 операций (более 33 операций при упаковке операндов в векторные команды).

Конечно, не забыли разработчики и о режиме x86-совместимости. Для этого в архитектуре была реализована система динамической трансляции двоичных кодов x86 в коды процессора «Эльбрус». Если говорить простым языком, то система трансляции создает виртуальную машину, в которой работает гостевая операционная система для этой разрядности. По словам разработчиков, на платформе «Эльбрус» в режиме эмуляции платформы x86 удалось запустить более 20 операционных систем (в том числе несколько версий Windows) и сотни приложений.

Стоит сказать несколько слов о производительности процессора в режиме эмуляции. Она ожидаемо немного снижается (примерно на 20-30%). При этом становятся недоступны некоторые возможности «Эльбрус-4С».

Несмотря на то, что новые «Эльбрус» также предназначаются и для использования в обычных домашних компьютерах, их главной сферой применения все еще является военная отрасль и промышленные компьютеры. Поэтому, как и прежде, инженеры МЦСТ уделили особое внимание вопросу безопасности новых кристаллов. Одной из самых известных уязвимостей является переполнение буфера, которое возникает, когда процессор записывает данные за пределами выделенного в памяти пространства. Это позволяет злоумышленникам запускать на компьютере произвольный программный код. AMD и Intel уже давно борются с проблемой посредством своих технологий No eXecute Bit и Execute Disable Bit, но их эффективность не так высока, как хотелось бы.

Разработчики МЦСТ в целях повышения безопасности пошли иным путем. Процессоры «Эльбрус-4С» поддерживают так называемое защищенное исполнение программ. Его суть заключается в том, чтобы гарантировать работу приложения только с инициализированными данными, проверять все обращения в память на принадлежность к допустимому диапазону адресов, обеспечивать межмодульную защиту (например, защищать вызывающее ПО от ошибки в библиотеке). Эти проверки осуществляются аппаратно.

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

Технические характеристики «Эльбрус-4С»

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

Технологический процесс 65 нм
Рабочая тактовая частота 800 МГц
Число ядер архитектуры Эльбрус 4
Пиковая производительность 64 разряда, GFLOPS –­ 2532 разряда, GFLOPS – 50
Кэш-память команд 1-го уровня 128 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 8 Мбайт
Организация оперативной памяти До 3 каналов DDR3-1600 ECC
Пропускная способность каналов оперативной памяти 38,4 Гбайт/с
Каналы межпроцессорного обмена 3, дуплексные
Пропускная способность каждого канала межпроцессорного обмена 12 Гбайт/с
Площадь кристалла 380 мм2
Количество транзисторов 986 млн
Рассеиваемая мощность До 60 Вт

Прежде всего нужно отметить, что производство процессора было переведено на 65-нм техпроцесс. Тактовая частота CPU возросла до 800 МГц. Удвоился объем кэш-памяти команд первого уровня, теперь он составляет 128 Кбайт. А объем кэш-памяти второго уровня составляет 8 Мбайт (против 1 Мбайт у «Эльбрус-2С+»). Также значительно выросла пропускная способность каналов оперативной памяти. Эти изменения позволили добиться внушительной прибавки производительности новых процессоров. Так, в 64-разрядном режиме пиковая производительность составляет 25 ГФЛОПС, что более чем в три раза выше, чем показатель «Эльбрус-2С+». В 32-разрядном режиме производительность достигла отметки 50 ГФЛОПС. Вместе с тем возросла и сложность кристалла. «Эльбрус-4С» содержит 986 млн транзисторов, а его полезная площадь составляет 380 мм2.

Микропроцессор Эльбрус-4С (1891ВМ8Я) - многоядерный универсальный высокопроизводительный микропроцессор, построенный в соответствии с улучшенной архитектурой «Эльбрус».

Эльбрус-8СВ и Эльбрус-16С

Каждое ядро процессора декодирует и отправляет на исполнение до 23 операций за такт.

Эльбрус-4С представляет собой систему на кристалле, содержащую 4 вычислительных ядра, кэш-память 2-го уровня общим объёмом 8 Мегабайт, 3 контроллера памяти, 3 канала межпроцессорного обмена и канал ввода-вывода.

Рабочая тактовая частота микросхемы составляет 800 МГц. Кристалл выполнен по технологической норме 65 нм, средняя рассеиваемая мощность составляет 45 Вт. Имеются средства для значительного снижения рассеиваемой мощности.

Основная сфера применения микропроцессоров «Эльбрус-4С» - серверы, настольные компьютеры, мощные встраиваемые вычислители, предназначенные для работы в сферах с повышенными требованиями к следующим аспектам:

  • информационная безопасность
  • рабочий диапазон температур
  • длительность жизненного цикла продукции

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

Дополнительную информацию можно почерпнуть в новости, посвящённой завершению испытаний процессора.

Примечание: в ходе работы над проектом, для процессора использовалось рабочее название «Эльбрус-2S».

Характеристики

Характеристика Значение
Функциональные характеристики микропроцессора
Обозначение микросхемы 1891ВМ8Я
Архитектура Эльбрус (VLIW)
Тактовая частота до 800 МГц
Число ядер 4
Операций в такт (на ядро) до 23
Кэш-память данных 1-го уровня, на ядро 64 КБ
Кэш-память команд 1-го уровня, на ядро 128 КБ
Кэш-память 2-го уровня (универсальная) 8 МБ
Организация оперативной памяти До 3 каналов DDR3-1600 ECC
Пропускная способность каналов оперативной памяти 38,4 ГБ/сек
Возможность объединения в многопроцессорную систему с когерентной общей памятью До 4 процессоров
Каналы межпроцессорного обмена 3, дуплексные
Пропускная способность каждого канала межпроцессорного обмена 12 ГБ/сек
Каналы ввода-вывода/RemoteDMA 1, дуплексный
Пропускная способность канала ввода-вывода/RemoteDMA 4 ГБ/сек
Совместимые СБИС южного моста КПИ
Технологические характеристики микросхемы
Технологический процесс 65 нм
Количество транзисторов 986 млн.
Напряжение питания 1,5 В, 2,5 В, 3,3 В
Рабочий диапазон температуры среды -60…+85 град. С
Потребляемая мощность 45 Вт
Год начала производства 2014
Добавленные технологии
Технология энергосбережения имеется

Галерея

В видеоблоге Максима Горшенина опубликован обзор готового отечественного компьютера «Эльбрус-801 PC» на базе 8-ядерного российского процессора «Эльбрус-8С». Сообщается, что серийное производство новинки начнется во втором квартале 2017 года.

Согласно данным, публиковавшимся ранее в российских СМИ, «Эльбрус-8С» представляет собой полностью российскую разработку: архитектура, схемотехника и топология микропроцессора спроектированы специалистами Института электронных управляющих машин (ИНЭУМ) и компании МЦСТ.

Вышел новый русский процессор Эльбрус-8С. В этот раз не так смешно

Чип имеет 8 ядер с улучшенной 64-разрядной архитектурой «Эльбрус» третьего поколения. Объём кеш-памяти второго и третьего уровня составляет соответственно 4 и 16 Мбайт. Тактовая частота каждого ядра «Эльбрус-8С» равна 1,3 ГГц. Заявленная производительность достигает 250 гигафлопсов (миллиардов операций с плавающей запятой в секунду). Предусмотрена 28-нанометровая технология изготовления.

В видео с канала Максима Горшенина – немало интересного о новой машине «Эльбрус-801 PC» на базе данного 8-ядерного процессора:

Интересный сюжет того же источника о платах для «Эльбрус-8С»:

Расскажите о статье своим друзьям в соцсетях!

Выпущены первые ПК и серверы на процессорах «Эльбрус 8С»

Информация

Микропроцессор «Эльбрус-8С » (1891ВМ10Я) — высокопроизводительный процессор общего назначения с улучшенной архитектурой Эльбрус, позволяющей выполнять до 25 операций за один такт в каждом ядре — 250 млрд. операций с плавающей запятой в секунду. Спроектирован и изготовлен по технологическим нормам 28 нм, позволяющим снизить энергопотребление.

Особенности «Эльбрус-8С»:

  • Оригинальная архитектура Эльбрус, обеспечивающая высокую производительность в математических расчётах, криптографии, цифровой обработке сигналов.
  • Аппаратная поддержка защищенных вычислений. Отдельный стек вызовов, дающий преимущества с точки зрения информационной безопасности.
  • Исполнение двоичных кодов в системе команд Intel х86 и х86-64 с помощью динамической трансляции без перекомпиляции программ.
  • Расширенный температурный диапазон от −60 до +85 градусов.

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

Характеристики

Номенклатура
Серия микросхемы 1891ВМ10Я
Модельный ряд 1891ВМ10АЯ — с тактовой частотой до 1300 МГц
1891ВМ10БЯ — с тактовой частотой до 1000 МГц
Технические характеристики
Архитектура Эльбрус, версия 4
Масштабируемость 8 ядер в процессоре
4 процессора в модуле (16 Гбайт/с попарные связи)
2 модуля в машине
Тактовая частота 1300 МГц (1891ВМ10АЯ)
1000 МГц (1891ВМ10БЯ)
Пиковая производительность 25 операций в такт в каждом ядре (8 цел., 12 веществ.)
250 GFLOPS одинарной точности, 125 GFLOPS двойной точности
Кэш-память L1: 64 Кбайт данные + 128 Кбайт команды в каждом ядре
L2: 512 Кбайт в каждом ядре, 4 Мбайт суммарно
L3: 16 Мбайт в процессоре
Оперативная память 4 канала DDR3-1600 registered ECC, до 51,2 Гбайт/с
64 Гбайт на процессор
1 Тбайт адресное пространство машины
Периферия 1 канал ввода-вывода, до 16 Гбайт/с
совместимый контроллер — КПИ-2
Технологические параметры
Топология 2,73 млрд.

транзисторов
28 нм техпроцесс, 321 мм² площадь кристалла

Корпус 59,5×43,0×4,6 мм, 32,0 г
2028 контактов FCBGA
Электропитание 0,9 В, 1,0 В, 1,15 В, 1,5 В, 1,8 В
80 Вт (1891ВМ10АЯ)
60 Вт (1891ВМ10БЯ)
Условия эксплуатации −60…+85 °C
−40…+90 °C
Доступность серийный выпуск с 2016 года
Документация ТВГИ.431281.016

АРМ Эльбрус 401 первый российский компьютер с процессором сделанном в России. Эльбрус 401 характеристики, отзывы, описание.

Многие ждали когда же выйдет первый российский компьютер и вот наконец таки начало есть, появился компьютер АРМ Эльбрус-401 с процессором сделанным в России.

Процессор «Эльбрус-8С»! 28 нанометров. Россия вперёд!

Хотя нет, до него уже была ранее выпушена предыдущая 1 версия российского компьютера Эльбрус 4.4.

Давайте посмотрим из чего он сделан и какие характеристики Эльбрус-401. Компьютер собран в корпусе MiniTower и стоит совсем не дешево, хотя цена Эльбрус-401 в дальнейшем должна снизится. Пк работает на операционной системе «Эльбрус» основанный на ядре Linux с возможностью установки и других операционных систем поддерживающих запуск на платформе Intel x86, х86-64.

Вот некоторые характеристики компьютера АРМ Эльбрус-401 : работа на таковой частоте 800 МГц, жесткий диск объемом 1 Тб и mSATA на 128 Гб, 24 Гб оперативной памяти с возможностью расширения до 96 ГБ, видеокарта AMD Radeon серии 6000,

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

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

  • Мы будем рады, если вы оставите отзыв, комментарий, полезные советы или дополнение к статье.
  • У вас есть комментарии по этой теме? обязательно добавьте!
  • Спасибо за отзывчивость и ваши комментарии!

В 2011 году Минпромторг объявил тендеры «на выполнение научно-исследовательских и опытно-конструкторских работ по подпрограмме федеральной целевой программы № 1 Часть 28». Эта программа называется «Развитие электронной компонентной базы и радиоэлектроники» и рассчитана на 2008–2015 гг.

Работы велись по двум лотам: «Разработка гетерогенного микропроцессора с пиковой производительностью более 150 Гфлопс на базе высокопроизводительных универсальных 64-разрядных процессорных ядер» и «Разработка 64-разрядного микропроцессора со встроенной графикой с пиковой производительностью более 24 Гфлопс». Оба лота выиграла компания МЦСТ. Результаты работ, проведенных в рамках исполнения трехлетних контрактов, были переданы в срок – в декабре 2015 года. В разработку «Эльбрус-8С» вложили 836 млн, в «Эльбрус-1С+» - 410 млн рублей.

Производительностью около 150 Гфлопс обладает Intel Core i7-4930K, выпущен в третьем квартале 2013 года, стоит в России от 20 тыс. рублей. Производительность «Эльбрус-1С+» сравнима с Intel Core i7-880, выпущенным во втором квартале 2010 года, цена – от 25 тыс. рублей.

Что представляют собой «Эльбрусы»

Архитектура процессоров использовалась МЦСТ более десяти лет и лишь была усовершенствована. «Эльбрус-8С» - 8-ядерный чип, выполненный по 28-нанометровой технологии и созданный для обработки больших объемов данных в режиме реального времени. Этот чип может использоваться в ПК, высокопроизводительных системах и серверах, комплексах цифровой обработки сигнала.

«Эльбрус-1С+» выполнен по технологии 40 нм. Он включает одно ядро архитектуры «Эльбрус» и графическое ядро с аппаратным 3D-ускорением. Процессор предназначен для промышленной автоматики, терминалов, одноплатных встроенных и носимых ЭВМ.

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

Известно также, что в январе 2016 года «Объединенная приборостроительная корпорация» начала разрабатывать оборудование, защищенное от кибершпионажа, на «Эльбрусах-8С», а в 2017-2018 гг. процессоры закупит МВД.

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



Эльбрус-8С - новый 8-ядерный процессор МЦСТ с VLIW-архитектурой. Мы тестировали инженерный образец с частотой 1.3 ГГц. Возможно, в серийном выпуске она еще возрастет.



Приведем сравнение характеристик Эльбрус-4С и Эльбрус-8С.


Эльбрус-4С Эльбрус-8С
Тактовая частота, МГц 800 1300
Число ядер 4 8
Число операций за такт (на ядро) до 23 до 25
L1 кэш, на ядро 64 Кб 64 Кб
L2 кэш, на ядро 2 Мб 512 Кб
L3 кэш, общая - 16 Мб
Организация оперативной памяти До 3 каналов DDR3-1600 ECC До 4 каналов DDR3-1600 ECC
Технологический процесс 65 нм 28 нм
Количество транзисторов 986 млн. 2730 млн.
Ширина SIMD инструкции 64 бита 64 бита
Поддержка многопроцессорных систем до 4 процессоров до 4 процессоров
Год начала производства 2014 2016
Операционная система ОС “Эльбрус” 3.0-rc27 ОС “Эльбрус” 3.0-rc26
Версия компилятора lcc 1.21.18 1.21.14

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


Так, например, Эльбрус-8С может исполнять до 25 инструкций за 1 такт без учета SIMD (против 23 у Эльбрус-4С).


Важно : нами не проводилось никакой специальной оптимизации под Эльбрус-8С. Была задействована библиотека EML, однако объем оптимизаций под Эльбрус в наших проектах сейчас явно меньше, чем под другие архитектуры: там он постепенно наращивался в течение нескольких лет, а платформой Эльбрус мы занимаемся не так давно и не столь активно. Основные времязатратные функции, конечно же, были оптимизированы, но вот до остальных пока не дошли руки.

Распознавание паспорта РФ

Разумеется, начать освоение новой для нас платформы мы решили с запуска нашего продукта Smart IDReader 1.6 , предоставляющего возможности по распознавания паспортов, водительский прав, банковских карт и других документов. Необходимо отметить, что стандартная версия этого приложения может эффективно задействовать не более 4 потоков при распознавании одного документа. Для мобильных устройств этого более чем достаточно, а вот при бенчмаркинге десктоп-процессоров это может приводить к занижению оценок производительности многоядерных систем.


Предоставленная нам версия ОС Эльбрус и компилятора lcc не потребовали никаких специальных изменений в исходном коде и мы без каких-либо трудностей собрали наш проект. Отметим, что в новой версии появилась полная поддержка С++11 (она также появилась и в свежих версиях lcc для Эльбрус-4С), что не может не радовать.


Для начала мы решили проверить, как работает распознавание паспорта РФ, о котором мы уже писали , на Эльбрус-8С. Мы провели тестирование в двух режимах: поиск и распознавание паспорта на отдельном кадре (anywhere-режим) и на видеоролике, снятом с веб-камеры (webcam-режим). В anywhere режиме распознавание разворота паспорта выполняется на одном кадре, причем паспорт может находиться в любой части кадра и быть произвольным образом ориентированным. В режиме webcam выполняется распознавание только страницы паспорта с фото, причем обрабатывается серия кадров. При этом предполагается, что строки паспорта горизонтальны и паспорт слабо смещается между кадрами. Полученная с разных кадров информация интегрируется для повышения качества распознавания.


Для тестирования мы взяли по 1000 изображений для каждого из режимов и замеряли среднее время работы распознавания (т.е. время без учета загрузки картинки) при запуске в 1 поток и запуске с распараллеливанием. Полученное время работы приведено ниже в таблице.



Результаты для однопоточного режима вполне соответствуют ожидаемым: помимо ускорения за счет повышения частоты (а кратность частот 4С и 8С равна 1300 / 800 = 1.625), заметно небольшое ускорение за счет усовершенствования архитектуры.


В случае запуска на максимальном числе потоков ускорение для обоих режимов составило 1.7. Казалось бы, число ядер в Эльбрус-8С вдвое больше, чем в 4С. Так где же ускорение за счет дополнительных 4 ядер? Дело в том, что наш алгоритм распознавания активно задействует только 4 потока и слабо масштабируется дальше, поэтому прирост производительности совсем незначительный.


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



Для anywhere-режима полученное ускорение приблизилось к ожидаемому ускорению в ~3.6 раза, не дотянув до него из-за того, что мы учитывали время загрузки картинки из файла. В случае с webcam-режимом влияние времени загрузки еще больше и поэтому ускорение получилось более скромным - 2.5 раза.

Детекция автомобилей

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


Для нашего примера мы решили взять задачу детекции автомобилей, движущихся в попутном направлении. Подобный детектор может использоваться в системах автоматического управления транспортными средствами, в системах распознавания автомобильных номеров и т.д. Не долго думая, мы отсняли видео для обучения и тестирования с помощью авторегистратора неподалеку от нашего офиса. В качестве детектора мы использовали каскадный классификатор Виолы-Джонса . Дополнительно мы применили экспоненциальное сглаживание положений найденных автомобилей для тех из них, которые мы наблюдаем несколько кадров подряд. Стоит отметить, что детектирование выполняется только в прямоугольнике ROI (region of interest), который занимает не весь кадр, поскольку малоосмысленно пытаться детектировать внутренности нашего автомобиля, а также машины, не полностью попадающие в кадр.


Таким образом, наш алгоритм состоял из следующих шагов:

  1. Вырезание прямоугольника ROI по центру кадра.
  2. Преобразование цветного изображения ROI в серое.
  3. Предпосчет признаков Виолы-Джонса.
    На этом этапе изображение подвергается масштабированию, строятся карты вспомогательных признаков (например, направленных границ), а также вычисляются кумулятивные суммы по всем признакам для быстрого подсчета хааровских вэйвлетов.
  4. Запуск классификатора Виолы-Джонса на множестве окон.
    Здесь с некоторым шагом перебираются прямоугольные окна, на которых запускается классификатор. Если классификатор выдал положительный ответ, то произошла детекция объекта, т.е. изображение внутри окна соответствует автомобилю. В этом случае выполняется уточнение области изображения, в которой находится объект: в окрестности первичной детекции выделяются окна того же размера, но с меньшим шагом и также подаются на вход классификатора. Все найденные объекты сохраняются для дальнейшей обработки. Данная процедура повторяется для нескольких масштабов входного изображения.
    Этот этап собственно и составляет основную вычислительную сложность задачи и распараллеливание было произведено именно для него. Мы использовали библиотеку tbb для автоматического выбора эффективного числа потоков.
  5. Обработка массива детекций, полученного после применения детектора. Поскольку ряд полученных детекций могут быть очень близкими и отвечать одному и тому же объекту, мы объединяем детекции, имеющие достаточно большую площадь пересечения. В результате получаем массив прямоугольников, которые указывают положение обнаруженных автомобилей.
  6. Сопоставление детекций на предыдущем и текущем кадрах. Мы считаем, что был задетектирован один и тот же объект, если площадь пересечения прямоугольников составляет больше половины от площади текущего прямоугольника. Выполняем сглаживание положения объекта по формулам:
    x i = x i + (1-α)x i -1
    y i = y i + (1-α)y i -1
    w i = w i + (1-α)w i -1
    h i = h i + (1-α)h i -1
    где (x , y )--- координаты верхнего левого угла прямоугольника, w и h - его ширина и высота соответственно, а α - постоянный коэффициент, подобранный экспериментально.

Входные данные: последовательность цветных кадров размера 800х600 пикселей.
Здесь и далее для оценки fps (frame per second) использовалось среднее время работы по 10 запускам программы. При этом учитывалось только время обработки изображений, поскольку сейчас мы работали с записанным роликом, и изображения просто загружались из файла, а в реальной системе они могут, например, поступать с камеры. Оказалось, что детекция работает с весьма приличной скоростью, выдавая 15.5 fps на Эльбрус-4С и 35.6 fps на Эльбрус-8С. На Эльбрус-8С загрузка процессора оказывается далеко не полной, хотя в пике задействованы все ядра. Очевидно, это связано с тем, что не все вычисления в этой задаче были распараллелены. Например, перед применения детектора Виолы-Джонса мы выполняем достаточно тяжеловесные вспомогательные преобразования каждого кадра, а эта часть системы работает последовательно.


Теперь пришло время демонстрации. Интерфейс приложения и отрисовка выполнены с помощью стандартных средств Qt5. Никакой дополнительной оптимизации не проводилось.


Эльбрус-4С



Эльбрус-8С


Визуальная локализация

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


Сначала мы обработали базу панорам с GPS-координатами. Мы взяли 660 изображений, покрывающих приблизительно 0.4 км^2 московских улиц:




Затем мы создали описание изображений с помощью особых точек. Для каждого изображения мы:

  1. Нашли особые точки для 3 масштабов кадра (сам кадр, уменьшенный в 4/3 раза кадр и уменьшенный вдвое кадр) алгоритмом YAPE (Yet Another Point Detector) и посчитали для них RFD-дескрипторы .
  2. Сохранили его координаты, набор особых точек, их дескрипторы. Поскольку затем мы будем сравнивать дескрипторы особых точек текущего кадра со значениями дескрипторов из нашей базы, удобно хранить дескрипторы в дереве, используя расстояние Хэмминга в качестве метрики. Общий размер сохраненных данных оказался чуть больше 15 Мб.

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

  1. Преобразование цветного изображения в серое.
  2. Выполнение автоконтраста.
  3. Поиск особых точек для трех масштабов кадра (также с коэффициентами 1, 0.75 и 0.5) с помощью алгоритма YAPE и подсчет для них RFD-дескрипторов. Эти алгоритмы частично распараллелены, однако довольно большая часть вычислений осталась последовательной. Кроме того, они пока не оптимизировались под платформу Эльбрус.
  4. Для полученного набора дескрипторов выполняется поиск похожих дескрипторов среди сохраненных в дереве, и происходит определение несколько наиболее похожих кадров. Для различных дескрипторов поиск в дереве распараллелен с помощью tbb. При этом для первых 5 кадров видео мы выбираем 10 ближайших кадров, а затем берем только 5 кадров.
  5. Выбранные кадры проходят дополнительную фильтрацию, чтобы убрать “выбросы”, ведь траектория транспортного средства обычно непрерывна.

Входные данные: последовательность цветных кадров размера 800х600 пикселей.

1.71 Паспорт, anywhere режим, с/кадр, полная загрузка процессора 1.38 0.43 3.2 Паспорт, webcam режим, c/кадр, полная загрузка процессора 0.47 0.19 2.5

Результаты для распознавания паспорта получились довольно скромные, поскольку наше приложение в своем текущем виде не может эффективно задействовать более 4 потоков. Похожая ситуация с детекцией автомобилей и визуальной локацией: алгоритмы имеют нераспараллеленные участки, поэтому не приходится ожидать линейного масштабирования при росте числа ядер. Однако там, где нет ограничений на загрузку приложениями всех ядер процессора, мы наблюдаем рост в 3.2 раза, это близко к теоретическому пределу в 3.6 раз. В среднем разница производительности между поколениями процессоров МЦСТ на нашем наборе задач составляет порядка 2-3 раз, и это очень радует. Только за счёт увеличения частоты и совершенствования архитектуры мы наблюдаем выигрыш более чем в 1.7 раза. МЦСТ быстро нагоняет Intel с ее стратегией в добавлении 5% в год.


В процессе тестов под полной нагрузкой мы не испытывали проблем с зависаниями и падениями, что говорит о зрелости процессорной архитектуры. Подход VLIW, развиваемый в Эльбрусах-8С, позволяет добиваться работы в реальном времени различных алгоритмов компьютерного зрения, а библиотека EML содержит весьма солидный набор математических функций, которые позволяют экономить время тем, кто не собирается оптимизировать код сам. В заключение мы провели еще один эксперимент, запустив сразу 3 демонстрации (локализацию, поиск машин и поиск лиц) на одном процессоре Эльбрус-8С и получив среднюю загрузку процессора около 80%. Тут уж без комментариев.



Хотим сказать большое спасибо компании и сотрудникам МЦСТ и ИНЭУМ Брука за возможность попробовать Эльбрус-8С и поздравить их - восьмерка более чем достойный процессор и пожелать им успехов!

Использованные источники

P. Viola, M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proceedings of CVPR 2001.
B. Fan, Q. Kong, T. Trzcinski, Z. H. Wang, C. Pan, and P. Fua, “Receptive fields selection for binary feature description,” IEEE Trans. Image Process., pp. 2583–2595, 2014.




Top