Про "Эльбрус" знают все, про "Байкал" — многие. А слышали ли вы когда-нибудь о CPU КВАРК, КОМДИВ и "Мультиклет" или, скажем, о MALT либо Leonhard? Нет? Тогда этот обзорный материал по отечественным микропроцессорам и архитектурам подготовлен именно для вас!
Перво-наперво очень рекомендуется ознакомиться с двумя буквально программными статьями на "Хабре": раз ("Микроэлектронная индустрия в России [2012]") и два ("Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?"). В целом они до сих пор актуальны — с поправками в некоторых цифрах, но суть, впрочем, не изменилась. Также полезно ознакомиться с историей о том, какие решения были приняты в СССР, — хотя бы на примере НИЦЭВТ. Напомним, что в 60-х пришли к выводу о необходимости создания серии мощных, унифицированных ЭВМ с единой архитектурой (ЕС ЭВМ) и в качестве основы для таковой была выбрана IBM System/360, хотя многие до сих пор считают этот выбор неудачным, потому что надежды на переиспользование стороннего ПО в итоге не оправдались. Более того, затраты на софт, по мнению некоторых исследователей, оказались много выше, чем на «железо». В этой истории есть несколько важных нюансов. Во-первых, тогда это было вполне законно, так как патентовалось обычно конкретное исполнение, а не сама архитектура. Представительство IBM появилось в СССР аж 1974 году, а оборудование в том числе и закупалось.
Во-вторых, выбор конкретной архитектуры занял не один год. Конкурентом IBM в этом вопросе была британская ICL, которая была готова продать лицензии со всей документацией и исходными кодами. По иронии судьбы ICL уже сама в 1991 году выкупила долю Казанского завода электронно-вычислительных машин и создала совместное предприятие. А после упразднения головной корпорации в 2013-м только российское подразделение, сильно разросшееся, стало работать под этим брендом. Наконец в-третьих, в СССР разработку собственных вычислительных систем вовсе не забросили, хотя и уделялось этому меньше внимания. Кроме того, за IBM вскоре последовали клоны PDP, а затем вообще стали копировать все хоть сколько-нибудь заметные на западном рынке архитектуры, процессоры, ПК, микроконтроллеры, периферию, софт и так далее.
Зачастую без оглядки на патенты и лицензии. Получалось всё это с переменным успехом. Что-то улучшали, что-то ухудшали, но в итоге всё это так или иначе работало и, что важно, с экономической точки зрения было вполне оправданно. Хотя многое и закупалось, пусть тоже не всегда и не совсем легально. С другой стороны, в отношении СССР с 1980 года в рамках программы КоКом (CoCom) были введены запреты — в том числе и на поставку вычислительной техники. Если вам интересна история, то можно начать знакомство с книги «Информационные технологии в СССР. Создатели советской компьютерной техники» за авторством Ю. Ревича. После распада ситуация поменялась кардинально — почти всё можно было купить или лицензировать, были бы деньги.
В связи с этим очень часто возникают споры. Если купили, например, лицензию на ядра и прочие IP-блоки, довели всю конструкцию до ума и отправили на производство за рубеж, то отечественное ли это изделие — или всё-таки нет? А если самостоятельно сделали схему под чужую систему команд? А если полностью выкупили всё-всё, но производят в России? В проекте Минпромторга, если коротко, предполагается двухуровневая классификация. В обоих случаях компания-разработчик юридически обязана быть российской. Для чипов первого уровня она должна заниматься разработкой «структуры, логической и (или) электрической принципиальной схемы, топологии, <…> ПО», а «производство интегральной схемы, включая транзисторный цикл и изготовление слоев металлизации, осуществляется на территории РФ». При этом вполне допускается покупка лицензий у любых компаний.
Для чипов второго уровня всё несколько проще. Тут нужно, чтобы права на топологию были в РФ, а выпускать микросхемы можно где угодно, но только если внутри страны нет требуемой производственной базы. Критерии вообще-то вполне справедливые, потому что покупка лицензий и готовых блоков — это даже не полдела. Перевести абстрактную «логику» в массовое производство «кремния», попутно обеспечив всё это программной платформой, очень непросто, особенно при уменьшении техпроцесса. К тому же многие почему-то любят говорить именно про микропроцессоры, но забывают о десятках категорий других компонентов или IP-блоков — какие-нибудь микроконтроллеры или просто контроллеры периферии/шин не менее важны. Опасения по поводу внедрения закладок в исходники или на этапе зарубежного производства небезосновательны, но, видимо, сочтены или слишком труднореализуемыми, или легко выявляемыми — ну или и то и другое. Да и в целом векторов атак намного больше.
Кроме того, ещё есть большая и важная область создания готовых продуктов, решений, систем. Просто для примера — компания YADRO занимается созданием СХД на базе платформы OpenPOWER. О некоторых аспектах работы она открыто рассказывает. Компания хоть и отнекивалась долгое время, но, похоже, именно её решения в комплексе «Купол» используются для реализации «пакета Яровой» на сети "Мегафон". Это тоже огромная инженерная работа и пример импортозамещения. С последним, правда, не всё так гладко. С другой стороны, замещение это далеко не всегда нужно. Приятно, конечно, потешить собственное самолюбие, попытавшись побороться в гражданском секторе с крупными западными игроками, но экономически это просто самоубийственно.
Поэтому вкладываются только в критически важные области, где в случае эмбарго есть риск остаться ни с чем: ВПК и ТЭК в первую очередь, а также в связь, медицину, космос. С этим, кстати, связано ещё несколько особенностей нашего рынка. Во-первых, практически невозможно найти детальную публичную информацию о реальных объёмах производства и конкретных заказчиках. Во-вторых, немало продукции имеет радиационно стойкое исполнение, расширенный температурный режим работы и прочие прелести. В-третьих, большинство разработчиков формально являются независимыми коммерческими предприятиями, но нередко складывается ощущение, что фактически деньги они прямо или опосредованно получают от единственного заказчика — государства и его структур. Иными словами, далеко не всегда и везде они конкурентоспособны на мировом рынке.
В частности, очень часто попрекают отечественное производство микроэлектроники отсутствием современных техпроцессов. Среди крупных заводов есть "Микрон", "Ангстрем" и "Ангстрем-Т", на которых доступны нормы вплоть до 90 нм, а когда-нибудь появится и 65 нм. Имеются и другие, более мелкие производственные площадки для норм микрометрового уровня или толще. Естественно, для действительно сложной электроники вроде CPU или SoC техпроцесс может быть критически важным, но для всего остального это далеко не всегда так. Вообще, подавляющее большинство компаний-разработчиков электроники уже давно перешли в стадию fabless, отдав производство на откуп профессионалам или изначально не вкладываясь в постройку собственных фабрик.
В свежем отчёте TSMC за второй квартал можно найти хорошую иллюстрацию. На современные нормы 10 нм приходится только 13 % заработка, 16/20 нм и 28 нм приносят 25 % и 23 % соответственно. При этом до сих пор сохраняются линии на 250 нм и толще. Обратите внимание, что речь в отчёте идёт о деньгах, а не о количестве кристаллов или пластин. Более старые техпроцессы дешевле современных, так что в реальности объёмы поставок чипов с суперкрошечными транзисторами существенно меньше, чем с относительно крупными. Просто так за «тонкостью» гнаться смысла нет. Вот с этим знанием можно приступить к знакомству с отечественной продукцией. В первой части мы рассмотрим CPU и SoC на базе зарубежных архитектур, а во второй обратимся к собственным разработкам. В обзор включены только наиболее интересные и заметные решения, а также несколько оригинальных архитектур и DSP. Вся информация получена из открытых источников, а некоторые технические нюансы опущены или осознанно упрощены для простоты понимания.
Эти RISC-процессоры собственной разработки компания Sun представила в конце 80-х годов прошлого века. Через пять лет после их анонса в России была создана организация «Московский центр SPARC-технологий» (МЦСТ, MCST, ныне АО «МЦСТ»), которая и занималась разработкой отечественных процессоров на этой архитектуре. Несмотря на то, что архитектура была лицензирована множеством компаний по всему миру, основными разработчиками CPU оставались всё же Sun и, в меньшей степени, Fujitsu. Последние поколения процессоров SPARC интересны тем, что они работают на высоких частотах (до 4-5 ГГц), поддерживают исполнение до 8 потоков на ядро, а также отличаются большим числом ядер (до 32). Фактически такие мощные решения сейчас разрабатывают только две компании — Oracle (SPARC M8) и Fujitsu (SPARC64 XII).
Правда, тут есть некоторые нюансы. Например, обе компании ориентируются на корпоративный и государственный сектора. Компания Oracle позиционирует SPARC-решения как отличное средство для работы с Java и собственной базой данных, а Fujitsu использует SPARC в суперкомпьютерах для внутренних нужд Японии, в том числе военных. Так что ситуация чем-то напоминает историю с Itanium — вероятно, новые CPU делаются только для исполнения контрактных обязательств по поддержке не слишком многочисленных, зато богатых и требовательных заказчиков. Не забывайте, что многие действительно крупные и критические программные комплексы могут работать не просто годами, а десятилетиями. Как нельзя кстати и тот факт, что все новые вариации SPARC-процессоров обязаны соответствовать эталонной спецификации SPARC V9 Level 1, выпущенной в 1993 году (это, впрочем, не значит, что разработчикам запрещено добавлять новые функции).
Фото: elbrusworld.com
С этим связан и другой нюанс. Основной ОС, наилучшим образом поддерживающей SPARC, долгие годы была Solaris, хотя существовали и другие проекты. При этом три года назад Oracle объявила о расширенной поддержке Linux, что можно трактовать и как отказ от Solaris. Ещё один хитрый момент — незадолго до того, как ее поглотила компания Oracle, Sun выложила в открытый доступ и IP-блоки последних на тот момент SPARC-процессоров, и коды Solaris. На практике действительно полезным OpenSPARC для себя сделали китайцы: в суперкомпьютере Tianhe-2 были CPU Galaxy FT-1500. Всё это сказано к тому, что на данный момент SPARC нельзя назвать популярной архитектурой и с точки зрения «железа», и в плане поддержки ПО. Рассчитывать на поддержку сообщества не стоит, хотя в нашем случае — «военка» и госзаказ — она скорее не нужна.
Первый отечественный SPARC-процессор МЦСТ R-100 (или R-80), который должен был прийти на смену загадочному «Электроника Эль-90», был готов к 1998 году. Это был одноядерный CPU с частотой 80 МГц и производительностью около 22 Мфлопс (62 MIPS). Изготавливался он по техпроцессу 500 нм на фабрике Atmel (купленой у ES2) во Франции, содержал порядка 2,1 млн транзисторов и потреблял примерно 3 Вт. Несмотря на то, что он прошёл госприёмку, серийное производство запущено не было. Вместо этого тот же самый процессор стали переделывать под техпроцесс 350 нм, что привело к появлению в 2001 году CPU МЦСТ R-150, первые партии которого были сделаны на израильской TowerJazz. Параметры всех последующих изделий на этой платформе можно узнать в "Википедии". Отметим, что поддержка SPARC V9, то есть 64-битной архитектуры, появилась только в R1000, а в дальнейшем часть партий изготавливалась на мощностях TSMC.
Фото: CNews.ru
Последний на данный момент чип R2000 МЦСТ представила этой весной. Разработка велась с 2014 года. R2000 — это восьмиядерный 64-битный процессор SPARCv9 с рабочей частотой до 2 ГГц и FP32-производительностью в 64 Гфлопс. Изготавливаться он должен на TSMC по техпроцессу 28 нм и потреблять 25 ватт. Впрочем, самое главное то, что новый CPU получил двухканальный контроллер памяти DDR4-2400. Другой свежий проект, но на базе SPARCv8, а точнее ядер серии LEON4, разрабатываемых в Европе для аэрокосмических нужд, появился в прошлом году. В России эти ядра используются в составе чипа 1906BМ016 от АО «НИИЭТ». Данное изделие может иметь частоту до 100 МГц и выпускается по 180-нм техпроцессу. Впрочем, в данном случае «тонкость» не так важна, потому что это сбоеустойчивая микросхема для нестандартных условий работы.
MIPS — это ещё одна RISC-архитектура, появившаяся в середине 80-х годов прошлого века. До последнего времени она была весьма успешной и применялась в основном во встраиваемых системах. Была она популярна и в университетской среде — как отличная база для изучения строения и проектирования микропроцессоров и их программирования. Однако на текущий момент ситуация не такая радужная: компания уже несколько раз была перепродана, как и её патенты. Можно услышать жалобы на ослабление поддержки разработчиков, да и в целом перспектива дальнейшего развития стала какой-то неопределённой.
Как и ARM, MIPS лицензирует свои наработки сторонним производителям, так что зоопарк решений просто огромен. И как и ARM, ядра MIPS нередко используются в качестве ядер общего назначения, тогда как основная работа, обработка данных или вычисления происходят в совсем других, кастомных блоках. Таких SoC великое множество, в том числе есть и отечественные, но отдельно перечислять их нет смысла. На досуге можете поинтересоваться, к примеру, какое ядро главное в столь любимых многими Raspberry Pi и почему их SoC уже практически достигли предела своего развития в рамках заданной цены на чип.
Собственно CPU на базе MIPS в России появились в серии Л1876: 32-битный процессор на базе лицензированного ядра R3000 имел частоту 16 или 25 МГц, к концу 90-х был переведён на нормы 1,2 мкм, потреблял до 4 Вт. Разработан он был в НИИСИ РАН, а производился на линиях "Ангстрема" как минимум до середины 2000-х. На форумах можно даже найти стоимость CPU вместе с SDK в те времена, которая в пересчёте на современные рубли должна составить около 30 тысяч. Впрочем, с моделью Л1876ВМ1 есть небольшая неразбериха, так как кое-где упоминается, что под этим индексом проходил клон i386, а вовсе не MIPS-процессор.
Дальнейшим развитием MIPS-совместимых решений занимался всё тот же НИИСИ РАН. И, надо сказать, успешно. Имена обеих серий говорящие — сразу понятно, что они не предназначены для гражданских нужд и какая у них разрядность. KOMDIV-32 продолжает развитие чипов на ядрах R3000 с середины 2000-х. Да, все они относительно слабые, так как их частота не превышает 125 МГц, зато почти все процессоры имеют радиационно стойкое исполнение и производятся в России по техпроцессу не тоньше 250 нм. А вот KOMDIV-64 намного более интересные. Они имеют до двух ядер MIPS IV с частотой до 1 ГГц и заявленную производительность до 80 Гфлопс в варианте с сопроцессором. Вообще, тут, как обычно, царит какая-то неразбериха. Вот тут указано, что старшая модель 1890ВМ9Я имеет инструкции 128/256 бит и работает на частоте до 2,5 ГГц, на сайте производителя ничего такого нет, а, скажем, вот здесь при поиске вообще выдаётся 128 бит и 250 МГц.
В любом случае, даже если отбросить эту загадочную историю с векторными расширениями (а похоже, что там именно они), это уже не просто CPU, а неплохие и достаточно современные SoC с контроллерами PCI, Ethernet, USB, SATA и рядом дополнительных шин в старших версиях. Да и в целом набор встроенных интерфейсов позволяет подключать разнообразные устройства и контроллеры. Также стоит отметить поддержку двухканальной DDR3-800/1200 в последних модификациях и возможность создания кластеров из данных CPU. Для встраиваемых и промышленных систем этого более чем достаточно. Пару лет назад был показан армейский компьютер «Восход» с KOMDIV-64. Сами процессоры последнего поколения производятся по 65-нм техпроцессу на зарубежных фабриках, но, как и прошлые версии, они со временем должны переехать на производственную базу в РФ.
Про этот процессор разработки компании «Байкал Электроникс» и плату ПАК BFK 3.1 есть отдельный материал с тестами производительности. Так что просто кратко напомним характеристики. Благо продукт этот гражданский, из-за чего никто не скрывает (ну почти) все его особенности. Итак, SoC «Байкал-Т1» имеет два 32-битных ядра на архитектуре P5600 Warrior (MIPS32 Release 5) с аппаратной виртуализацией и FPU, который поддерживает 128-бит SIMD. Теоретическая пиковая производительность составляет 12 Гфлопс FP32 при максимальной частоте 1,5 ГГц. Здесь тоже есть некий математический сопроцессор, но о нём разработчики предпочитают много не говорить. Одноканальный контроллер памяти поддерживает DDR3-1600 ECC объёмом до 8 Гбайт.
Однако интересен он скорее набором интерфейсов: PCI-E 3.0 x4, USB, SATA, гигабитный Ethernet и, самое главное, контроллер 10GbE. В довесок есть GPIO и пачка стандартных шин для низкоскоростных контроллеров и устройств. Данная SoC отлично подходит для индустриальных, сетевых и встраиваемых решений (список по ссылке явно неполон). Модель BE-T1000 (1,2 ГГц) доступна в рознице по цене 4 тысячи рублей, или $65. Выпускается она на TSMC по 28-нм техпроцессу и потребляет не более 5 Вт.
Про ARM можно сказать в общих чертах всё то же, что и про MIPS: популярная архитектура, великое множество вариантов ядер и огромное число продуктов на их основе. Правда, сейчас ARM всё-таки чувствует себя получше MIPS — даже первый суперкомпьютер на базе этих CPU должен уже скоро появиться, и это после стольких лет ожидания. Хотя с ноутбуками, например, всё до сих пор не слишком гладко. В России, как в мире, основная масса ARM-ядер используется во всяческих микроконтроллерах — это серия Cortex-M. Они хоть и важны, но не так интересны. Есть у нас, конечно, SoC с Cortex-A9: изделия "Элвис". Но у них «фишка» вовсе не в ARM. Единственным проектом по созданию собственной высокопроизводительной системы-на-чипе занимается всё та же «Байкал Электроникс».
На сайте информации о серии BE-M1000 (Baikal-M) совсем мало, а про Baikal-S и вовсе нет. Впрочем, вариант S от M будет отличаться только более простой конфигурацией GPU, так как ориентирован он на серверные инсталляции, в отличие от M, который создаётся для клиентских решений. На Computex-2017 были рассказаны некоторые подробности об устройстве этих SoC, которые представитель компании подтвердил в личном разговоре. Итак, изделия будут содержать до 8 64-битных ядер ARM Cortex-A57 (ARMv8-A) с поддержкой векторных расширений NEON и до 8 GPU Mali-T628 (MP8). Для всех типов ядер будет общий L3-кеш и двухканальный контроллер памяти DDR3/DDR4 ECC. Также говорится об аппаратном кодеке H.264/H.265.
Фото: PC Watch Japan
Заявленные частота ядер и TDP — до 2 ГГц и до 30 Вт соответственно. Однако основной интерес представляет набор внешних интерфейсов: 14 линий PCI-E, два SATA-3, по два контроллера 1GbE и 10GbE, 2 × USB 3.0, 4 × USB 2.0 и пачка других стандартных шин. Производство — как обычно: 28 нм у TSMC. Доступны новинки будут в следующем году. Да, есть задержка с их выходом рынок, но мы уже убедились, что разработчик способен доводить начатое до конца.
О молодой архитектуре RISC-V, которая постепенно становится популярной, мы уже неоднократно писали. Причём рост её, похоже, обеспокоил даже ARM, которая создала специальный сайт, описывающий недостатки новичка. Сайт в итоге поспешно удалили, но Интернет всё помнит. И зря, пожалуй, так как претензии не совсем уж безосновательны. Да, RISC-V — изначально полностью открытая архитектура, которая позволяет разработчикам самостоятельно добавлять свои расширения, что в теории грозит фрагментацией. К тому же само ядро бесплатно, а вот доведение его до ума и связка с другими IP-блоками — отнюдь нет. Да и экосистема в целом пока далека от той, что есть у ARM или MIPS. Тем не менее есть надежда, что RISC-V потеснит и ARM, и другие классические архитектуры. В России решения на базе RISC-V разрабатывают Syntacore и CloudBEAR.
Syntacore является одним из сооснователей головной организации RISC-V Foundation. Компания занимается разработкой 32-битных ядер на базе этой архитектуры, их кастомизацией под нужды конкретных заказчиков (DSP, акселераторы, оптимизация) и подготовкой ПО для разработки софта. Её ядра одними из первых были реализованы «в кремнии». Она же одной из первых продемонстрировала работу Linux на многоядерном CPU RISC-V. В портфолио компании есть три версии ядра для микроконтроллеров: SCR1, SCR3 и SCR4. Причём SCR1 является полностью открытым решением. Старшая модификация SCR5 рассчитана уже на работу с обычными ОС: 32/64-бит, 1-4 ядра, частота от 1 ГГц, 28 нм TSMC.
С CloudBEAR ситуация интересная. На сайте указано, что компания занимается разработкой и кастомизацией 32/64-битных ядер RISC-V для микроконтроллеров и многоядерных CPU. В Интернете можно найти названия ядер — BM350 и BI651-MC — и… слайды непубличной презентации с их предварительным описанием, которые мы здесь приводить не будем. Кроме того, нельзя не упомянуть ещё об одном проекте с RISC-V — платформе Anthill для работы на FPGA от МИЭТ. Но это всё-таки не коммерческий продукт — по крайней мере пока что.
Самая известная отечественная архитектура CPU, которая постоянно вызывает горячие споры, — "Эльбрус e2k". Это последняя из VLIW-реализаций «больших» процессоров общего назначения после ухода Itanium на покой, хотя различные ускорители, DSP и вычислительные блоки до сих пор используют её. Бытует мнение, что VLIW-подход при разработке новой архитектуры был выбран по экономическим соображениям. Да, VLIW, исполняя много инструкций за один цикл, способен показывать хорошую производительность, особенно при возможности распараллеливания. Подход VLIW, грубо говоря, позволяет избавиться хотя бы на начальном этапе от реализации в кремнии традиционных для других архитектур предсказателя ветвлений и суперскалярности, которые вкупе со спекулятивными вычислениями привели к появлению нашумевших уязвимостей Spectre и Meltdown. Это значительно удешевляет разработку и производство СБИС, но перекладывает все эти задачи оптимизации на компилятор, хотя для того же "Эльбруса" проекты по созданию предсказателя не новы.
Естественно, требуются собственные оптимизирующие компиляторы как минимум для популярных языков программирования. Но этого мало, нужны ещё переписанные стандартные библиотеки, системные утилиты, средства разработки, адаптированные реализации самых распространённых алгоритмов — и так далее. Чаще всего простой пересборкой проекта (без внесения правок в код) при портировании ПО между принципиально разными архитектурами не обойтись. И, скажем так, ходят слухи, что этот этап подходит к завершению только сейчас (хотя улучшать-то можно бесконечно), но всё равно есть разного рода нюансы вроде весьма своеобразного отношения к стандартам C++ компилятора для "Эльбрусов". Впрочем, в качестве запасного варианта есть динамическая бинарная трансляция x86, позволяющая, пусть и с потерями производительности, запускать уже имеющиеся ОС и ПО.
Двухпроцессорная плата на базе "Эльбруса-8С" (Фото: elbrusworld.com)
Процессоры массово выпускаются с середины 2000-х и имеют множество модификаций с числом ядер от одного до восьми (на текущий момент). Версии для техпроцесса 90 нм и толще производятся в России, а более тонкие — на зарубежных фабриках (TSMC). Отличительная черта серии — поддержка создания многопроцессорных систем для почти всех моделей, хотя скорость шины для попарного общения CPU — CPU или CPU — мост пока равна 16 Гбайт/с (по 8 в каждую сторону). Не умением, так числом. Другая черта, причем не самая лучшая, касается коммуникации с внешним миром. Текущая версия южного моста КПИ-2 имеет в сумме только 20 линий PCI-E 2.0, а их при построении вычислительных систем сейчас явно мало, так как интерконнект, накопители, ускорители их очень и очень любят. Совместимых с КПИ-2 процессоров сейчас есть только три: "Эльбрус-8С" (28 нм) и "Эльбрус-1С+" (40 нм), а также R2000, упомянутый в разделе про SPARC. Оба "Эльбруса" используют архитектуру четвёртого поколения и способны выполнять до 25 операций за такт.
"Эльбрус-8С" — это серверный процессор, содержащий 8 ядер, которые работают на частоте 1 или 1,3 ГГц. Он имеет производительность 250 Гфлопс FP32, а энергопотребление старшей версии не превышает 80 Вт. В связке могут работать сразу четыре CPU. Четырёхканальный контроллер памяти поддерживает до 64 Гбайт DRR3-1600 ECC. В этом году должны быть завершены ОКР для его наследника под названием "Эльбрус-8СВ", построенного на следующем поколении архитектуры: 28 нм, 8 ядер × 1,5 ГГц, до 50 операций на такт, 576 Гфлопс FP32, четыре канала DDR4-2400 ECC. В планах есть создание чипов "Эльбрус-16С" и "Эльбрус-16СВ". Последний ориентирован на суперкомпьютеры и должен быть готов к 2021 году. Он отличается не только повышенной производительностью (2 ГГц, 1,5 Тфлопс FP32) и более тонким техпроцессом (16 нм), но и набором шин. Собственно говоря, это будет уже SoC с контроллерами PCI-E 3.0 и 10 GbE. При этом потребляемая мощность должна быть равна 100 Вт.
Узел на базе чипа "Эльбрус-4С" производства РСК (Фото: elbrusworld.com)
"Эльбрус-1С+" — тоже SoC, но для компактных или встраиваемых систем. Данная модель содержит одно ядро "Эльбрус", которое работает на частоте до 1 ГГц и имеет производительность до 24 Гфлопс FP32. Двухканальный контроллер памяти DDR3-1600 ECC поддерживает установку 32 Гбайт RAM. Основная «фишка» данной SoC в наличии видеоядер: 2D-ядро MGA2 собственной разработки МЦСТ и отключаемое 3D-ядро GC2500, лицензированное у Vivante. Как и все CPU "Эльбрус", данная модель имеет расширенный диапазон рабочих температур: от -60 до +90° C. Последний из официально представленных продуктов на основе этой SoC был анонсирован несколько недель назад. Это защищённый «внедорожный» ноутбук под кодовым именем ЕС1866. С продуктами на базе CPU "Эльбрус", показанными на выставке "Иннопром-2018", можно ознакомиться в видео ниже. Ну и в целом можно полистать канал автора, если тема "Эльбрусов" интересна. Разработкой готовых решений на базе "Эльбрусов" занимается родственное предприятие ИНЭУМ.
Ещё один относительно молодой проект по созданию SoC/CPU. "КВАРК" (KVARC) основан на 32-бит RISC-архитектуре собственной разработки. На основе "КВАРК" компания-разработчик КМ211 предлагает серии ядер "КРОЛИК" КМx8 и КМx32 для микроконтроллеров, которые могут применяться, например, в SIM- или смарт-картах. Есть у компании и готовый вариант микроконтроллера "МАСТЕР КРОЛИК". Сравниваются они с ARM Cortex-M3/M0 и Synopsys DesignWare ARC 601/605. Отдельно подчёркивается, что выпускаться кристаллы могут и в России. Тем интереснее сводная таблица характеристик. Также там приводятся показатели производительности: 2,3 CoreMark/МГц. Для сравнения можно обратиться к обзору "Байкал-Т1", у которого этот показатель немного превышает 5 CoreMark/МГц в пересчёте на ядро (или 10 для всего процессора), но энергопотребление выше. На базе той же архитектуры разработан и микропроцессор общего назначения "МАСТЕР КВАРК" с рабочей частотой до 1450 МГц. Для него подготовлены компилятор и базовые библиотеки, а также портированы ОС Linux 3.4, неназванная версия Android и FreeRTOS.
"Мультиклет" (MultiClet) — ещё одна отечественная неклассическая архитектура CPU одноимённой компании. Для понимания её устройства можно почитать критику (там же поиском можно найти и другие материалы о платформе) и ответ разработчиков, ознакомиться с принципами EDGE и документами на "Мультиклет", обратив внимание на метод подсчёта Гфлопс. Сами создатели отмечают, что архитектура универсальная и не имеет аналогов. Из интересных особенностей стоит отметить параллелизм и потенциальную масштабируемость программ на любое число клеток без изменения кода, а также отказоустойчивость путём переноса задач на другие клетки в случае отказа одной из них или одновременное выполнение одного и того же кода на нескольких клетках с последующим арбитражем.
Помимо чипов на 180-нм техпроцессе, компания производит собственные платы и устройство «Цифровой Страж Key_P1 MultiClet» для защиты (шифрования и контроля доступа) SD- и USB-накопителей. Ранее была информация о разработках настольного (2,4 Тфлопс) и портативного (150 Тфлопс) суперкомпьютеров, плат ускорителей (80 и 300 Тфлопс) и криптотелефоне (чип R1) с шифрованием по ГОСТ. Теперь же заговорили о добыче криптовалют, для которой готовится версия чипа MultiClet S1. Сейчас компания предлагает несколько вариантов своих мультиклеточных ядер различных производительности и исполнения: P1, P2, C1, R1, L1. Сравнение производительности "Мультиклет" и других продуктов приведено здесь. В презентации также есть данные по CoreMark для P1 и R1 — лучшие результаты равны 0,31 и 0,56 CoreMark/МГц.
MALT (Manycore Architecture with Lightweight Threads) – относительно молодой российский проект по созданию многопроцессорных кристаллов, хотя их хочется назвать всё же ускорителями, сопроцессорами или как-то ещё, а не просто CPU. Первые образцы 96-ядерной версии кристалла MALT-C 9Mb96G были получены в конце прошлого года. Данный кристалл содержит 9 RISC-ядер общего назначения (ранее разработчики говорили, что выбрали MB-Lite) и три SIMD-кластера по 32 ядра MALT. Энергопотребление кристалла с частотой 800 МГц равно 1 Вт, изготовлен он был по 28-нм техпроцессу на TSMC, хотя адаптировать производство можно и для отечественных фабрик с более «толстым» техпроцессом. Второе поколение MALT «в кремнии» рассчитано уже на 16 нм TSMC. Впрочем, ранее сами создатели использовали ПЛИС для прототипирования систем, включающих до 210 ядер, и, что самое главное, активно занимались созданием программной инфраструктуры для проекта. Разработчики предлагают инструменты для работы с C++, OpenCL и собственный пакет MALTCC, по духу близкий к CUDA.
Компания предлагает три версии MALT. Модификация MALT-C ориентирована на работу с блокчейном и шифрованием. Вариант MALT-D нужен для работы с большими массивами данных, БД и графами, а MALT-F создаётся для расчётов задач математической физики. Сравнение эффективности приведено здесь. В планах есть разработка GPU на базе архитектуры MALT. В брошюре также приведены данные об общих характеристиках возможной SoC: частота до 1,2 ГГц, до 256 ядер общего назначения, до 1024 ядер MALT, до 96 Гбайт DDR3, интерфейсы PCI-E/1GbE/SATA, TDP до 50 Вт. На сайте компании можно подробнее ознакомиться с разработками, да и вообще очень отрадно, что создатели открыто рассказывают о своих продуктах, в отличие от некоторых других отечественных компаний.
Буквально пару слов стоит сказать о проекте Leonhard МГТУ им. Н. Э. Баумана — принципиально новом процессоре с собственным набором команд DISC (Discrete Mathematics Instruction Set computer, операции дискретной математики). Утверждается, что он сравним по производительности с Intel Pentium (2 ГГц) при работе уже на 100 МГц благодаря параллелизму. Причём концепция работы отличается — вместо привычных SIMD предлагается MISD (много инструкций, одни данные). Однако универсальным его назвать всё-таки нельзя, но он может дополнять имеющиеся процессоры или блоки в них. Leonhard нужен «для обработки множеств, структур данных и графов».
В презентации приведены следующие области применения новинки: ускорение работы с графами, анализ больших данных, компьютерное зрение, работа с финансово-экономическими моделями, машинное обучение, программно-определяемые сети (SDN) и так далее. Естественно, на таких задачах он намного более энергоэффективен обычных CPU, так что может быть использован во встраиваемых и ультракомпактных решениях или SoC. Впервые прототип Leonhard был представлен в прошлом году, а сейчас ведётся разработка второй версии. До реализации где-то, кроме FPGA, пока далеко. В целом же по чисто внешним признакам и области задач Leonhard чем-то напоминает умерший проект MicronAutomata, который в массовое коммерческое производство так и не попал (это не значит, что он вообще не производился для конкретных заказчиков).
Цифровые сигнальные процессоры (DSP) не являются CPU общего назначения, но от этого они не менее важны. DSP могут быть очень эффективными, но только в узком диапазоне задач (типов вычислений и данных), так что ко всем данным о флопсах надо подходить с осторожностью. Архитектурно они очень различаются и между собой, и в сравнении с обычными CPU — часто встречается модифицированный гарвардский подход. Наиболее удачные варианты могут лицензироваться или реимплементироваться другими компаниями. Впрочем, в России есть и свои собственные решения.
Это разработка НТЦ «Модуль», ориентированная на векторно-матричые операции над данными и сочетающая подход VLIW и SIMD. Разрабатывается и производится с 90-х годов. Современные модули имеют частоту 500 МГц, производятся по 65-нм техпроцессу и потребляют 2,6 Вт. Разработчик также предлагает готовые SoC с ядрами общего назначения ARM/PowerPC и ядрами NeuroMatrix. Также несколько лет назад был выпущен микрокомпьютер MB77.07 на базе одной из таких SoC. Его почему-то многие называли «отечественными Raspberry Pi», хотя он был полезен именно для изучения и программирования ядер NeuroMatrix. Та же платформа используется при создании ТВ-приставок, а для прочих решений есть свои комплекты разработчиков. DSP NeuroMatrix подходят для обработки/фильтрации/анализа цифровых сигналов, (де-) кодирования мультимедиа, цифровой радиосвязи, навигации, компьютерного зрения, ну и собственно нейронных сетей.
"Мультикор" (Multicore) — разработка АО НПЦ «ЭЛВИС». DSP основываются на собственной архитектуре, сочетающей, упрощённо, VLIW- и SIMD/MIMD-подходы. Именуются как ELcore-xx. Производятся как простые чипы с ELcore + MIPS32 RISCore32 (видимо, это вариация MIPS R3000) собственной разработки, так и более сложные SoC — с ARM-ядрами общего назначения (опционально доступны FPU-блоки), GPU и прочей обвязкой. Вариантов микросхем не так уж мало, к тому же DSP-блоки могут использоваться и в сторонних решения. Например, четыре ядра ELcore9 входят в состав "Эльбрус-2С+". Разброс частот, техпроцессов и производительности велик. К примеру, микросхема 1892ВМ10Я с двумя ядрами ELcore-30M (130 нм) на частоте 250 МГц потребляет 1,5 Вт и имеет производительность 4 Гфлопс (FP32?, см. выше замечание про флопсы). А вот для SoC «Мультиком-02» (МСom-02, 1892ВМ14Я) или VIP-1 (ВИП-1) штатная частота DSP равна уже 672 МГц (в пике 912 МГц), а потребляет она 3 Вт (ТП 40 нм).
Этот чип также отличается богатым набором интерфейсов и отдельным видеокодеком VELcore-01, обеспечивающим (де-) кодирование H.264 CBP Full HD-видео в стерео при 30 кадрах/с. На основе этой же микросхемы в прошлом году был представлен отладочный модуль в формате микро-ПК «Салют-ЭЛ24Д2», а в этом году модуль «Салют-ЭЛ24ПМ». Грядущая SoC ELISE на 28-нм техпроцессе будет иметь уже второе поколение кодека VELcore-2. Области применения у ELcore, в общем, те же, что и у NeuroMatrix. Родственная компания «ЭЛВИС-НеоТек» занимается разработкой и продажей готовых решений на базе продукции «ЭЛВИС». В частности, в серию с говорящим названием Orwell входят системы интеллектуального наблюдения, обнаружения и отслеживания объектов в видимом, ИК- и радиодиапазонах. Частный случай — система «Перекрёсток» (Travio) для автоматической фиксации нарушений ПДД. Компания занимается и созданием камер. В конце мая была представлена модель VisorJet 720: 24 Мп, обзор 360° × 360°. Эти камеры будут снабжаться SoC ELISE.
В статье приведён далеко не полный перечень современных отечественных разработок в области микроэлектроники. Если эта тема интересна, то можно начать более глубокое знакомство с каталогов и сайтов наиболее заметных производителей, таких как "Ангстрем", "Микрон", "Модуль", "Миландр", "Мультиклет", "Элвис", НИИЭТ, "Прогресс", НИИСИ РАН, МВЦ, МЦСТ, ИНЭУМ, ВЗПП-С. Также можно посмотреть на перечень испытанных ЭНПО СПЭЛС компонентов. Есть и специализированный сервис «Справочник ЭКБ ОП», но доступ к нему платный. Всю остальную информацию придётся искать самостоятельно в Сети, а лучше — в специализированных журналах, в том числе научных. Если повезёт, конечно, потому что иногда можно встретить вскользь брошенные упоминания об очередной разработке, жалобы на забюрократизированность, обсуждения несовместимости и так далее, но только не детальную информацию.
В целом же можно сказать, что процессоростроение в России не умерло. Да, оно находится, пожалуй, далеко не в лучшем состоянии, но точно не умерло. Флагманом остаётся серия "Эльбрус", которая продолжает развиваться и внедряться. Ряды МЦСТ R-xxxx совсем недавно пополнились новой моделью, так что эта серия тоже не заброшена. Обе серии создаются для госнужд, так что за безопасность готовы платить и дальше — это к постоянным негодованиям по поводу их цены. Для задач попроще, но в той же области есть серии "КОМДИВ-32/64", а также "КВАРК". В переходной, так сказать, области находятся "Байкалы" — они не создавались строго для госзаказчиков, но из-за этого компании придётся приложить усилия по продвижению своих продуктов для гражданского сектора, и не только отечественного. В ещё большей степени это касается наших разработчиков изделий на базе RISC-V.
Из неклассических отечественных архитектур производятся изделия "Мультиклет", но они ожидаемо весьма специфичны. Разработка MALT доросла до стадии прототипов в «кремнии», а проект Leonhard пока слишком молод, чтобы его реально оценивать. Наконец, DSP "Мультикор" и NeuroMatrix давно разрабатываются и производятся. Впрочем, как уже говорилось в самом начале, реально оценить и сравнить масштабы и конкуретоспособность российской микроэлектроники непросто. Остаётся только надеяться, что планировавшаяся когда-то стратегия Минпромторга по развитию отечественной радиоэлектроники до 2030 года, в которой говорилось о возможности занять 2 % мирового рынка этой продукции, не останется очередным примером необоснованных амбиций.