Научно-учебно-производственный кластер «Встраиваемые вычислительные системы» СПбГУ ИТМО


PDF версия

Статья знакомит читателя с работами в области теории и практики создания встраиваемых систем, которые проводятся на кафедре вычислительной техники СПбГУ ИТМО в сотрудничестве с коллективом ООО «ЛМТ» (С.-Петербург).


Введение

Большую часть современной вычислительной техники, безусловно, следует относить к категории встраиваемых систем (ВсС). Создание такой техники представляет собой сложную и интересную задачу, поэтому в рамках этого направления на кафедре вычислительной техники СПбГУ ИТМО активно проводятся научные исследования и обучаются магистры и аспиранты.
В университете сформирован научно-учебно-производственный кластер «Проектирование встроенных систем», основу которого составляют кафедра вычислительной техники, лаборатория разработки и производства микропроцессорной техники университета, научно-производственная фирма «ЛМТ» [1, 2]. Кластер нацелен на решение перспективных научных, образовательных и производственных задач. Научные изыскания выполняются по следующим комплексным направлениям:
— методы и средства высокоуровневого проектирования встраиваемых систем;
— реконфигурируемые вычислительные структуры;
— проектирование систем на кристалле (СнК);
— системы управления мобильными объектами и сенсорные беспроводные сети.
Созданы и развиваются магистерские образовательные программы в области проектирования встраиваемых систем, систем на кристалле, контроллерных сетей.
В настоящее время кластер обеспечивает разработку и производство систем инфраструктурной, транспортной и промышленной автоматики, приборной электроники для сложных аналитических и технологических приборов, учебного и инструментального микропроцессорного оборудования.

Встраиваемые системы

Встраиваемые системы прошли определенный путь развития, что отражается в эволюции терминов:
— информационно-управляющие системы, 1960-е гг., УВК;
— встраиваемые вычислительные системы (embedded systems) — ВсС (ES), конец 1970-х гг.;
— распределенные встраиваемые системы управления (networked embedded control systems) — NECS/РИУС,
конец 1990-х гг.;
— Cyber Physical Systems (кибер-физические системы) — CPS, примерно с 2006 г.
С точки зрения классификации, встраиваемые системы в настоя­щее время определяются большинством специалистов лишь на интуитивном уровне, например как вычислительные системы, непосредственно контролирующие объекты реального мира. При этом открытым остается ряд важных моментов в организации ВсС, по которым мнения специалистов расходятся. В первую очередь это касается масштаба вычислительной системы (ВС), ее универсальности (специализированная ВС или проектная платформа), степени конструктивной связанности с объектом, архитектурных особенностей.
На сегодняшний день подавляющее большинство ВсС являются распределенными (РИУС, NECS). Представление ВсС как распределенных, включение в категорию ВсС контроллерных сетей или распределенных информационно-управляющих систем для многих специалистов (особенно отечественных) является спорным. В зарубежной научно-технической литературе, напротив, доминирует представление о ВсС как о широком классе вычислительных систем, включающем как малогабаритные или одномодульные устройства, так и распределенные системы, которые непосредственно сопряжены с объектами большой протяженности, большого масштаба, пространственно распределенными и т.д. И в этом смысле определенные изменения в восприятии, в мышлении специалистов, связанных с этой областью, в нашей стране обязательно должны произойти. Иначе мы будем продолжать разговаривать в области встраиваемых вычислительных систем на разных языках.
Перспективной является эволюция понятия ВсС в сторону комплексных кибер-физических систем (к ним можно отнести электронно-механические, гидравлические, биологические и т.д. системы с вычислительной составляющей). Суть термина CPS состоит в том, что проектирование объекта и системы управления этим объектом должно выполняться в едином ключе и в едином комплексе в рамках объединенных или как минимум очень тесно взаимодействующих инструментальных средств.
Четкого понимания и применения требуют отмеченные выше варианты трактовки ВсС как завершенной (целевой) прикладной системы или как проектной платформы (с различной степенью универсальности). Автор считает первый вариант более значимым в плане осмысления и организации процессов проектирования конечных систем и рассматривает второй (платформенный) вариант определения ВсС более узким. Проектирование вычислительной платформы удобно рассматривать в качестве одного из сценариев проектирования в области ВсС. Договоренность между специалистами по данному вопросу необходима для корректной оценки видов и объемов работ, выбора маршрутов проектирования, определения зон ответственности исполнителей, собственно, для выполнения проектов.
Важным в проектировании ВсС является анализ базовых сценариев проектирования, т.к. они во многом определяют постановку задачи или постановка задачи определяет выбор сценария и необходимую методику проектирования. В рамках сценариев методики сильно различаются. Подробное обсуждение сценариев проектирования ВсС с привязкой к технологиям и инструментальным средствам приведено, например, в [3]. Выделяются три сценария проектирования ВсС:
а) заказной или целевой, когда создается специализированная ВсС «под ключ»; б) создание вычислительной (проектной) платформы для целевых ВсС; в) модификация существующих систем или платформ. Основными являются первые два сценария. В качестве иллюстрации сложности и важности сценариев можно отметить бурное развитие методологии PBD (платформно-ориентированное проектирование) [4], первоначально явно направленной на создание СнК. В обозримой перспективе развитие СнК может преодолеть барьер, когда удельный вес реализации целевой задачи был значительно меньше затрат на создание платформы. Мы получим возможность в рамках данной технологии приблизиться (или перейти) к сценарию заказного проектирования. В таком случае акценты (и технологии) в PBD необходимо будет менять кардинально.
Понятие вычислительной или (более широко) проектной платформы играет важную роль в создании ВсС. Действительно, существует значительное число подходов или направлений в их проектировании. Коллективы специалистов в различной степени привержены конкретным направлениям и проектным платформам. Часто выбор платформы определяется вторичными, не совсем техническими, факторами, например традициями коллектива, освоенными архитектурами и инструментарием и т.д. Для разработчика ВсС очень важным является широкое видение и обоснованный выбор вариантов решения задачи.
Проектная платформа, как решение архитектурного уровня, в традиционных технологиях создания ВсС [5] действительно характеризует практически весь маршрут проектирования. Поэтому на основе этого понятия возможна классификация архитектурных решений для ВсС. Перечень широко используемых в настоящее время и перспективных категорий архитектурных платформ в области ВсС представлен ниже:
— платформы промышленных ПК;
— платформы программируемых логических контроллеров;
— полуфабрикаты от мультимедиа-индустрии (КПК и сотовые телефоны с мобильными операционными системами, системы прикладного программирования в стиле micro-DotNet и т.д.);
— микроконтроллерные модули со средствами программирования (на «железе», RTOS, виртуальные машины и т.д.);
— DSP-платформы;
— ПЛИС, ПСнК;
— ASIC, ASSP, SOC и т.д.;
— «свободная» кремниевая компиляция [6].
Данный перечень лишь в упрощенном и частично косвенном виде представляет вычислительные архитектуры ВсС. Например, в нем не отражен важнейший аспект распределенности и параллельности вычислений. В основу классификации в данном случае положено не назначение, не функциональность проектируемой системы, а архитектурная особенность, архитектурная направленность — парадигма, являющаяся фундаментом проектирования той или иной ВсС. Платформа в данном отношении рассматривается как нижний фиксированный в проекте уровень ресурсов/сервисов, «гранулярность» которых различна.
Поясним этот тезис. Например, платформы промышленных персональных компьютеров и программируемых логических контроллеров позволяют относительно просто и быстро создать прикладную систему, однако эта эффективность проявляется только в рамках «стандартных» технических заданий. Проектные платформы микроконтроллеров и сигнальных процессоров предоставляют большую свободу разработчику. Они имеют свою специфику, в первую очередь в организации системного программного обеспечения, в степени открытости архитектуры и т.д. В качестве платформ с успехом используются ПЛИС и программируемые СнК, сочетающие гибкость программных и аппаратных средств. Безусловно, можно говорить об использовании ветки заказного проектирования микросхем большой степени интеграции — ASIC. Нельзя упускать из виду и предельный вариант, когда в качестве платформы выступает весь электронный логический базис в рамках принципа свободной кремниевой компиляции. Последний вариант — в некотором роде из области фантастики, а перечисленные выше — наши реалии в проектировании.

Высокоуровневое проектирование встраиваемых систем

На сегодняшний день в цикле работ по созданию ВсС все большее значение приобретает этап высокоуровневого проектирования (High Level Design, HLD). На рисунке 1а показаны подуровни системного уровня представления/проектирования вычислительных систем традиционной Y-диаграммы. Системный уровень, который представляется обычно единым верхним уровнем, в настоящее время разделяется на три части (см. рис. 1): спецификация; архитектура (макроархитектура); микроархитектура.

                       а)
                       б)
Рис. 1. Высокоуровневое проектирование ВсС: а) подуровни архитектурного проектирования;
б) семантический разрыв в представлении проектной информации

Уровень исходной спецификации предполагает создание, в первую очередь, поведенческого представления ВсС непосредственно на основе технического задания. Уровень макроархитектуры содержит общее представление об устройстве ВсС, охватывая все ее компоненты, независимо от того, как они в дальнейшем будут реализованы. Уровень микроархитектуры должен содержать информацию о концептуальном устройстве отдельных вычислителей, входящих в состав ВсС, независимо от способа реализации вычислителя (например, в виде кремниевого процессора или виртуальной машины).
На практике сегодня большинство разработчиков ВсС либо вообще не использует деление на макро- и микроархитектуру, либо если микроархитектуру выделяют, то связывают ее исключительно с аппаратно реализованными процессорами (процессорными ядрами).
Перечислим основные задачи этапа высокоуровневого проектирования ВсС:
— концепция решения целевой задачи, исходные спецификации;
— организация вычислительного процесса (модели вычислений — MоC);
— организация инфраструктуры проекта;
— архитектура ВсС, ее оценка и верификация;
— выходные спецификации для этапа реализации.
Важную роль в данном отношении играет понятие модели вычислений (Model of Computation), которое позволяет создавать абстрактное представление ВсС и выполнять комплексное и поэлементное моделирование [7]. Инфраструктура проекта, которая определяет маршруты проектирования, инструментальные средства и многое другое, в случае ВсС часто по-прежнему организуется в рамках ограниченного числа шаблонов. Это препятствует анализу разработчиками многих потенциально возможных архитектурных решений, снижая эффективность проектирования.
Одна из важных проблем, которая пока продолжает усугубляться на фоне процессов ускорения проектирования ВсС, состоит в отсутствии эффективных технологий и инструментов сквозного цикла проектирования. Наиболее ощутимо она проявляется именно на высокоуровневых этапах проектирования (архитектурное, функциональное, логическое
проектирование).
На рисунке 1 показано наличие семантического разрыва между архитектурными описаниями и их восприятием исполнителями, выполняющими последующие этапы разработки. Этот разрыв обусловлен неадекватностью языка представления вычислительной архитектуры, недостаточно отработанной системой архитектурных вычислительных абстракций, которые должны использовать разработчики всех уровней ВсС, и естественно вытекающим из этого отсутствием инструментальных средств, поддерживающих такого рода абстракции. Безусловно определенные абстракции имеются, они используются разработчиками, но эти абстракции не увязаны друг с другом, т.к. де-факто архитектор, аппаратчик и программист в области ВсС разговаривают на разных языках.
Потери рабочего времени проектировщиков из-за семантического разрыва на маршрутах проектирования ВсС средней сложности по нашим оценкам составляют до 50%. Анализ проводился на выборке 10 проектов со следующими характеристиками: разработка ВсС на основе распределенных микропроцессорных архитектур со специальными механизмами повышения производительности и/или надежности; примерное количество строк кода проекта на С, C++, Verilog и др. языках — 50—350 тыс.; число основных исполнителей — 10—30 чел.). Типичные ошибки: а) непонимание локальной задачи рядовыми исполнителями; б) ошибки в архитектуре системы; в) сложности в понимании при передаче проекта в другую рабочую группу или фирму.
В таблице 1 приведены инструментальные средства архитектурного и системного проектирования. Видно, что индустриальные средства, которые позволяют эффективно работать на системном уровне проектирования ВсС, на сегодняшний день практически отсутствуют. Существует определенное число академических проектов исследовательского характера, которые развиваются в первую очередь в университетах. Эти средства, по отзывам не только представителей ведущих фирм по созданию инструментальных средств для индустрии, но и самих разработчиков ВсС, пока довольно далеки от эффективного коммерческого использования.

Таблица 1. Инструментальные средства этапа высокоуровневого проектирования ВсС

Разработчик

Инструмент

Назначение

Абстракции

Категория

Компания Mentor Graphics

SystemVision

Моделирование смешанного сигнала и высокоуровневое моделирование

VHDL-AMS, Spice, C

Промышленность

Компания National Instruments

LabView

Разработка контрольно-измерительных и испытательных приложений

Язык программирования LabView

Промышленность

Университет Калифорнии (Беркли)

Ptolemy II

Моделирование и разработка распределенных встраиваемых систем реального времени

Все модели вычислений

Научная

Университет Канзаса

Rosetta

Объединение неоднородных спецификаций в единую декларативную семантическую среду

Все модели вычислений

Языки

Компания Mentor Graphics

Nucleus

Семейство ОС реального времени и средства разработки

Программное обеспечение

Промышленность

Организация Open SystemC Initiative

SystemC

Обеспечение аппаратно-ориентированных структур в рамках контекста C++

Уровень транзакций в RTL

Языки

Консорциум Object Management Group

Unified Modeling Language

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

Объектно-ориентированные диаграммы

Языки

Компания Cadence

Incisive

Интегрированная инструментальная платформа верификации, включая симуляцию, формальные методы и эмуляцию

RTL и утверждения SystemC

Промышленность

Компания Synopsys

System Studio

Алгоритмическое и архитектурное проектирование, оценка производительности

SystemC

Промышленность

Университет Калифорнии (Беркли)

Metropolis

Функциональное и архитектурное проектирование, отображение, детализация и верификация

Все модели вычислений

Научная

Университет Калифорнии (Беркли)

Mescal

Программирование специализированных платформ

Расширенный комплекс моделирования Ptolemy II, сетевые процессоры

Научная

Исследования в области совершенствования технологий высокоуровневого проектирования ВсС в мире активно развиваются. Наш коллектив принимает участие в этих работах [8, 9]. Мы рассматриваем в качестве средства решения многих проблем в проектировании ВсС реализацию в методиках и инструментах следующих принципов:
— унификация взгляда (представления, использования и т.д.) на hardware/software (HW/SW);
— формирование согласованной системы высокоуровневых (архитектурных) абстракций для описания (представления) ВсС;
— широкое использование принципов платформно-ориентированного проектирования, в т.ч. на уровне ключевых решений в проекте;
— выделение функциональных и нефункциональных требований технического задания в аспекты процесса проектирования;
— динамический баланс «альтернатив»: проектирование/реализация, HW/SW, design/run time и др.
Инструментами реализации вычислительного процесса могут выступать различные вычислительные абстракции, часть из которых перечислена ниже:
— концепции проектирования (платформно-ориентированное, модельно-ориентированное, акторно-ориентированное и др.);
— модели вычислений;
— виртуальные машины;
— платформы (вычислительные, инструментальные, протоколов взаимодействия и т.д);
— механизмы (технические решения из различных областей-аспектов в абстрактном представлении);
— элементная база (как множество реализаций механизмов).
В рамках данного подхода организация вычислительного процесса, определенного в техническом задании на ВсС, рассматривается как инструмент реализации целевой встраиваемой системы.
На рисунке 2 показано место и значение архитектурной платформы в процессе проектирования ВсС, и перечислены основные элементы объектно-событийной модели вычислений РИУС (ОСМВ), которая разработана в ходе наших исследований [5, 8].

Рис. 2. Один из вариантов организации процесса системного проектирования ВсС
Контрактная разработка и производство встраиваемых систем

Наш коллектив активно занимается разработками и производством ВсС по требованиям заказчика (контрактная разработка и дальнейшее производство) [2]. Основные направления нашей производственной деятельности перечислены ниже.

Инфраструктурная автоматика:
— транспорт;
— энергетика;
— инженерное обеспечение зданий;
— ЖКХ.
— Системы мониторинга и контроля объектов.
— Приборная электроника.
— Учебно-лабораторные микропроцессорные комплексы.
Мы разрабатываем платформы и комплексы технических средств инфраструктурной автоматики различного назначения. Разворачиваются работы, связанные с беспроводными сенсорными сетями. Очень важным для нас является направление приборной автоматики по той причине, что именно при создании аналитических приборов коллективами, которые существуют при вузах или тесно связаны с вузами, удается получить интересную наукоемкую задачу. По нашему опыту, такого рода задачи позволяют создавать новые вычислительные архитектуры, рассматривать новые модели вычислений, поскольку необходимы специализированные вычислители с довольно сложным сочетанием функциональных и нефункциональных свойств.
Отдельное важное направление, в рамках которого мы выступаем производителями готового продукта, является направление учебных лабораторных комплексов на микроконтроллерах и ПЛИС. Семейство наших стендов SDK в настоящее время включает шесть моделей от базового устройства с классическим ядром MCS51 до устройств на платформах ARM и ПСнК [1, 2].

Подготовка специалистов в области проектирования встраиваемых систем

На кафедре вычислительной техники СПбГУ ИТМО наш коллектив создал две магистерские учебные программы, которые успешно развиваются [1]:
— «Проектирование встраиваемых вычислительных систем» — организация встраиваемых систем и комплексов с различной архитектурой, технологии и инструментарий высокоуровневого проектирования, встроенное программное обеспечение, схемотехническое проектирование.
— «Системотехника интегральных вычислителей. Системы на кристалле» — создание вычислительных компонентов и встраиваемых систем в интегральном исполнении, технологии высокоуровневого проектирования СБИС/СнК, тестопригодное проектирование, энергосберегающие технологии, средства моделирования и верификации СнК.
Основным отличительным моментом этих специализаций следует считать то, что мы готовим специалистов системного уровня, условно называя их «архитекторами». Это специалисты, которые могут эффективно работать на высокоуровневых этапах проектирования сложных ВсС, выполняя следующие функции:
— «архитектор» — сбалансированный взгляд и знания в системотехнике, архитектуре ВС, ПО, аппаратуре, инструментарии;
— специалисты по направлениям, но с базовым кругозором — встраиваемое ПО, ПЛИС/ПСнК, РИУС, HLD (грамотное моделирование с использованием современных инструментов), схемотехника микроконтроллеров + ПЛИС + аналого-цифровых узлов, инструментарий.

Заключение

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

Литература
1. http://embedded.ifmo.ru.
2. http://lmt.ifmo.ru.
3. D. Densmore, R. Passerone, A. Sangiovanni-Vincentelli. A Platform-Based Taxonomy for ESL Design//IEEE Design and Test of Computers, 23(5):359-374, September 2006.
4. A. Sangiovanni-Vincentelli Quo Vadis SLD: Reasoning about Trends and Challenges of System-Level Design//Proceedings of the IEEE, 95(3):467-506, March 2007.
5. А.Е. Платунов. Роль и проблемы высокоуровневого этапа проектирования встраиваемых вычислительных систем//Компоненты и технологии, №4, 2009, с. 98—100.
6. Л. Черняк. Кремниевая компиляция, из прошлого в будущее//Открытые системы, №2, 2009, с. 60—63.
7. Alberto Sangiovanni-Vincentelli and Grant Martin. A Vision for Embedded Software//Proceedings of CASES 2001, Atlanta, Georgia, November, 2001.
8. А.Е. Платунов, Н.П. Постников. Перспективы формализации методов проектирования встроенных систем//Электронные компоненты. 2005, №1, с. 24—29.
9. Alexey Platunov, Pavel Kustarev. Problems of Abstract Representation of Embedded Systems at High-level Stages Design//Proceedings of the International Workshop on Networked Embedded and Control System Technologies: European and Russian R&D cooperation — NESTER 2009. Milan, Italy, July 2009. INSTICC PRESS. P. 100—107.

Оставьте отзыв

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