Мультиклет: Первые практические тесты и производительность

Сразу стоит заметить, что я рассматриваю только разработку на C (а не на Ассемблере) т.к. нынче время работы программистов стоит дороже мегагерцев и памяти. У С-компилятора Мультиклета тяжелая судьба, и на _данный момент_ он находится в зачаточном состоянии (в частности, не реализованы какие-либо оптимизации). Ситуация обещает исправиться к середине/концу года.
MultiClet: осваиваем SPI на примере работы с LCD
Квест первый
Сразу после подключения система радостно обнаружила спаренное FTDI-устройство, создав сразу два ttyUSBx-девайса. И тут дилемма — либо использовать Serial-консоль, либо иметь возможность заливать прошивки, — идущий в комплекте загрузчик работает напрямую с FTDI-устройством. Пришлось на коленке рисовать скрипты для «правильной» загрузки модуля ftdi_sio. Наколенность проявила себя в использовании питоновских биндингов к библиотеке ftd2xx. Общая суть сводится к выгрузке модуля, блокированию FTDI, используемого для прошивки, и одновременной с этим загрузке модуля обратно. Тогда ядерный модуль может заблокировать оставшийся FTDI для UART.
Hello, world! — слишком банально
Простенький «Hello, world!» с мигающими LED заработал сразу, только обнаружилось, что после прошивки линуксовым mc-ploader'ом необходимо дополнительо сбросить плату или подожать, пока сработает WDT.
Когда-то зимой заказывал себе пару SPI-экранчиков HY28A, но с нашей почтой пришли они только в мае. Тут и решение само пришло — начать с экранчика. Вооружившись USB'ым логическим анализатором SYSCLK DX, полез штудировать спеки на регистры GPIO и SPIx в процессоре MCp и ковыряться в примерах использования SPI.
Как я тестировал IDE компании «Мультиклет»
Как и чем сегодня защищать свои данные на ПК и накопителях?
Мультиклеточный процессор — это что?
Цифровой страж Key_P1: история создания и первые результаты
В данной статье хотелось поделиться опытом создания устройства в сфере информационной безопасности.
1. История создания
В конце 2013 года в компании Мультиклет появились идеи о движении вперёд и производстве не только отечественных процессоров, но и серийных устройств. Рассматривались идеи создания платы ускорителя с огромной производительностью для обычных ПК и устройства для защиты информации. Поскольку компания частная и большого финансирования для ускорителя в тот момент привлечь не удалось было решено начать с производства устройства для защиты информации.
Идея о создании устройства для защиты информации зародилась после теста алгоритма ГОСТ89 на процессоре Multiclet P1. Оказалось, что алгоритм шифрования достаточно хорошо распараллеливается и подходит для мультиклеточной архитектуры, пользователь хабра rnouse выявил ускорение шифрования на мультиклеточной архитектуре по сравнения с процессорами в рутокенах в 4 -5 раз.

Мультиклет R1 — первые тесты
Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.

Рис 1. Кремниевая пластина процессоров R1
Существует ли отечественный процессор Мультиклет?

Речь пойдёт о проблемах, с которыми мы столкнулись в процессе переноса, и о том, как мы эти проблемы устраняли. Возможно, это будет интересно не только тем, кто планирует использовать данный процессор, но и тем, кому по каким-то причинам будет необходимо перейти со стандарта c99 и gcc на стандарт c89 и какой-нибудь несовместимый с gcc компилятор. Также в заключении я позволю себе добавить личные ощущения от взаимодействия с данной платформой.
Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?

Пытливый читатель наверняка уже знаком с принципиально новой архитектурой процессоров — мультиклеточной; а если не знает, сможет бегло ознакомиться в нашей статье. Архитектура настолько непохожа на традиционные, что создание компилятора привычных языков программирования становится проблемой, с которой разработчики безуспешно борются многие годы.
Немного истории
С начала основания компании "Мультиклет" в 2010 велась разработка нескольких типов компиляторов для мультиклеточной архитектуры:
- С первым процессором Multiclet P1 в 2012 году был разработан в составе программного обеспечения компилятор С89 на базе LCC. Одновременно велась разработка первого варианта собственного компилятора, приостановленная ввиду изначально сложного нереализуемого замысла.
Как уже неоднократно указывалось во многих статьях на данную тему, а также признавалось самими разработчиками компании, компилятор на базе LCC имеет ряд существенных недостатков: поддержка лишь языка С89, отсутствие каких-либо оптимизаций.
Впоследствии данный компилятор был адаптирован для поддержки нового процессора Multiclet R1 (2015 г.), система команд которого была значительно расширена, но компилятор этого не учитывал.
Принимая во внимание эти недостатки, руководство компании в 2012 году собрало группу программистов, которым была поставлена задача разработать новый компилятор С99, лишённый указанных недостатков.
Компилятор LLVM для MultiClet: бенчмарк WhetStone

В России создадут криптодетективное агентство для изучения стартаперов
До 31 октября Совет должен разработать и утвердить положение об Экспертном совете и сформировать списочный состав. Пока что в него вошли чиновники и депутаты, а также несколько представителей индустрии, в том числе CEO компании Esonics Игорь Матюхин и президент Совета Евразии по цифровой экономике и инновационным технологиям, советник по блокчейн-технологиям в компании Esonics Денис Солдатов.
Несмотря на отсутствие списочного состава, Совет по криптовалютам РФ уже провёл первое заседание и начал генерировать идеи. Например, эксперты выдвинули предложение создать специализированное криптодетективное агентство для защиты инвесторов, которые вкладываются в ICO, пишут «Известия».
Перспектива: MultiClet S1

Итак, пришло время поговорить о следующем поколении мультиклеточных процессоров: MultiClet S1. Если вы впервые слышите о них, то обязательно ознакомьтесь с историей и идеологией архитектуры в этих статьях:
- «Мультиклеточный процессор — это что?»
- «Мультиклет R1 — первые тесты»
- «Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?»
На данный момент новый процессор находится в разработке, но уже появились первые результаты и можно оценить, на что он будет способен.
Развитие компилятора C для нового мультиклета-нейропроцессора

На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственного интеллекта. Условия для разработки нового процессора общего назначения, ориентированного на задачи ИИ, сложились в текущем году.
Нейропроцессор Мультиклет S2, проект которого был впервые представлен на Huawei Innovation Forum 2019 является дальнейшим развитием мультиклеточной архитектуры. От ранее созданных мультиклетов он отличается системой команд, а именно вводом новых типов малоразмерных данных (с фиксированной и плавающей запятой) и операций с ними. Увеличено количество клеток – 256 и частота – 2,5 ГГц, что должно обеспечить пиковую производительность 81,9 TФлопс на 16F и, соответственно, сделать его сравнимым, в части нейровычислений, с возможностями современных специализированных ASIC TPU (TPU-3: 90 Тфлопс на 16F).
Так как эффективность использования процессоров в значительной мере зависит от оптимальности компилятора разработана развиваемая схема оптимизации кода.
Рассмотрим ее более подробно.
Мультиклеточная архитектура: тесты и развитие

В этой статье мы поговорим о развитии архитектуры и аппаратной части, покажем проведенные тесты и оценим результаты и перспективы дальнейшей разработки. Если вы впервые слышите о мультиклеточной архитектуре, то можете ознакомиться с ней в предыдущих статьях:
«Мультиклеточный процессор — это что?»
«Мультиклет R1 — первые тесты»
«Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?»
«Развитие компилятора C для нового мультиклета-нейропроцессора»
Первое, что необходимо сказать, – Мультиклет концептуально переходит от разработки отдельных процессоров к разработке мультиклеточной платформы на основе MultiClet B – базового элемента, состоящего из 4 клеток.
Мультиклеты: влияние реконфигурации на бенчмарки и задачи майнинга

В 2014 году была опубликована статья о первом мультиклеточном процессоре с реконфигурацией. За прошедшее время накопился опыт ее использования и понимание, где она может применена с максимальным эффектом.
Как известно, физические и технологические ограничения, объективно существующие при проектировании и изготовлении новых микропроцессоров, постепенно перешли из теоретической в практическую плоскость. Планарные транзисторы перестали уменьшаться в 2D размерах и стали переходить в 3D измерение. Расстояния на чипе стали ограничивать тактовую частоту, а размеры чипа привели к тому, что на пластине годным стало считаться то, что хоть как-то работает. При этом, микропроцессоры стали напоминать ламповые компьютеры 60-х годов прошлого века, на корпусе которых можно было жарить яичницу.
Сегодня большинство бенчмарков процессоров, в первую очередь, оценивают производительность. Насколько быстро рисуется картинка на дисплее, насколько быстро перемножаются матрицы или как быстро осуществляется поиск в базе данных. Это, безусловно, важно. Но почему-то мало кто задается вопросом, насколько это оптимально. Может быть, лучше увеличить время решения на 10% и при этом уменьшить энергопотребление на 50%?