автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Платформа автоматизированного проектирования проблемно-ориентированных реконфигурируемых вычислительных систем

кандидата технических наук
Румянцев, Александр Сергеевич
город
Санкт-Петербург
год
2013
специальность ВАК РФ
05.13.12
Диссертация по информатике, вычислительной технике и управлению на тему «Платформа автоматизированного проектирования проблемно-ориентированных реконфигурируемых вычислительных систем»

Автореферат диссертации по теме "Платформа автоматизированного проектирования проблемно-ориентированных реконфигурируемых вычислительных систем"

На правах рукописи

¿ГГ .Ж

Румянцев Александр Сергеевич

ПЛАТФОРМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

Специальность 05.13 Л 2 "Системы автоматизации проектирования (приборостроение)"

5 ДЕК 2013

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Санкт-Петербург 2013

005542958

005542958

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

Научный руководитель: Ключев Аркадий Олегович,

кандидат технических наук

Официальные оппоненты:

Арустамов Сергей Аркадьевич,

доктор технических наук, профессор, кафедра проектирования и безопасности компьютерных систем ЮГУ ИТМО

Ведущая организация:

Окулевич Владимир Викентьевич,

кандидат технических наук, руководитель отдела разработки, подразделение автоматики и автоматизации на железнодорожном транспорте, Siemens AG

Федеральное государственное

унитарное предприятие "Санкт-Петербургское опытно-конструкторское бюро "Электроавтоматика" имени П.А. Ефимова"

Защита диссертации состоится «25» декабря 2013 г. в 15 часов 50 минут на заседании диссертационного совета Д 212.227.05 при НИУ ИТМО по адресу: 197101, Санкт-Петербург, Кронверкский пр., д. 49.

С диссертацией можно ознакомиться в библиотеке НИУ ИМТО.

Автореферат разослан «23» ноября 2013 г.

Ученый секретарь

диссертационного совета Д 212.227.05 кандидат технических наук, доцент

/ / / i*

Поляков В.И.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы. Широкое распространение информационных технологий в различных областях человеческой деятельности привело к большому разнообразию вычислительных платформ. Способы реализации вычислительных систем варьируются от специализированных аппаратных вычислительных устройств, ориентированных на узкий круг задач (например, свертка и дискретное косинусное преобразование), до архитектур на основе процессоров общего назначения, которые могут быть адаптированы к широкому диапазону приложений. Решением, обеспечивающим баланс между производительностью и гибкостью конечной системы, является использование рекоифигурируемых вычислительных систем, в которых для решения задачи имеется возможность изменять вычислитель, в том числе во время работы.

Существенный вклад в теорию рекоифигурируемых вычислительных систем внесли Каляев А. В., Эстрин Г., Юзвиак Л., Дихон А. и многие другие видные ученые и специалисты.

Реконфигурируемые вычислительные системы создаются с начала 60-х годов прошлого столетия, однако недостаточное развитие технологической базы вычислительных систем до недавнего времени сдерживало их распространение на фоне архитектур с программируемыми процессорами общего назначения. В настоящее время ситуация изменилась в связи с развитием электронной базы и технологий проектирования вычислительных систем, таких как Н\У/в\У Codesign, А81Р, АЗАМ. Множество рекоифигурируемых вычислительных систем с инструментальными цепочками программирования было создано для отдельных узких областей применения, таких как помехоустойчивое кодирование Рида-Соломона, конвейеризация циклов в мультимедиа приложениях, выполнение матричных преобразований и т.д. Однако по-прежиему существует потребность в САПР для создания специализированных вычислителей на базе рекоифигурируемых архитектур. Это и определило направление диссертационной работы.

Объектом исследования являются проблемно-ориентированные реконфигурируемые аппаратные ускорители и инструментальные средства их проектирования.

Предметом исследования являются методы проектирования проблемно-ориентированных рекоифигурируемых аппаратных ускорителей.

Целью диссертационной работы является создание платформы автоматизированного проектирования проблемно-ориентированных аппаратных ускорителей на основе рекоифигурируемых архитектур с комплексными операционными элементами.

Задачи исследования. В рамках диссертационного исследования были решены следующие задачи:

1. Анализ архитектур реконфигурируемых вычислительных систем и методов их программирования. Выбор структуры САПР и базовых методов для проектирования и программирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

2. Исследование и разработка микроархитектуры операционных элементов и коммуникационной среды проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

3. Разработка методов параметризации микроархитектуры и алгоритмов отображения прикладной задачи для проектируемой платформы автоматизированного проектирования на основе проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

4. Исследование и разработка методов автоматизированного программирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

5. Создание прототипа САПР проблемно-ориентированных реконфигурируемых аппаратных ускорителей для оценки эффективности предлагаемых научно-технических решений на примере задач цифровой обработки сигналов и мультимедийных данных.

Научная новизна. В диссертационной работе получены следующие результаты, характеризующиеся научной новизной:

1) Выполнена классификация существующих реконфигурируемых вычислительных систем на основе разработанной системы критериев. Представленная классификация отличается от существующих анализом структурных, функциональных и конфигурационных аспектов реконфигурируемых вычислительных систем.

2) Для построения САПР предложен принцип автоматизированного проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей на основе параметризации шаблона микроархитектуры и набора алгоритмов отображения прикладной задачи.

3) При построении САПР в качестве платформы выбрана архитектура, включающая в себя разработанный шаблон проблемно-ориентированного реконфигурируемого аппаратного ускорителя с сервисным процессором и инструментальную систему отображения целевых приложений.

4) Разработан маршрут проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей на базе выбранной платформы автоматизированного проектирования.

5) Разработан многофункциональный комплексный операционный элемент, осуществляющий выполнение приближенных арифметических операций над целыми числами или над числами с плавающей запятой в логарифмической области.

6) Представлены критерии адаптавного выделения вычислительно емких ядер из графа потока данных прикладного приложения для использования

в САПР, учитывающие выбранные параметры шаблона реконфигурируемого аппаратного ускорителя.

7) Разработан алгоритм отображения графа потока данных исходной программы на вычислительные ресурсы параметризируемого шаблона проблемно-ориентированного реконфигурируемого аппаратного ускорителя, основанный на решении задачи целочисленного линейного программирования, а также предложен альтернативный эвристический метод отображения, позволяющий учесть ограничение на общее время работы САПР.

Практическая ценность результатов работы состоит в том, что в результате проведенного исследования были разработаны:

1) Схемные реализации многофункционального операционного элемента для проблемно-ориентированных крупногранулярных реконфигурируемых аппаратных ускорителей.

2) Имитационная модель параметризируемого шаблона крупногранулярного реконфигурируемого аппаратного ускорителя для цифровой обработки сигналов и мультимедийных данных.

3) Прототип транслятора исходной программы цифровой обработки сигналов и мультимедийных данных на параметризируемый шаблон реконфигурируемого аппаратного ускорителя.

4) Прототип САПР на основе разработанного шаблона крупногранулярного реконфигурируемого аппаратного ускорителя для цифровой обработки сигналов и мультимедийных данных.

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

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

На защиту выносятся следующие положения:

1. Принцип построения САПР проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

2. Шаблон архитектуры проблемно-ориентированного реконфигурируемого аппаратного ускорителя.

3. Схемная реализация многофункционального комплексного операционного элемента, обеспечивающего выполнение приближенных вычислений.

4. Критерии адаптивного выделения вычислительно емких ядер из графа потока данных прикладной программы.

5. Алгоритм отображения графа потока данных исходной программы на вычислительные ресурсы параметризируемого шаблона проблемно-ориентированного реконфигурируемого аппаратного ускорителя (ОЦЛП).

6. Эвристический метод автоматизированного отображения графа потока данных исходной программы на вычислительные ресурсы параметризируемого шаблона проблемно-ориентированного реконфигурируемого аппаратного ускорителя (ОРВ).

Степень достоверности. Достоверность результатов обусловлена корректностью используемого математического аппарата, подтверждена имитационным моделированием, экспертизами работы при получении грантов, а также результатами внедрения.

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на:

• I научно-практической конференции молодых ученых «Вычислительные системы и сети (Майоровские чтения)» (Санкт-Петербург, 2010 г.).

• XL научной и учебно-методической конференции СПбГУ ИТМО (Санкт-Петербург, 2011 г.).

• VII Всероссийской межвузовской конференции молодых ученых (Санкт-Петербург, 2011 г.).

• XLI научной и учебно-методической конференции ПИУ ИТМО (Санкт-Петербург, 2012 г.).

• I Всероссийском конгрессе молодых ученых (Санкт-Петербург, 2012 г.).

• IV научно-практической конференции молодых ученых «Вычислительные системы и сети (Майоровские чтения)» (Санкт-Петербург, 2012 г.).

• Международной научно-практической конферепции «Научные исследования и их практическое применение. Современное состояние и пути развития' 2012» (Одесса, 2012 г.).

• XLII научной и учебно-методической конференции НИУ ИТМО (Санкт-Петербург, 2013 г.).

Кроме того, был получен международный патент: «WO/2013/081484: UNIFIED COMPUTATION SYSTEMS AND METHODS FOR ITERATIVE MULTIPLICATION AND DIVISION».

Внедрение результатов работы. Основные результаты работы были внедрены в проведенных в НИУ ИТМО НИР № 07.514.11.4073 и НИР № 1-СТ-ГГМО-0212, в научно-производственной фирме ООО «JIMT» и в учебном процессе на кафедре вычислительной техники НИУ ИТМО. Исследования поддержаны грантами Правительства Санкт-Петербурга в 2012 г. (№ ПСП-12316) и 2013 г. (№ ПСП-13382). Акты о внедрении прилагаются.

Публикации. Основные результаты диссертационного исследования опубликованы в 10-ти научных публикациях общим объемом 46 страниц, в том числе в 2-х статьях в изданиях, включенных в Перечень ВАК, и 1 патенте.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы из 86 наименований. Основная часть работы изложена на 151 странице машинописного текста, содержит 42 рисунка, 5 таблиц и 2 приложения.

СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе рассматриваются основные понятия реконфигурируемых вычислительных систем (РВС). Под РВС мы будем понимать систему, в которой для решения задачи имеется возможность изменять вычислитель, в том числе во время работы.

В главе представлен обзор РВС с анализом производительности, архитектуры, трудоемкости программирования и времени реконфигурации данных систем. Рассматриваются существующие подходы к проектированию и программированию РВС.

В диссертационной работе на основе анализа множества существующих вариантов РВС были выработаны следующие критерии классификации данных систем:

1. Роль и расположение реконфигурируемых узлов в системе.

2. Степень гранулярности реконфигурируемых узлов РВС (разрядность наименьшего конфигурируемого операционного устройства и обрабатываемых данных).

3. Типы доступных аппаратных вычислительных ресурсов в РВС.

4. Способ организации коммутационной среды РВС.

5. Метод реконфигурации вычислительных узлов в РВС.

6. Степень реконфигурации вычислительных узлов РВС.

7. Степень автоматизации процесса программирования и возможность интеграции в существующие цепочки САПР.

8. Целевая область применения (решаемый класс задач).

В САПР вычислительной техники все большее распространение приобретает методология проектирования Н\У/8\¥ СоёсБ'^п. В рамках данной методологии проектирования обеспечивается общий подход к проектированию вычислительных систем (ВС) с возможностью совместной разработки программной и аппаратной составляющей конечной системы. Однако данная методология проектирования не всегда оказывается эффективной для узкоспециализированных задач, в которых программный и аппаратный уровень системы объединяются в единый уровень реализации целевой задачи. Очевидно, что для проектирования ВС под проблемно-ориентированную область, включающую в себя множество задач, объединенных общим математическим аппаратом и похожими требованиями к целевой системе, необходима специализация методологии проектирования Н\У/8\У Codesign. С этой целью в диссертационной работе предложен принцип автоматизированного проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей на основе параметризации шаблона архитектуры и алгоритмов отображения прикладной задачи.

Во второй главе предложена базовая архитектура шаблона крупногранулярного реконфигурируемого аппаратного ускорителя (КРАУ), целевой областью применения которого является цифровая обработка сигналов и мультимедийных данных в области приближенных вычислений, и многофункциональный комплексный операционный элемент (ОЭ) для него. Разработанная архитектура шаблона КРАУ объединяет различные характеристики КРАУ, полученные на основе выполненной классификации РВС, такие как конвейеризация и параллелизм во времени и на уровне отдельных операционных элементов. Разработанный шаблон КРАУ представляет собой трехуровневую структуру. Отличительными свойствами разработанной архитектуры являются использование буферной памяти и управляющих контроллеров второго уровня для конвейеризации вычислений в ОЭ, адаптация коммутациогшой среды к потокам данных, характерных для цифровой обработки сигналов, и применение комплексных ОЭ. Данные технические решения позволяют эффективно выполнять целевые задачи мультимедиа и цифровой обработки сигналов.

Основным рабочим элементом шаблона КРАУ является двумерный массив ОЭ (рисунок 1), соединенных посредством иерархической конфигурируемой коммутационной среды. В разработанном шаблоне КРАУ помимо централизованных банков памяти используются локальные банки памяти или регистровые файлы. Данное решение обеспечивает высокую пропускную способность коммутируемой среды для эффективной поддержки

высокопараллельных вычислений. Внешний обмен данными происходит через централизованные банки памяти входных или выходных данных, подключаемых к основной системной шине передачи данных. Внутренний обмен данными осуществляется посредством распределенной коммутациоаной среды на основе протокола с квитированием установления связи.

Сервисный процессор

общего назначения

Системная память

Контроллер ввода/ вывода

£

Ж

Системная шина (адреса, данных, команд)

............................... ................ ........ —гг

А

47

Л С к. Монойлочная память входных

данных

41432 бита* 2)

<У N столбцов

Г >

Двумерный „ 32 бита

разреженный N-1

массив ОЭ

4>(32 бита* 2)

4>* N столбцов

—№ МоноЬлочная память выходных

—У данных

521

Память конфигураций

Реконфигура-

циомный контроллер

Мост к низкоскоростной шине/ устройствам

Рисунок 1. Структура разработанного шаблона КРАУ

Для управления КРАУ и загрузкой доступных конфигураций сервисный процессор платформы использует реконфигурационный контроллер, который обладает определенным объемом памяти для сохранения доступных конфигураций. Размеры всех банков памяти и количество ОЭ являются параметрами разработанного шаблона КРАУ.

Спроектированная коммутационная среда шаблона ускорителя (рисунок 2) позволяет осуществлять передачу данных смещенным на один элемент диагональным ОЭ через горизонтальные ОЭ, что позволяет эффективно реализовывать вычислительные сети типа «бабочка», наиболее часто встречающиеся в задачах цифровой обработки сигналов. Стоит отметить, что каждый ОЭ может быть использован как транзитный узел для передачи данных другому элементу.

Интерфейсы ввода-вывода второго уровня ОЭ (рисунок 3) представлены двумя входными портами данных, двумя выходными портами данных для выполнения симметричных операций над данными и интерфейсом доступа к центральному контроллеру. Основными блоками второго уровня ОЭ шаблона

КРАУ являются регистры защелки для входных данных, многоцелевой комплексный ОЭ, временный регистр или стековая память, два сумматора и контроллер второго уровня, включающий в себя память конфигураций.

Рисунок 2. Внутренняя коммутационная среда шаблона КРАУ, где соединения с соседними элементами; перемежающимися элементами и * контроллером конфигураций. КСОЭ - коммутируемое соединение ОЭ

Многоцелевой комплексный ОЭ использует метод выполнения арифметических операций в логарифмической области и обеспечивает выполнение приближенных вычислений множества арифметических операций (таких как умножение, деление, взятие квадратного корня, возведение в степень, вычисление двоичного логарифма числа и т.д.). В работе приводятся принципы функциопировання, лежащие в основе построения комплексного ОЭ, и полученные экспериментальные результаты прототипирования, доказывающие эффективность построения элемента в части возможности консолидации аппаратных ресурсов.

На рисунках 4 и 5 представлены варианты схемного исполнения логарифмических аппаратных блоков для целочисленной арифметики и для

арифметики с плавающей запятой в формате 1ЕЕЕ-754 соответственно. В ходе работы был осуществлён численный расчет различных параметров схемных реализаций логарифмических аппаратных блоков в среде МаЙаЬ с целью определения оптимальных параметров.

Рисунок 3. Структура второго уровня ОЭ шаблона ускорителя

С точки зрения использования аппаратных ресурсов оптимальная точность 29 бит для целочисленной приближенной арифметики была достигаута при 32х32-битной таблице поиска с грубой оценкой и 512x1-битной таблице поиска с уточняющей оценкой. Для приближенной арифметики с плавающей запятой оптимальная точность 20.2721 бит была достигнута при 256х23-битной таблице поиска для чисел с одинарной точностью формата IEEE-754.

Старшие цифры числа (MSB..L)

Младшие цифры числа (¡...О) Рисунок 4. Логарифмический аппаратный блок для целочисленной арифметики

Индекс для поиска по таблице ошибок (LUT) размера 2""J х з бит

экспонента

Рисунок 5 Логарифмический блок для арифметики с плавающей запятой

В ходе исследования производились эксперименты с использованием тестового набора приложений цифровой обработки сигналов DSPStone. В результате анализа прототипа системы на базе разработанного шаблона КРАУ, реализованного на языке проектирования моделей системного уровня SystemC, было отмечено 11-кратное ускорение по сравнению с программной реализацией приложений на 32-разрядном процессоре с архитектурой ARMvll как с поддержкой векторных вычислений, так и без нее.

Б третьей главе представлена разработанная платформа автоматизированного проектирования на основе шаблона КРАУ (рисунок б).

В предложенной платформе автоматизированного проектирования исходный код приложения, написанный на языке Си, сначала автоматически обрабатывается с использованием инструментария SUIF. На основе промежуточного представления исходного кода программы и параметризованного шаблона КРАУ осуществляется выделение графов потоков данных (ГГГД) вычислительно емких ядер (ВЕЯ) с использованием набора разработанных критериев. Кроме того, к промежуточному представлению исходного кода применяются базовые принципы оптимизации такие, как удаление неиспользуемого кода, оптимизация логических выражений, инвариантные для цикла преобразования кода и рекурсивное распространение константных значений.

Рисунок 6. Разработанная платформа автоматизированного проектирования

Конечный пользователь, на основе опенки текущего решения целевой задачи, осуществляет параметризацию шаблона КРАУ. Далее ГПД, которые могут быть реализованы на параметризированном шаблоне КРАУ, поступают на стадию синтеза конфигураций, а остальные операции компилируются в исполняемый код для сервисного процессора общего назначения. Стоит отметить, что помимо автоматизированного отображения ГПД на КРАУ используется подход па основе библиотеки готовых шаблонов отображения типовых операций в случаях, если прямого отображения не существует.

Отображение ГПД ВЕЯ программы на параметризованный шаблон КРАУ происходит с использованием разработанного алгоритма отображения на основе целочисленного линейного программирования (ОЦЛП) или путем использования разработанного эвристического метода отображения па основе алгоритма «разделения и выталкивания» вершин графа (ОРВ). Стоит отметить, что в результате синтеза конфигурации КРАУ не во всех случаях удается получить отображение приложения. Тогда операции, которые были выбраны для отображения на КРАУ, реализуются на сервисном процессоре общего назначения. Данный подход позволяет добиться гарантированной

работоспособности платформы проектирования за счет снижения эффективности конечного решения. Далее осуществляется оценка эффективности полученного решения с точки зрения удовлетворения характеристик спроектированной системы техническому заданию. В случае, если проектные условия не выполнены, осуществляется следующая итерация по разработанному маршруту проектирования, начиная с параметризации шаблона КРЛУ и изменения библиотеки готовых отображений типовых операций.

Автоматизированный маршрут проектирования состоит из следующих этапов:

1. Параметризация шаблона КРАУ конечным пользователем.

2. Оптимизация исходного кода с использованием инструментария SUIF.

3. Преобразование исходного кода в промежуточное машинно-независимое представление (IL - Intermediate Language) и дальнейшее его преобразование в граф потока данных и команд (ГПДК).

4. Преобразование ГПДК в ГПД с тегпрованием управляющими командами. Для этого преобразования используется обход ГПДК на основе алгоритма поиска в глубину, в процессе выполнения которого осуществляется формирование вершин ГПД, их входных и выходных зависимостей по данным.

5. Выделение ГПД, которые представляют собой ВЕЯ исходной программы. С целью построения критериев выбора ВЕЯ вводится параметр текущей «температуры» решения Тс, с помощью которого можно осуществлять выбор ГПД с точки зрения ресурсоемкости вычислительных и конфигурационных затрат. Кроме того, определяются следующие характеристики ГПД:

1) EV-входящие в граф (обрабатываемые) потоки данных (дуги Е графа С),

2) EyUt - выходящие из графа (обработанные) потоки данных (дуги Е графа С),

3) GBrows- количество элементов в строке ГПД при его укладывании на плоскость,

4) GBcok - количество элементов в столбце ГПД при его

укладывании на плоскость,

5) Коммуникационные издержки ГПД, которые определяются по

формуле GBcoms = — (где е - дуга, a v - вершина ГПД).

Тогда разработанные критерии, применяемые при выборе ГПД, можно определить следующим образом:

Первое соотношение позволяет задать допустимый уровень входной нагрузки на выделяемый ГПД. Второе и третье соотношение позволяют ограничить расширение выделяемого ГПД вдоль строк или столбцов целевого массива операционных элементов параметризованного шаблона КРАУ. Наконец, четвертое соотношение позволяет ввести ограничения на коммуникационные издержки выделяемого ГПД, что позволяет адаптивио выбирать ГПД, в которых происходят либо интенсивные вычисления, либо интенсивные процессы обмена данными.

Задача разработанного алгоритма ОЦЛП состоит в отображении произвольного ВЕЯ приложения на ускоритель путем решения задачи целочисленного линейного программирования (ЦЛП) с использованием заранее задаипой оценочной функции и ограничений.

Пусть (У, Е) - ГПД программы, (Р, ¿) - граф параметризованного шаблона КРАУ, а текущее количество транзитных вершин равно ТУ. Под транзитными вершинами будем понимать такие вершины, которые используются только для коммутации входных потоков данных к выходным портам н специально добавлены в граф или являются одними из существующих вершин графа.

Определим многокритериальную оценочную функцию (МОФ) и булевы оценочные переменные в задаче ЦЛП следующим образом:

=еее +111>с(очи+

I к I I к I

Е ТУ Ч Я

ЕЕЕЕк^+^о+и^*,51,

/ у к /

= 1, если V,. отображается на вершину КРАУ о)

. г,,И = 1, если г/ является транзитной вершиной кандидатом для дуги е, и может быть отображен на ра Чуй ~ ',сслигу является транзитной вершиной для дуги е1 и отображается на ри

где е V, е ТУ, ра <£ Р, М - количество строк в параметризованном шаблоне КРАУ, а ТУ-количество столбцов. М , №„с(0 и являются

весовыми коэффициентами.

Таким образом, задача алгоритма ОЦЛП сводится к минимизации количества используемых строк (иК), столбцов (иС) и транзитных вершин (и ТУ) в параметризованном шаблоне КРАУ за счет минимизации МОФ (1).

Е

вв„

<Л-

■>-■' ] — Тс N

"1-71

Е^

о'/г, <т

Ей

Разработанный алгоритм отображения на основе решения задачи ЦЛП (ОЦЛП) выполняется в два этапа:

1. В каждую дугу ГПД ВЕЯ приложения добавляется определенное количество транзитных вершин (TV) для увеличения потенциального множества решений и вероятности успешного отображения на параметризованный шаблон КРАУ. В результате экспериментов было определено, что необходимое количество транзитных вершин может быть, в общем случае, вычислено по следующей формуле: TV = M*N - ¡V!.

1. Решается задача ЦЛП на основе МОФ с использованием заранее заданных весовых коэффициентов для модифицированного ГПД ВЕЯ приложения. Для непосредственного решения задачи ЦЛП в разработанном САПР используется инструментальный пакет GLPK (GNU Linear Programming Kit).

Основная цель разработанного метода отображения ОРВ заключается в том, чтобы отобразить проблемно-ориентированную программу на параметризованный шаблон КРАУ с учетом заранее заданного ограничения по времени работа САПР. Метод ОРВ основан на алгоритмах составления оптимального расписания для многопроцессорных систем, покрытия графов и «разделения и выталкивания» вершин графа из области построения графов. Метод состоит из грех этапов:

1. Отображение исходного ГПД на сильно-связанный граф неограниченного количества ОЭ КРАУ с использованием алгоритма покрытия графов. Для данного процесса будем применять термин «кластеризация». При этом для отображения вычислительных операций, которые не могут быть выполнены на ОЭ КРАУ, применяется библиотека готовых шаблонов отображения типовых операций. Предлагаемый алгоритм «кластеризации» исходного графа состоит из следующих шагов:

1) Проход по всем вершинам исходного графа.

2) Если операция, которая выполняется в вершине, не может быть отображена на ОЭ КРАУ, то происходит попытка разделить операцию на несколько этапов (новых вершин) с использованием алгоритма генерации шаблонов покрытия и библиотеки готовых шаблонов отображения типовых операций для КРАУ, и осуществляется переход к шагу 1. В противном случае осуществляется переход к шагу 3.

3) Если операция, которая выполняется в вершине, отображается на ОЭ КРАУ, то осуществляется попытка объединения двух соседних вершин и осуществляется переход к шагу 4, иначе переходим к шагу 1.

4) Если объединенная вершина может быть отображена на ОЭ КРАУ, то полученная объединенная вершина заменяет две ранее используемые вершины и осуществляется попытка дальнейшего объединения вершин в шаге 3. В противном случае осуществляется переход к шагу 1.

2. Планирование отображения «кластеризованного» графа на параметризованный шаблон КРАУ с оптимизацией получаемого графа:

1) Использование алгоритма «разделения и выталкивания» вершин графа и нахождение минимального сечения графа на основе применения алгоритма оптимального планирования задач па многопроцессорных системах CASS-I1.

2) Применение разработанных эвристических методик к оптимизации отображения графа для параметризованного шаблона КРАУ:

а. Попытка изменения конфигурации транзитных вершин с использованием обратного алгоритма Штейнера, т.е. осуществляется сжатие графа вместе с уменьшением количества транзитных вершин.

б. Анализ возможности использования контроллеров второго уровня ОЭ КРАУ для последовательного выполнения в ОЭ КРАУ нескольких вычислительных операций. Для этой целей был разработан специализированный алгоритм.

в. «Сжатие» отображения «кластеризованного» графа на КРАУ по строкам и столбцам за счет коммутации входного и выходного банка памяти и использование контроллеров второго уровня ОЭ КРАУ.

3. Финальное отображение целевого приложения на вычислительные ресурсы параметризованного шаблона КРАУ с генерацией общей конфигурационной программы:

1) Учесть имеющиеся вычислительные ресурсы параметризованного шаблона КРАУ при отображении «кластеризованных» графов. Для достижения поставленных целей используется разработанный алгоритм отображения «кластеризованного» графа на вычислительные ресурсы КРАУ.

2) Сформировать конфигурационные карты для каждого цикла исполнения отдельных ОЭ шаблона КРАУ. Множество таких конфигурационных карт представляет собой конфигурационную программу исполнения ВЕЯ целевого приложения на параметризованном шаблоне КРАУ.

В результате выполнения автоматизированной платформы проектирования формируется основной управляющий код для сервисного процессора общего назначения с интегрированными «точками вызова» отдельных подзадач, выполняемых на параметризованном шаблоне КРАУ, и кодами конфигураций для этих подзадач.

В четвертой главе приводится описание прототипа платформы автоматизированного проектирования и имитационное моделирование ее основных элементов.

Для проведения экспериментальных измерений были выбраны различные методы отображения исходных приложений на КРАУ, которые были интегрированы в разработанный САПР: DRESC, AHN, SPK.M и QEA. Все эксперименты проводились на модели встроенной системы, реализованной на языке проектирования системного уровня SystemC, с сопроцессором на основе разработанного шаблона КРАУ. Параметризованный шаблон КРАУ состоял из массива 5x5 одинаковых 32-битных базовых вычислительных элементов, объединенных каналами передачи данных и конфигурационной сетью. Каждый базовый вычислительный элемент содержал блок стековой памяти размером 256 байт, 32-битный целочисленный многофункциональный комплексный ОЭ, выполняющий арифметические операции в логарифмическом базисе, и конфигурационный контроллер второго уровня с памятью на десять конфигураций.

Доля успешных отображений для набора случайных ГПД в зависимости от количества вершин показана на рисунке 7. Из рисунка видно, что разработанный метод ОРВ превосходит по эффективности методы AHN, DRESC и SPKM на 1015%, оказываясь сравнимым с методом QEA, а разработанный алгоритм ОЦЛП превосходит метод ОРВ в случаях, когда удается найти подходящее отображение.

На рисунке 8 представлена зависимость времени выполнения сравниваемых методов от количества вершин в отображаемом ГПД для случайной выборки. Можно заметить, что разработанный метод ОРВ превосходит по быстродействию остальные эвристические методы на 20-40%.

По времени выполнения отображаемого приложения из рисунка 9 видно, что разработанный метод ОРВ оказывается сравнимых», а в 6 из 10 проведенных экспериментов даже лучшим по сравнению с прочими методами. Эксперименты производились с использованием тестового набора приложений для цифровой обработки сигналов DSPStone.

Рисунок 7. Доля успешных отображений для набора случайных ГПД

Рисунок 8. Время выполнения сравниваемых методов для набора случайных ГПД

80

Рисунок 9. Время выполнения приложений из тестового набора £>Жйояе на системе с параметризованным шаблоном КРА У

В заключении представлены основные результаты работы.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. Разработан шаблон архитектуры крупногранулярного реконфигурируемого аппаратного ускорителя. для высокопроизводительной цифровой обработки сигналов и мультимедийных данных с целью построения САПР.

2. Предложен маршрут проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей, основанный на шаблоне архитектуры крупногранулярного реконфигурируемого аппаратного ускорителя, обеспечивающий итеративное приближение конфигурации системы к целевым характеристикам.

3. Разработан многофункциональный операционный элемент, осуществляющий выполнение приближенных арифметических операций над целыми числами и над числами с плавающей запятой в логарифмической области. Элемент обеспечивает единую аппаратную основу для приближенных вычислений в области цифровой обработки сигналов и мультимедийных данных в разработанном шаблоне реконфигурируемого аппаратного ускорителя с целью консолидации аппаратных ресурсов и упрощения логики управления.

4. Разработаны критерии адаптивного выделения вычислительно емких ядер из прикладного приложения для предлагаемой САПР. Критерии позволяют учесть базовые ограничения шаблона реконфшурируемого

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

5. Разработан алгоритм отображения графа потока данных целевой программы на вычислительные ресурсы параметризованного шаблона реконфигурируемого аппаратного ускорителя для построения САПР. Алгоритм основан на решении задачи целочисленного линейного программирования, оптимизирующей общее количество используемых операционных элементов в реконфигурируемом аппаратном ускорителе и количество операционных элементов, используемых в качестве транзитных. Разработанный алгоритм достигает 30% выигрыша в эффективности по сравнению с другими методами.

6. Разработан эвристический метод автоматизированного отображения графа потока данных исходной программы на вычислительные ресурсы параметризованного шаблона реконфигурируемого аппаратного ускорителя для построения САПР, позволяощий учесть ограничение на время выполнения САПР. Метод обеспечивает баланс между эффективностью и временем выполнения, оказываясь сравнимым с другими эвристическими методами по эффективности и превосходя их по быстродействию на 20-40%.

Эффективность применения платформы автоматизированного проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей была показана в процессе разработки ряда систем в ООО «ЛМТ». Результаты диссертационной работы и предложенные схемные реализации отдельных устройств были использованы в ряде НИР и в учебном процессе на кафедре вычислительной техники НИУ ИТМО. Внедрения подтверждены соответствующими актами.

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Румянцев A.C., Быстрый последовательный целочисленный делитель по основанию 4 [Текст] / A.C. Румянцев // Научно-технический вестник информационных технологий, механики и оптики. - 2011. -№6.-С. 78-84.

2. Румянцев A.C., Организация и инструментальные средства реконфигурируемых вычислительных систем [Текст] / A.C. Румянцев // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - №4 - С. 80-85.

3. Румянцев A.C., Отказоустойчивый алгоритм маршрутизации для сетей на кристалле [Текст] / A.C. Румянцев // Сборник трудов молодых ученых и сотрудников кафедры ВТ, СПбГУ ИТМО. - 2010. - № 1 - С. 55-61.

4. Богатырев В.А., Выбор структуры отказоустойчивого двухмашинного вычислительного комплекса [Текст] / В.А. Богатырев, В.Ф. Беззубов, Е.Ю. Котелышкова, A.A. Землянухин, С.И. Белоусов, A.C. Румянцев //

Информационные системы и технологии: теория и практика, СПб ГЛТА. -2010.-№3-С. 14-21.

5. Рубина И.С., Анализ сегментного подхода к компенсации движения в задачах детектирования движения и сжатия видеоданных в рамках натуралистических исследований [Текст] / И.С. Рубина, A.C. Румянцев // Материалы международной научно-практической конференции «Научные исследования и их практическое применение. Современное состояние и пути развития '2012». -2012. - №3 - С. 14-24.

6. Яналов Р.И., Исследование возможности использования гипервизоров в системах реального времени [Текст] / Р.И. Яналов, А.О. Ключев, А.Е. Платунов, A.C. Румянцев, A.A. Коваленко // Сборник трудов молодых ученых и сотрудников кафедры ВТ, НИУ ИТМО. - 2013. - №4 - С. 49-55.

7. Коваленко A.A., Выбор расширения реального времени ОС Linux для тестирования гипервизора [Текст] / A.A. Коваленко, А.О. Ключев, А.Е. Платунов, A.C. Румянцев, Р.И. Яналов // Сборник трудов молодых ученых и сотрудников кафедры ВТ, НИУ ИТМО - 2013. - №4 - С. 55-58.

8. Румянцев A.C., Архитектура базового вычислительного элемента крупнозернистого реконфигурируемого аппаратного ускорителя [Текст] / A.C. Румянцев // Сборник тезисов докладов конгресса »молодых ученых. -2012.-Ksi-С. 8-9.

9. Румянцев A.C., Разработка архитектуры и инструментальных средств крупнозернистого реконфигурируемого аппаратного ускорителя [Текст] / A.C. Румянцев // Сборник тезисов семнадцатой Санкт-Петербургской ассамблеи молодых ученых и специалистов. - 2012. - 180 С.

10. Разработка и исследование аспектно-ориентированных технологий проектирования на базе унифицированных элементов информационно-коммуникационной инфраструктуры активно-адаптивных энергосетей (Министерство образования и науки Российской Федерации, Государственный контракт 07.514.11.4073 от 13.10.2011) [Текст]: отчет о НИР / Платунов А.Е., Ключев А.О., Румянцев A.C. и др. - Санкт-Петербург: НИУ ИТМО, 2011. - 545 с.

11. UNIFIED COMPUTATION SYSTEMS AND METHODS FOR ITERATIVE MULTIPLICATION AND DIVISION [Текст]: патент № WO/2013/081484 / Rumyantsev A.S., Pavlov D.Y., Redkin A.N., Demidov D.V., Gusev D.A.; заявл. 29.11.11; опубл. 06.06.2013.

Тиражирование и брошюровка выполнены в учреждении «Университетские телекоммуникации» 197101, Санкт-Петербург, Саблинская ул. 14 Тел. (812) 233 4669 Объем 1 у.п.л. Тираж 100 экз.

Текст работы Румянцев, Александр Сергеевич, диссертация по теме Системы автоматизации проектирования (по отраслям)

САНКТ-ПЕТЕРБУРГСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И

ОПТИКИ

На правах рукописи

04201452868

РУМЯНЦЕВ АЛЕКСАНДР СЕРГЕЕВИЧ

ПЛАТФОРМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

Специальность: 05.13.12 - Системы автоматизации проектирования

(приборостроение)

Научный руководитель — кандидат технических наук А. О. Ключев

Диссертация на соискание ученой степени кандидата технических наук

Санкт-Петербург - 2013

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ.............................................................................................................2

Введение..........................................................................................................................4

1. Обзор существующих реконфигурируемых вычислительных систем........9

1.1. Введение..............................................................................................................9

1.2. Текущее состояние развития вычислительной техники.................................9

1.3. Понятие «реконфигурируемая вычислительная система»...........................17

1.4. Классификация существующих реконфигурируемых вычислительных систем..........................................................................................................................19

1.5. Методы проектирования и программирования крупногранулярных реконфигурируемых вычислительных систем........................................................27

1.6. Выводы..............................................................................................................38

1.7. Постановка задачи............................................................................................39

2. Архитектура шаблона крупногранулярного реконфигурируемого аппаратного ускорителя............................................................................................40

2.1. Введение............................................................................................................40

2.2. Структура крупногранулярного реконфигурируемого аппаратного ускорителя...................................................................................................................40

2.3. Операционный элемент крупногранулярного реконфигурируемого аппаратного ускорителя............................................................................................45

2.4. Многофункциональный операционный элемент..........................................48

2.5. Анализ производительности разработанного шаблона крупногранулярного реконфигурируемого аппаратного ускорителя.......................................................58

2.6. Выводы..............................................................................................................59

3. Маршрут автоматизированного проектирования проблемно-ориентированных реконфигурируемых вычислительных систем...................60

3.1. Введение............................................................................................................60

3.2. Маршрут автоматизированного проектирования крупногранулярных реконфигурируемых вычислительных систем........................................................61

3.3. Задача выделения вычислительно емких ядер в исходном приложении... 65

3.4. Задача отображения вычислительно емкого ядра программы на крупногранулярный реконфигурируемый аппаратный ускоритель......................68

3.4.1. Разработанный алгоритм отображения вычислительно емких ядер программ..................................................................................................................69

3.4.2. Разработанный эвристический метод отображения вычислительно емких ядер программ...............................................................................................75

3.4.2.1. «Кластеризация» вычислительно емких ядер на граф неограниченного количества операционных элементов ускорителя.............................................76

3.4.2.2. Планирование отображения «кластеризованного» графа...............79

3.4.2.3. Непосредственное назначение ресурсов реконфигурируемого аппаратного ускорителя......................................................................................83

3.5. Выводы..............................................................................................................84

4. Прототип платформы автоматизированного проектирования..................85

4.1. Описание прототипа платформы автоматизированного проектирования . 85

4.2. Экспериментальные результаты.....................................................................91

4.3. Выводы..............................................................................................................99

ЗАКЛЮЧЕНИЕ.........................................................................................................101

ЛИТЕРАТУРА...........................................................................................................103

Список сокращений и обозначений.......................................................................110

Приложение I. Листинг программ расчета параметров многофункционального комплексного операционного элемента в среде МаШЬ...........................................................................................................................112

Приложение 2. Листинг шаблона архитектуры разработанного реконфигурируемого аппаратного ускорителя на языке 8у81етС.................123

Введение

Широкое распространение информационных технологий в различных областях человеческой деятельности привело к большому разнообразию вычислительных платформ. Способы реализации вычислительных систем варьируются от специализированных аппаратных вычислительных устройств, ориентированных на узкий круг задач (например, свертка и дискретное косинусное преобразование), до архитектур на основе процессоров общего назначения, которые могут быть адаптированы к широкому диапазону приложений. Решением, обеспечивающим баланс между производительностью и гибкостью конечной системы, является использование реконфигурируемых вычислительных систем, в которых для решения задачи имеется возможность изменять вычислитель, в том числе во время работы.

Существенный вклад в теорию реконфигурируемых вычислительных систем внесли Каляев А. В., Эстрин Г., Юзвиак Л., Дихон А. и многие другие видные ученые и специалисты.

Реконфигурируемые вычислительные системы создаются с начала 60-х годов прошлого столетия, однако недостаточное развитие технологической базы вычислительных систем до недавнего времени сдерживало их распространение на фоне архитектур с программируемыми процессорами общего назначения. В настоящее время ситуация изменилась в связи с развитием электронной базы и технологий проектирования вычислительных систем, таких как НХУУБЭД" Соёез!§п, А81Р, АБАМ. Множество реконфигурируемых вычислительных систем с инструментальными цепочками программирования было создано для отдельных узких областей применения, таких как помехоустойчивое кодирование Рида-Соломона, конвейеризация циклов в мультимедиа приложениях, выполнение матричных преобразований и т.д. Однако по-прежнему существует потребность в САПР для создания специализированных вычислителей на базе реконфигурируемых архитектур. Это и определило направление диссертационной работы.

Объектом исследования являются проблемно-ориентированные реконфигурируемые аппаратные ускорители и инструментальные средства их проектирования.

Предметом исследования является методы проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

Целью диссертационной работы является создание платформы автоматизированного проектирования проблемно-ориентированных аппаратных ускорителей на основе реконфигурируемых архитектур с комплексными операционными элементами.

В рамках диссертационного исследования были решены следующие задачи:

1. Анализ архитектур реконфигурируемых вычислительных систем и методов их программирования. Выбор структуры САПР и базовых методов для проектирования и программирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

2. Исследование и разработка микроархитектуры операционных элементов и коммуникационной среды проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

3. Исследование и разработка методов автоматизированного программирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

4. Разработка методов параметризации микроархитектуры и алгоритмов отображения прикладной задачи для проектируемой платформы САПР на основе проблемно-ориентированных реконфигурируемых аппаратных ускорителей.

5. Создание прототипа САПР проблемно-ориентированных реконфигурируемых аппаратных ускорителей для оценки эффективности

предлагаемых научно-технических решений на примере задач цифровой обработки сигналов и мультимедийных данных.

В диссертационной работе получены следующие результаты, характеризующиеся научной новизной:

1) Выполнена классификация существующих реконфигурируемых вычислительных систем на основе разработанной системы критериев. Представленная классификация отличается от существующих анализом структурных, функциональных и конфигурационных аспектов реконфигурируемых вычислительных систем.

2) Предложен принцип автоматизированного проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей на основе параметризации шаблона микроархитектуры и набора алгоритмов отображения прикладной задачи для построения САПР.

3) При построении САПР в качестве платформы выбрана архитектура, включающая в себя разработанный шаблон проблемно-ориентированного реконфигурируемого аппаратного ускорителя с сервисным процессором и инструментальную систему отображения целевых алгоритмов.

4) Разработан маршрут проектирования проблемно-ориентированных реконфигурируемых аппаратных ускорителей на базе выбранной платформы автоматизированного проектирования.

5) Разработан многофункциональный комплексный операционный элемент, осуществляющий выполнение приближенных арифметических операций над целыми числами или над числами с плавающей запятой в логарифмической области.

6) Представлены критерии адаптивного выделения вычислительно емких ядер из графа потока данных прикладного алгоритма для использования в САПР,

учитывающие выбранные параметры шаблона реконфигурируемого аппаратного ускорителя.

7) Разработан алгоритм отображения графа потока данных исходной программы на вычислительные ресурсы параметризируемого шаблона проблемно-ориентированного реконфигурируемого аппаратного ускорителя, основанный на решении задачи целочисленного линейного программирования, а также предложен альтернативный эвристический метод отображения, позволяющий учесть ограничение на время работы САПР.

Практическая ценность результатов работы состоит в том, что в результате проведенного исследования были разработаны:

1) Схемные реализации многофункционального операционного элемента для проблемно-ориентированных крупногранулярных реконфигурируемых аппаратных ускорителей.

2) Имитационная модель параметризируемого шаблона крупногранулярного реконфигурируемого аппаратного ускорителя для цифровой обработки сигналов и мультимедийных данных.

3) Прототип транслятора исходной программы цифровой обработки сигналов и мультимедийных данных на параметризируемый шаблон реконфигурируемого аппаратного ускорителя.

4) Прототип САПР на основе разработанного шаблона крупногранулярного реконфигурируемого аппаратного ускорителя для цифровой обработки сигналов и мультимедийных данных.

Разработанный прототип платформы проектирования позволяет автоматизировать процесс параметризации шаблона крупногранулярного реконфигурируемого аппаратного ускорителя с сервисным процессором общего назначения и компиляции программы под такую гетерогенную структуру. В платформе

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

Методическую базу диссертационной работы составляют положения системного анализа, математического и натурного моделирования, дискретного программирования, раздела математики изучающей вопросы целочисленного линейного программирования, логарифмической системы счисления, теории графов, статистического анализа и экспертных оценок.

Основные результаты работы были внедрены в проведенных в НИУ ИТМО НИР № 07.514.11.4073 и НИР № 1-CT-ITMO-0212, в научно-производственной фирме ООО «ЛМТ» и в учебном процессе на кафедре Вычислительной техники НИУ ИТМО. Исследования поддержаны грантами Правительства Санкт-Петербурга в 2012 г. (№ ПСП-12316) и 2013 г. (№ ПСП-13382). Акты о внедрении прилагаются. Кроме того, был получен международный патент: «W0/2013/081484: UNIFIED COMPUTATION SYSTEMS AND METHODS FOR ITERATIVE MULTIPLICATION AND DIVISION».

Апробация работы произведена в 9 докладах на 8 конференциях. Основные результаты диссертации опубликованы в 10 работах.

1. Обзор существующих реконфигурируемых

вычислительных систем

1.1. Введение

В данном разделе приводятся основные понятия, концепции и особенности РВС, а также области их применения. Кроме того, были предложены критерии классификации, с помощью которых была выполнена классификация наиболее используемых РВС. Также представлено состояние развития средств разработки систем на базе РВС.

1.2. Текущее состояние развития вычислительной техники

Стремительный прогресс в полупроводниковой электронике вместе с появлением совершенно новых областей ее применения неизбежно приводит не только к повышению требований со стороны вычислительной техники, но и к большей степени зависимости этих требований от решаемой задачи. Повышение уровня интеграции микросхем позволяет разместить сотни миллионов транзисторов на одном кристалле, но это также приводит к более жестким требованиям к процессу разработки и средствам проектирования, увеличению полного времени разработки и единовременных затрат на создание интегральных схем [39]. Традиционные задачи теперь могут быть решены с большей эффективностью, кроме того технологически возможно и экономически оправданной стала реализация многочисленных новых видов систем [1]. В особенности большой импульс в развитии получили системы для встраиваемых применений, требующих миниатюризации, работы в реальном масштабе времени, производительности, автономности вычислений и беспроводной / удаленной связи [6]. С другой стороны, данный прогресс приводит значительной степени

сложности проектируемых систем. Из-за сложности и, особенно, высокой плотности компоновки устройств и его коммуникационной системы, небольшого физического размера устройств, огромной длины коммутационных линий, уменьшения напряжений питания, работы на очень высоких частотах (более 100 МГц) многие ранее игнорируемые явления теперь имеют большое влияние на аппаратную схему, безошибочное функционирование, производительность и ряд других аспектов качества конечной системы. Это приводит к появлению множества новых трудноразрешимых проблем, в том числе кризиса в энергоэффективности, увеличения токов утечки, доминирующее влияние коммуникационной среды на основные физические характеристики системы, снижение надежности системы, уменьшение времени наработки на отказ и т.д. В результате этого появляются все более сложные ВсС, которые должны надежно выполнять вычисления в реальном масштабе времени с никогда ранее не требовавшимся энергопотреблением, размерами и потребляемой мощностью [10]. Существует общее мнение, что прогресс в микроэлектронных технологиях сам по себе не может гарантировать удовлетворение растущих вычислительных, физических и экономических требований при решении большинства современных задач. Возможности, связанные с современными технологиями, могут быть эффективно использованы только при применении специализированных систем и интегральных схем, базирующихся на адекватных концепциях вычислений, хранения и обмена. Для этого требуются эффективные методы проектирования и САПР для синтеза аппаратного обеспечения и отображения целевой задачи на аппаратную платформу.

На рисунке 1.1., иллюстрирующем компромисс между эффективностью и гибкостью, показаны три различных подхода к проектированию вычислительных программно-аппаратных комплексов [40].

Гибкость, программируемое!*, модифицируемость

Производительность (MIPS. MOPS, бенчмарки), энергоэффективность

Все множество задач

Приложения \ I I

(по) JL_■_L

Класс задач

Аппаратное обеспечение и// или приложения (АО и/или НОу

Процессор общего назначения. ЦСИ /

Процессорный модуль

Реконфи! урируемый аппаратный блок

Модули, ориентированные на классы проблем

Специализированная СБИС

Специализированные модули

Рисунок 1.1. Спектр вычислительных систем.

Текущей тенденцией в компьютерной архитектуре является концентрация внимания на гибкости программирования с высокой эффективностью процессоров общего назначения. Поэтому архитектура процессора общего назначения наиболее широко изучена и основным направлением ее улучшения является улучшение производительности процессора на ватт потребляемой энергии. Процессоры общего назначения могут быть запрограммированы на выполнение практически любой вычислительной задачи, они должны платить за такую гибкость высоким энергопотреблением и значительными накладными расходами на выборку, декодирование и выполнение потока инструкц�