ПРОГРАММНО-АППАРАТНЫЕ СРЕДСТВА ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ
УДК 004.2
А. Е. Платунов
РЕКОНФИГУРИРУЕМЫЕ ВСТРАИВАЕМЫЕ СИСТЕМЫ И СИСТЕМЫ НА КРИСТАЛЛЕ
Рассмотрены возможности совершенствования технологии проектирования встраиваемых систем и систем на кристалле. Изучены особенности реконфигури-руемой архитектуры специализированных вычислительных систем. Предложен перспективный подход к проектированию реконфигурируемых систем.
Ключевые слова: встраиваемая система, реконфигурируемая система, вычислительная архитектура, процесс проектирования, высокоуровневое проектирование.
Стремительное развитие встраиваемых вычислительных систем (ВС) и их разновидности — систем на кристалле — определяется возрастающей автоматизацией и компьютеризацией всех сторон жизни человека. Обеспечить кардинальное повышение надежности, безопасности, производительности, мобильности при одновременном сокращении сроков проектирования и стоимости позволит использование реконфигурируемой архитектуры.
Реконфигурируемые ВС в силу своей организации проблемно-ориентированы, что определяет их востребованность в сегменте встраиваемых систем и систем на кристалле. При этом они чрезвычайно разнообразны и, как следствие, сложны в проектировании.
Встраиваемая вычислительная система — любая ВС, не являющаяся системой общего назначения, т.е. не ПК и не сервер коллективного пользования. Система на кристалле — микросхема, представляющая собой совокупность взаимодействующих функциональных макроблоков ВС. Разнообразие этих систем породило большое число локальных методик проектирования. Однако системы этого типа — проблемно-ориентированные по сути и сложные по организации, что позволяет в едином ключе рассматривать методы их проектирования [1]. Основой для этого выступает проектная платформа как решение архитектурного уровня, которое определяет практически весь маршрут проектирования и реализации.
В методах и средствах проектирования систем все активнее используются принципы Hardware/Software (HW/SW) Codesign, при этом проектная платформа выступает одним из центральных понятий. Поддерживая в проектах архитектурную и микроархитектурную гибкость в широких пределах, такие методологии нуждаются в формализации и увеличении проектного пространства концептуальных решений. Распространенным технологиям, в основе которых лежат иерархии „простых" программных платформ на фиксированной аппаратной платформе (процессоры общего назначения) или полностью заказное аппаратное проектирование (ASIC), необходима альтернатива. Сегодня на эту роль все активнее претендуют реконфигурируемые архитектуры.
В 1959 г. Дж. Эстрин ввел понятие „реконфигурируемая вычислительная машина" как альтернативу программируемой машине фон Неймана. С этого момента работы в области ре-конфигурируемых архитектур (РА) ведутся постоянно. Понятие „реконфигурируемая вычислительная система" (РВС) меняется от „программируемого кусочка кремния" (S. Goldstein) до „системы, в которой после ее производства конфигурация подсистем или подсистемы может быть заменена или модифицирована для ее функционирования с определенной целью" (L. Jozwiak). В работах [2—4] представлен спектр взглядов на реконфигурируемость в вычислительной технике, разнообразие РА, методы и технологии их проектирования.
В понятие РВС специалисты включают архитектуры от однородных вычислительных сред с различной гранулярностью элементов (например, FPGA) до вычислительных сетей разного масштаба (как пространственно-распределенные конфигурации, так и сети на кристалле). В пределе даже программируемые процессоры общего назначения могут определяться в качестве РВС, так как в них аппаратные блоки организуют различные тракты обработки в рамках выполнения конкретных команд [3]. Сегодня единая классификация РВС отсутствует, их сопоставляют по следующим основным характеристикам: роль и расположение ресурсов в системе; типы реконфигурируемых блоков; уровень гранулярности и степень однородности реконфигурируемых ресурсов; метод, время, степень реконфигурации.
Реконфигурируемость обеспечивает повышение производительности, функциональную гибкость и адаптивность, улучшение комплекса надежностных характеристик, сокращение энергопотребления и размеров. Другие достоинства РА требуют анализа жизненного цикла изделия и возможных подходов к его проектированию: удовлетворение нужд потребителей, быстрая разработка и выведение на рынок, повышение качества продукта, адаптация к новым стандартам, снижение стоимости разработки.
Практическое применение РА сдерживают проблемы архитектурного проектирования и отображения (mapping) прикладных алгоритмов на ресурсы РВС. Они должны решаться в комплексе с высокой степенью автоматизации для режимов статического и динамического реконфигурирования.
Разработками в области встраиваемых систем и систем на кристалле активно занимаются сотрудники научно-учебно-производственного кластера „Проектирование встраиваемых систем и СнК" <http://embedded.ifmo.ru>, основу которого составляют кафедра вычислительной техники НИУ ИТМО и научно-производственная фирма „ЛМТ" <http://lmt.ifmo.ru> [1]. Результатами работ являются специализированные вычислительные платформы и комплексы технических средств, на основе которых серийно выпускается множество систем и приборов различного назначения.
За последние 15 лет специалистами коллектива был создан и внедрен ряд систем, в которых активно используются принципы реконфигурируемости. Приведем самые интересные, на наш взгляд, проекты:
— ведущий процессорный модуль линейного пункта централизации — реконфигурируе-мый вычислитель M3M серийной системы железнодорожной автоматики КТС „ТРАКТ" [5]: контроль и обработка сбоев, неисправностей, программных коллизий и их частичное исправление обеспечиваются на четырех уровнях гетерогенной реконфигурируемой архитектуры M3M;
— реконфигурируемые вычислительные платформы LIC5091 [6] и MiniLab [7, 8], используемые в серийных сложных аналитических приборах и инструментальных комплексах прототипирования систем на кристалле, обеспечивают до трех уровней пользовательского статического и динамического реконфигурирования;
— „Платформа автоматизированного проектирования реконфигурируемых аппаратных ускорителей" [9] и „Инфраструктурные IP-ядра реконфигурируемых СнК".
Реконфигурируемые встраиваемые системы и системы на кристалле
51
При создании ВС все большее значение приобретает этап высокоуровневого проектирования (HLD, High Level Design) [10], основные задачи которого создание концепции решения целевой задачи, формирование исходных спецификаций, выбор и согласование моделей вычислений, формирование архитектуры и микроархитектуры, формирование выходных спецификаций для этапа реализации. На основе опыта создания встраиваемых ВС, в том числе с РА, специалистами кластера предложены новые методики и технологии архитектурного проектирования, базирующиеся на системе архитектурных абстракций, объектно-событийных моделях вычислений и аспектной методологии проектирования [11].
Встраиваемые системы — специализированные микропроцессорные системы, непосредственно взаимодействующие с объектом контроля или управления. В отличие от традиционных микропроцессоров, ПЛИС и ASIC, система на кристалле рассматривается как ВС в интегральном исполнении, созданная на заказ по технологиям, доступным массовому разработчику (например, скомпилированная из готовых IP-ядер).
Объекты и процессы HLD представлены четырьмя группами абстракций:
— базовые элементы ВС (вычислительный механизм, вычислительная платформа, архитектурный агрегат);
— абстракции представления ВС на системном уровне (архитектура, архитектурная платформа, архитектурная модель, аспект);
— абстракции процесса проектирования (проектирование встраиваемых ВС, инфраструктура проекта, проектное пространство, аспектное пространство);
— понятия для анализа и оценки существующих архитектурных решений (вычислительный процесс, виртуальная машина, модель вычислений — МВ).
Модель вычислений — математическая модель, которая демонстрирует вычислительные возможности и правила использования субъекта вычислений (актора). Виртуальная вычислительная машина определяется как техническое решение, реализующее семантику МВ. Вычислительный механизм — техническое решение, реализующее субъект МВ. Вычислительная платформа как зафиксированный для повторного использования набор спецификаций предоставляет заданный уровень абстрагирования от конкретной реализации и выступает основным инструментом повторного использования на архитектурном уровне. Процесс проектирования встраиваемых систем рассматривается как организация вычислительного процесса в пространстве и времени с учетом исходных (техническое задание) и инфраструктурных ограничений. Аспектная модель проектирования основана на идее выделения сегментов проектного пространства, в рамках которых отражаются отдельные проблемы проекта. Разработчик формирует список концептуальных и локальных аспектов, характерных для всего проекта или отдельных его этапов.
Итак, в контексте высокоуровневого проектирования определим реконфигурируемость ВС как способность изменять МВ на этапе исполнения. Важно, что такой взгляд устраняет противопоставление, связанное с HW/SW-характером реализации реконфигурируемой части ВС.
РВС — сложный динамически изменяемый архитектурный объект, проектирование которого целесообразно выполнять с позиций унифицированного представления всех элементов вычислительного процесса, с возможно поздним их разделением на HW/SW-реализации. Задача отображения должна решаться в терминах вычислительных механизмов. Проектирование архитектуры и микроархитектуры реконфигурируемых встраиваемых вычислительных систем и систем на кристалле предлагается выполнять в представленной выше „системе вычислительных координат". В комплексе это позволит от инженерной эмпирики переходить к целенаправленному поиску и отбору обоснованных концептуальных решений для всех уровней организации ВС.
Специалисты кластера „Проектирование встраиваемых систем и СнК" развивают исследования в области систем со свойствами многоуровневого прикладного программирования/
конфигурирования, разрабатывают пространственно-распределенные архитектуры со сложными гетерогенными вычислительными ядрами. Архитектурные решения развиваются в комплексе с методологией проектирования и автоматизированной инструментальной инфраструктурой.
Использование принципа реконфигурируемости архитектуры позволяет получать вычислительные системы со многими полезными свойствами. Однако для этого необходимо обеспечить специалистов инструментами осознанного и контролируемого создания разнообразных архитектур и микроархитектур. Шаблонное проектирование аппаратно-программных систем должно отойти на второй план, будущее за технологиями проектирования проблемно-ориентированных ВС.
СПИСОК ЛИТЕРАТУРЫ
1. Платунов А. Е. Встраиваемые системы управления // Control Engineering Россия. 2013. Т. 43, № 1. C. 16—24.
2. Jozwiak L., Nedjah N. Modern architectures for embedded reconfigurable systems-A survey // J. of Circuits, Systems, and Computers. 2009. Vol. 18, N 2. P. 209—254.
3. Jozwiak L., Nedjah N., Figueroa M. Modern development methods and tools for embedded reconfigurable systems: A survey // Integration, the VLSI J. 2010. Vol. 43, N 1. P. 1—33.
4. ChattopadhyayA. Ingredients of Adaptability: A Survey of Reconfigurable Processors // VLSI Design. 2013. P. 18.
5. Гавриков В. О., Платунов А. Е., Никифоров Н. Л. Комплекс технических средств для систем железнодорожной автоматики // Автоматика, телемеханика и связь на железных дорогах. 1998. № 11. С. 5.
6. Голубок А. О., Платунов А. Е., Сапожников И. Д. Система управления сканирующим зондовым микроскопом // Научное приборостроение. 2003. Т. 13, № 3. С. 25—31.
7. Болгаров И. С., Маковецкая Н. А., Платунов А. Е., Постников Н. П. Проектирование приборных контроллеров // Изв. вузов. Приборостроение. 2012. Т. 55, № 10. С. 73—78.
8. Платунов А. Е., Постников Н. П. Перспективы формализации методов проектирования встроенных систем // Электронные компоненты. 2005. № 1. С. 24—29.
9. Румянцев А. С. Организация и инструментальные средства реконфигурируемых вычислительных систем // Научно-технический вестник информационных технологий, механики и оптики. 2012. № 4. С. 79—84.
10. Platunov A., Kustarev P. Problems of Abstract Representation of Embedded Systems at High-level Stages Design // Networked Embedded and Control System Technologies: European and Russian R and D Cooperation. Proc. of the 1st Intern. Workshop. 2009. P. 100—107.
11. Platunov A., Nickolaenkov A., Penskoy A. Architectural Representation of Embedded Systems // Mediterranean Conf. on Embedded Computing. 2012. P. 80—83.
Сведения об авторе
Алексей Евгеньевич Платунов — д-р техн. наук, профессор; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: [email protected]
Рекомендована кафедрой Поступила в редакцию
вычислительной техники 23.12.13 г.