Хардвер вторгается в софтвер на московской конференции SECR

Традиционно московская конференция CEE-SECR (Central & Eastern European Software Engineering Conference in Russia) была про софтвер, но в этом году ее организаторы решили поэкспериментировать и впустить темных демонов хардвера. Причем не из чего-то народного типа Ардуино, а из уровней посуровее: микроархитектуры микропроцессоров, прототипирования систем на кристалле с помощью микросхем ПЛИС/FPGA, и автоматической генерации тестов для процессоров во время их разработки. Чтобы привязать данный материал к чему-то знакомому для программистов, в хардверной теме возникли приложения встроенных процессоров для интернета вещей, связь лицензируемых микропроцессорных ядер с российскими микропроцессорными проектами, обучение хардверу в российских университетах, а также российские встроенные операционные системы реального времени для тех применений, куда нельзя впускать длинный нос американского Госдепа.

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



Первый доклад из секции — Юрий Панчул. Использование микропроцессоров MIPS для интернета вещей, компьютерного зрения и телекоммуникаций. Возможности для российских разработчиков программного обеспечения в экосистеме MIPS. Российские клиенты Imagination Technologies. Главная мысль — за последние годы стартовали несколько важных российских микроэлектронных проектов, которым для успеха (как на внутреннем, так и на мировом рынке) нужна поддержка российских разработчиков программного обеспечения. Дополнительные интересности доклада — рассказы о микроархитектуре и процессорных конвейерах.

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

Необработанные видео:

Потом выступал директор института электроники и приборостроения, Самарский национальный исследовательский университет им. академика С.П.Королёва, который обосновал идею, что негоже российским студентам замыкаться на чистом программировании, а пора расшириться в области DSP и ПЛИС-ов, что он преподает у себя в университете:

Затем выступил Антон Павлов, сотрудник НИИСИ (института, который спроектировал российский микропроцессор КОМДИВ-64). Антон Павлов покритиковал платформу MIPSfpga за недостаточную открытость и предложил альтернативы в виде открытых ядер с архитектурой MIPS32 Release 1. На что Юрий Панчул высказал, что открытые ядра — это прекрасно, и что любой студент микроахитектуры или верилога должен сконструировать собственное простое конвейерное ядро, чтобы понять концепции задержек конвейера и байпасов, но (!) потом (!) студенту желательно поработать с промышленным ядром, которое использовали для создания чипов десятки компаний (MIPSfpga с его ядром MIPS microAptiv UP такому требованию удовлетворяет — MIPS microAptiv UP использовал Samsung, Microchip Technology и многие другие).



Потом Александр Камкин из Института Системного Программирования РАН рассказал про свой проект Автоматизированная разработка генераторов тестовых программ для микропроцессоров на примере MIPS с генератором constrained random тестов. При этом он быстро пролистал слайд про будущие планы измерения test coverage (без этого трудно оценивать эффективность случайного тестирования с ограничениями):



Потом выступил Павел Бойко из АстроСофт, который рассказал про российскую RTOS МАКС, которая отличается от FreeRTOS и µC/OS российскостью — т.е. ее можно сертифицировать для проектов, в которых неправильно использовать одну из десятков зарубежных RTOS-ов:



К докладам этого типа примкнул на следующий день доклад Андрея Ефимова Виртуалтрединг: новая мета-архитектура компьютеров для прямого тонко гранулированного аппаратного мультипрограммирования, который экспериментирует с микроархитектурами на плате ПЛИС (чего я и желаю для расширения кругозора интересующимся темой программистам).