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

кандидата технических наук
Шалтырев, Владимир Алексеевич
город
Москва
год
2009
специальность ВАК РФ
05.13.05
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Средства и методы повышения производительности и снижения энергопотребления систем на кристалле, реализуемых на базе программируемых логических интегральных схем»

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

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

Шалтырев Владимир Алексеевич

СРЕДСТВА И МЕТОДЫ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ И СНИЖЕНИЯ ЭНЕРГОПОТРЕБЛЕНИЯ СИСТЕМ НА КРИСТАЛЛЕ, РЕАЛИЗУЕМЫХ НА БАЗЕ ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМ

Специальность 05.13.05 — "Элементы и устройства вычислительной техники и

систем управления"

Автореферат

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

Автор:

Москва, 2009

003481294

Диссертация выполнена в Национальном исследовательском ядерном университете "МИФИ".

Научный руководитель:

доктор технических наук,

профессор Шагурин Игорь Иванович

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

доктор технических наук,

профессор Сахин Юлий Хананович

кандидат технических наук Осипенко Павел Николаевич

Ведущая организация: Федеральное государственное унитарное предприятие "Научно-исследовательский институт "КВАНТ"

Защита диссертации состоится 23 ноября 2009 года в 15-00 на заседании диссертационного совета Д 212.130.02 в конференц-зале Национального исследовательского ядерного университета "МИФИ" по адресу: 115409, Москва, Каширское шоссе, 31. Телефоны: 324-84-98,323-91-67.

С диссертацией можно ознакомиться в библиотеке Национального исследовательского ядерного университета "МИФИ".

Автореферат разослан 20 октября 2009 года.

Ученый секретарь диссертационного совета, доктор технических наук, профессор

Скоробогатов ГТ.К.

Общая характеристика работы

Актуальность диссертации

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

До недавнего времени основным средством решения данной проблемы являлось применение специализированных заказных ИС (Application Specific Integrated Circuits, ASIC). К недостаткам проектов, реализованных на ASIC, следует отнести длительное время их разработки и высокую стоимость. Подготовка к производству каждого нового варианта ASIC влечет за собой расходы в десятки и сотни тысяч долларов, что делает малосерийный выпуск ASIC экономически невыгодным и существенно повышает цену ошибки проектирования.

Принципиально новой стала методология проектирования "систем на кристалле" (СнК), допускающая многократное использование готовых, предварительно протестированных сложнофункциональных блоков (СФ-блоки, используются также термины IP-ядро, IP-блок - от "Intellectual Property"). Эта методология обеспечила значительное повышение производительности проектирования.

В качестве технологической платформы для реализации цифровых СнК могут использоваться программируемые логические интегральные схемы (ПЛИС) - их применение позволяет значительно сократить время разработки и и обеспечивает возможности оперативной модификации СнК. Такая технологическая платформа позволяет в полной мере использовать как характерные особенности самих ПЛИС (например, технику динамической реконфигурации), так и преимущества IP-ядер класса "soft-core", то есть ядер, не привязанных к какой-либо технологической платформе и описанных на высокоуровневых языках описания аппаратуры (HDL). На базе современных ПЛИС могут быть реализованы все цифровые функциональные блоки системы, то есть может быть получена полная структура системы за исключением аналоговых устройств. Разработка СнК на основе ПЛИС (System-on-Programmable-Chip, SoPC, СнПК) предполагает использование программируемых кристаллов, конфигурирование которых позволяет создавать достаточно сложные цифровые устройства. При этом экономическая эффективность реализации малых серий и единичных опытных образцов СнПК резко возрастает по сравнению с изготовлением заказных микросхем. Однако данная технологическая платформа имеет и свои недостатки: высокое энергопотребление, неполное использование ресурсов базового кристалла ПЛИС. Таким образом, становится актуальной задача повышения эффективности использования ПЛИС в качестве технологической платформы для создания СнПК.

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

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

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

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

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

4., Разработка структуры и ЯТЬ-модели блока потоковой обработки данных, .перспективного для использования в качестве сопроцессора в составе СнПК.

5. Разработка методики оценки эффективности динамической реконфигурации СнПК.

6. Разработка алгоритма компрессии конфигурационных файлов, допускающего аппаратную реализацию декомпрессии при минимальном использовании ресурсов ПЛИС, который обеспечит эффективную динамическую реконфигурации структуры СнПК.

7. Разработка с использованием предложенных в диссертационной работе методов и средств СнПК, предназначенных для использования в составе систем управления и сбора и обработки данных.

Научная новизна диссертации

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

2. Предложена методика оценки эффективности модификации синтезируемых процессорных ядер:

A) введена статистическая обработка экспериментальных данных для исключения влияния конкретного размещения на кристалле;

Б) доказано наличие корреляции между параметрами синтезируемых структур, реализованных на кристаллах ПЛИС с одинаковой архитектурой -данный факт позволяет проводить экстраполяцию результатов, полученных для одного кристалла ПЛИС, на другие кристаллы этого или аналогичных семейств;

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

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

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

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

Практическая значимость диссертации

1. Разработан и реализован маршрут проектирования, обеспечивающий эффективное применение предложенной методики модификации процессорных ядер. На примере набора из 40 процессорных ядер и 20 тестовых приложений показано, что предложенная методика модификации способна обеспечивать сокращение ресурсоемкости синтезируемого процессорного ядра на величину до 45%, увеличение рабочей тактовой частоты на величину до 13%, сокращение динамической потребляемой мощности на величину до 8%, увеличение "вычислительной плотности" синтезируемых структур на величину до 100%.

2. Разработаны ЯТЬ-модели синхронной и локально-синхронной многоканальных систем обработки данных. Показано, что при равномерном, нормальном и пуассоновском распределениях времени обработки пакета данных эффективность системы может быть повышена за счет увеличения размера буфера тэгов до 2Ы слов. Проведен сравнительный анализ эффективности синхронной и локально-синхронной схем, на его основе сформулированы рекомендации по выбору одного из вариантов многоканальной схемы при различных временах обработки пакета данных.

3. На примере набора из 20 различных 1Р-блоков показано, что применение предложенного алгоритма компрессии конфигурационных данных ПЛИС обеспечивает сокращение объема конфигурационных данных в 1,8.. 10,9 раз. Определен диапазон параметров алгоритма, обеспечивающих максимальную степень компрессии конфигурационных данных.

4. Разработано программное обеспечение для ПК, реализующее предложенный алгоритм иерархической компрессии.

5. Разработана ЯТЪ-модель блока аппаратного декомпрессора, определены параметры данного блока при его реализации на ПЛИС семейства \,1г1ех4. Показано, что предложенный алгоритм декомпрессии допускает аппаратную реализацию без использования блочной памяти в отличие от других алгоритмов, используемых для компрессии конфигурационных данных ПЛИС.

Внедрение результатов диссертации

1.В Малой ускорительной лаборатории МИФИ (г. Москва) разработан, испытан и внедрен в научную и учебную деятельность лаборатории аппаратно-программный комплекс СПЕКТР, построенный на базе ПЛИС ЗрагшЗАМ Использование предложенной методики модификации процессорных ядер в ходе проектирования СнПК, лежащей в основе аппаратной части комплекса, позволило повысить точность проводимых измерений в среднем на 12% и снизить себестоимость аппаратной части комплекса на 20%.

2. При разработке вычислительных блоков 5П4ИИ01, 674ИИ01 с унифицированными ячейками обработки сигналов 5П2ХЛ002, 672ХЛ002 на базе ПЛИС для радиолокационных станций 5П-27, 67Н6Е, 1РЛ-123Е (ВНИИРТ, г. Москва) использованы предложенные в диссертации методика оценки эффективности динамической реконфигурации и 1Р-ядро декомпрессора конфигурационных файлов, включенное в состав блоков. Применение алгоритма компрессии позволило сократить в 2..8 раз объем памяти, необходимой для хранения конфигурационных данных ПЛИС.

Положения, выносимые на защиту

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

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

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

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

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

Апробация результатов диссертации

¡.Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем - 2006".

2. Международная конференция "Актуальные проблемы твердотельной электроники и микроэлектроники - 2006".

3. Всероссийская научно-техническая конференция "Проблемы разработки перспективных микро- и наноэлектронных систем - 2008".

4. Научные сессии МИФИ 2006, 2007, 2008, 2009.

Публикации

По результатам диссертации опубликовано 3 статьи, 12 тезисов докладов и 1 научно-технический отчет.

Структура и объем диссертации

Диссертация состоит из введения, 4 глав, заключения, списка литературы, включающего 148 наименований и приложения, содержащего акты о внедрении результатов диссертации. Содержание диссертации изложено на 147 страницах машинописного текста, включая 54 рисунка и 27 таблиц.

Основное содержание диссертации

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

Классическая структура СнК представлена на рис. 1. Основным блоком такой СнК обычно является процессор, выполняющий программную обработку данных. Специализированные блоки обработки обеспечивают аппаратное выполнение функций, специфических для данной системы. Это могут быть, например, блоки цифровой обработки сигналов, преобразователи потоков данных и другие устройства. Таймеры, АЦП и ЦАП, широтно-импульсные модуляторы и другие блоки могут интегрироваться в состав системы в качестве периферийных устройств. Интерфейс с внешними устройствами обеспечивается с помощью параллельных и последовательных портов, различных шинных и коммуникационных контроллеров и других интерфейсных блоков.

Т к внешним объектам

Рис. 1. Структура классической СнК.

Для повышения производительности СнПК и сокращения ее энергопотребления могут бьггь использованы следующие методы:

1) применение в составе СнПК специализированных процессорных ядер, оптимизированных для выполнения конкретных алгоритмов;

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

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

Применение специализированных процессорных ядер

Если обработка данных в системе осуществляется с использованием процессорного ядра, становится возможной оптимизация данного ядра с целью повышения его производительности при реализации конкретного алгоритма обработки данных. Данная концепция проектирования специализированных процессорных ядер успешно используется рядом синтезируемых процессоров, позволяющих вводить специальные "пользовательские" инструкции (Tensilica Xtensa, ASIP Meister, Xilinx MicroBlaze и др). Аналогичные решения предлагают и производители систем проектирования, использующих языки описания архитектуры (ADL). Такие решения имеют один существенный недостаток - при изменении набора инструкций процессора требуется также модификация средств разработки программного обеспечения (ПО), что существенно снижает эффективность такого маршрута проектирования. При этом подобные средства проектирования являются дорогостоящими коммерческими продуктами, требующими довольно большого времени для освоения. Параметризуемые синтезируемые ядра, как правило, не обладают достаточной гибкостью для модификации набора команд.

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

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

Организация многоканальной обработки данных

На рис.2 приведена структура классической микропроцессорной системы, в составе которой процессорное ядро соединяется с периферийными (ПУ) и интерфейсными (ИУ) устройствами с помощью системной шины. В ситуации, когда специализированные блоки обработки соединяются с процессорным ядром посредством общей шины, именно эта связь становится "бутылочным горлом" системы, ограничивающим ее производительность.

Существуют другие варианты интерфейса - так, например, в ядре MicroBlaze предусмотрено наличие до 16 интерфейсов FSL (Fast Simplex Link), предназначенных для быстрой передачи данных между процессорным ядром и сопроцессорами без участия общей системной шины. Каждый из таких интерфейсов обеспечивает однонаправленную передачу 32-разрядных слов между регистрами процессора и периферийными устройствами, причем на каждую передачу требуется всего два такта. При организации связей между процессорным ядром и сопроцессорами использование таких интерфейсов является предпочтительным, так как позволяет существенно снизить загрузку общей шины. Количество таких выделенных интерфейсов всегда ограничено, что накладывает соответствующие ограничения на количество используемых сопроцессоров и общую вычислительную мощность системы.

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

Рис.2. Структура СнК на основе синтезируемого ядра МюгоВ1аге.

Одним из основных методов повышения производительности отдельных сопроцессоров в настоящее время является организация конвейерной обработки. Однако существуют алгоритмы, для которых конвейеризация невозможна или сильно затруднена - так, например, для алгоритма хэширования МБ5 первые конвейерные решения появились только в 2008-2009 годах.

Для повышения производительности вычислительных систем и подсистем также широко используется естественный параллелизм вычислений (векторные, многопроцессорные, 8РМ13-системы и др). В случае СнПК, построенных на базе синтезируемых процессорных ядер, применение таких решений затруднено уже упомянутыми ограничениями на количество выделенных интерфейсов процессорного ядра, а также тем фактом, что наращивание количества одновременно используемых сопроцессоров в

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

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

Применение динамической реконфигурации структуры СнПК

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

1) существенно снизить энергопотребление системы;

2) снизить требования к количеству логических ресурсов кристалла, необходимых для реализации системы.

а 6

Рис. 3. а) структура системы с несколькими сопроцессорами; б) структура системы с одним реконфигурируемым сопроцессором.

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

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

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

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

Методика оценки эффективности модификации синтезируемых процессорных ядер

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

1) А - ресурсоемкость процессорного ядра, т.е. количество ресурсов ПЛИС, необходимое для его реализации (оценивается как

;=1

где А-, есть площадь блока ьго типа, а Н - количество блоков данного типа, используемых при реализации данной структуры на кристалле);

2) Р—максимальная рабочая тактовая частота процессорного ядра;

3) С - время выполнения тестового приложения (или набора приложений) в тактах;

4) Р - потребляемая процессорным ядром мощность.

В качестве производных параметров при этом используются общее время выполнения тестовых приложений, вычисляемое как Т=(С/Р), и энергопотребление, которое может быть вычислено как Е=(Р*Т).

С учетом того, что структурные блоки в различных семействах ПЛИС обладают различной логической емкостью и структурой, для усреднения

экспериментальных данных необходима нормировка: для каждого из кристаллов за "единичную" принимается ресурсоемкость одной и той же структуры, после чего ресурсоемкое™ всех прочих структур вычисляются относительно данной:

А] — Л; I Ак >

где у - номер процессорного ядра в наборе (V/ б[1;Лг„,„,]), к - номер ядра с "единичной" ресурсоемкость Це^Л^] фиксировано), N„„1 - количество ядер в рассматриваемом наборе, А' - нормированная ресурсоемкость ядра с номером], А]1А1 - ненормированные ресурсоемкости ядер с номерами]/к.

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

1

сох =

п-1

С ростом количества размещений оценка сходится, причем для. достижения точности порядка 2-3% достаточно обычно провести 15-20 различных размещений.

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

_ Р'А'Т"

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

1 •„ 1 • ,, 1 ■„ 1 1 'г, 1

А г Т Р Е ТР АТ-Зная погрешности экспериментально определенных величин, можно оценить погрешности оценочных функций согласно формуле

У

где SUi - относительная погрешность оценочной функции, - относительные

погрешности экспериментально определенных величин, входящих в выражение для Un k:J - весовые коэффициенты, определяемые степенной

зависимостью U, от х} ■

Методика модификации синтезируемых процессорных ядер путем сокращения набора поддерживаемых команд

Общий алгоритм предлагаемой методики модификации представлен на рис. 4. Исходными данными являются HDL-код процессорного ядра и код приложения. Следует отметить, что HDL-код ядра может быть как ориентированным на определенную элементную базу (то есть использовать логические примитивы реальных блоков ПЛИС), так и независящим от нее -так, например, описание регистрового файла может включать в себя примитивы блочной памяти, а блок умножения может быть реализован с использованием аппаратных умножителей ПЛИС. Исключение составляют случаи, когда логические функции описываются с использованием примитивов "мелкой логики" (отдельных LUT и триггеров) - в таких случаях модификация будет затруднена.

Предлагаемая методика модификации реализуется в виде следующей последовательности этапов.

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

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

3) Модификация ядра на основе полученной информации об используемом и исключаемом подмножествах команд проводится в два этапа:

а) модификация блока дешифрации команд: HDL-код, реализующий формирование выходных сигналов блока при поступлении команд из исключаемого подмножества, удаляется;

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

исходным код приложения(* С)

конвертер БШЕШ+МР

файлы инициализации блочной памяти ПЛИС

. 1

подмножество используемых команд

трасса выполнения для йсходного ядра

С

Ш>Ь-описание исходного ., процессорного ядра

упрощение блока дешифрации команд

модификация ядра

упрощение блоков с постоянными входами

сравнение трасс

Ш>Ь-описание

модифицированного ядра --

НОЬ-симулятор

трасса выполнения для модифицированного ядра

вывод о корректности модифицировать НР1,-м0дели_

Рис.4. Методика модификации синтезируемого процессорного ядра путем сокращения набора поддерживаемых команд

4) IIDL-моделирование выполнения приложения на исходном и модифицированном ядрах позволяет получить две трассы, на основе сравнения которых может быть сделан вывод о корректности модифицированного HDL-описания: в случае идентичности трасс модификация признается корректной.

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

На примере тестового набора из 40 синтезируемых процессорных ядер (система команд MIPS-I, до 7 ступеней конвейера, три различных реализации сдвигателя) и 20 тестовых приложений показано, что предложенная методика модификации способна обеспечивать:

- сокращение ресурсоемкое™ процессорного ядра на величину до 45%;

- увеличение рабочей тактовой частоты (и соответствующее сокращение времени выполнения задач) на величину до 13%;

- снижение динамической потребляемой мощности на величину до 8%;

- сокращение общего энергопотребления при выполнении приложений на величину до 15%;

- увеличение "вычислительной плотности" синтезируемых структур на величину до 100%.

Полученные в ходе данного эксперимента результаты позволяют утверждать, что нормированные оценки ресурсоемкости, рабочей тактовой частоты и потребляемой мощности, полученные для определенного кристалла ПЛИС, могут быть распространены на кристаллы ПЛИС с аналогичной структурой (например, между семействами ПЛИС StratixI/11/Ш).

Структура многоканальной системы обработки данных

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

Алгоритм работы такого сопроцессора состоит в следующем.

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

2) При наличии свободных блоков обработки пакет данных считывается из входного буфера блоком распределения потока и записывается в свободный

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

г

_L

Входной буфер данных

X

Блок распределения потока

Блок обработки 1

X

Блок обработки N

FIFO]

X

Блок восстановлен« потока

_ Выгодной буфер данных

J

домен 2 j домен 1

1

Входной буфер данных 1

домен 1 домен 2~|

Блок распределения потока

VJ PRE-F1FO N~

Ьм'--г-—

Блок обработки 1

iz-zn-jjrzr

Блок обработки N 1-

Блок восстановления потока

денных ___ ___ домен 3 j

Т

I

а) б)

Рис. 5. Структурная схема потокового сопроцессора а) синхронная схема б) локально-синхронная схема.

3) После выполнения алгоритма обработки пакета обработчик записывает полученный результат в индивидуальный ИРО-буфер, если тот не заполнен, и сбрасывает флаг занятости, отслеживаемый блоком распределения потока; в случае заполнения индивидуального буфера результат сохраняется в обработчике, сброса флага занятости не происходит.

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

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

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

где Т€ы„ - время обработки одного пакета данных одним обработчиком, а Т0 -задержка, обусловленная структурой сопроцессора. При этом эффективность системы при любом N и М»1 определяется выражением

Т

£(Л0 =

NT„

Данная зависимость была подтверждена экспериментально в ходе исследования созданной ЯТЬ-модели системы (см. рис. 6), экспериментально определенное значение Та составило 5 тактов в случае синхронной схемы и 8

тактов в случае локально-синхронной схемы.

О 10 20 30 40 50 60 70 80 90 100 Время обработки пакета, такты

Рис. 6. Зависимость эффективности системы от времени обработки одного пакета данных и ее аппроксимация.

Для оценки влияния масштабирования на рабочую тактовую частоту синхронной системы были проведены размещение и разводка рассматриваемой системы на кристаллах семейств Virtex4 (Xilinx) и StratixIII (Altera). На основании полученных данных можно сделать вывод о том, что при масштабировании системы, т.е. при увеличении количества блоков обработки, помимо увеличения производительности за счет параллелизма вычислений

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

N -11

С

где К и С - экспериментально определяемые константы. В случае локально-синхронной схемы эспериментально определенное изменение рабочей тактовой частоты находится в пределах погрешности эксперимента (2%), то есть соблюдается условие кг(К)«1 •

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

зхл^^лг-лдло-ад,

где кг(М) и Е(И) определяются приведенными ранее выражениями. При малых временах обработки одного пакета данных (Гвы„<30 тактов) эффект увеличения задержек в локально-синхронной схеме может сказываться на производительности схемы сильнее, чем фактор снижения тактовой частоты в синхронной схеме, однако при увеличении времени обработки (Теы„>50 тактов) локально-синхронная схема обладает большим коэффициентом ускорения, чем синхронная (в случае, если К=0,2).

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

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

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

равном 2И элементам (т.е. 16 тэгов в случае 8-канальной системы). Для ^ -распределения необходимо значительное увеличение буфера тэгов - 4М.8Ы и более в зависимости от соотношения количеств пакетов с различными временами обработки.

Для оценки величины вероятности возникновения потерь в системе с неконтролируемым входным потоком данных проведено ЛТЬ-моделирование восьмиканальной системы в условиях максимальной загрузки: времена обработки и поступления данных имеют пуассоновское распределение, причем среднее время обработки данных в 8 раз больше, чем период поступления данных в систему. Проведенное ЯТЬ-моделирование показывает, что вероятность потерь не превышает 8-кг1 даже в том случае, когда в системе одновременно находится только 8 пакетов данных. С увеличением входного буфера до 32 пакетов вероятность возникновения потерь снижается на порядок. В случае, когда в системе одновременно может находиться 16 пакетов, а размер входного буфера равен 16 словам, вероятность потерь не превышает ысг5-

18

г __ {нкоиф ^ . . & — Г-> 1

класс

Методика оценки эффективности динамической реконфигурации

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

/>=-!_•

А-Т

где А - ресурсоемкость системы (т.е. количество ресурсов ПЛИС, необходимых для ее реализации), Т- время выполнения ей задачи.

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

3

реконф

Данное неравенство имеет решение

Мш" 2 и (1+п)1

где

N - общее количество альтернативных сопроцессоров; А

Л--и - отношение ресурсоемкостей 1-го сопроцессора и постоянной

4 '

(т.е. не подлежащей реконфигурации) части системы;

- отношение ресурсоемкостей контроллера реконфигурации и

А„

постоянной части системы;

=юах{/х...//„} - ресурсоемкость наибольшего сопроцессора;

N

£ = ^/х - ¡1 ' суммарная ресурсоемкость всех сопроцессоров, кроме

м

наибольшего;

_ Мчтяа1„Ае . величина, характеризующая пропускную способность А То

криапщла сг О

конфигурационного интерфейса ПЛИС, объем конфигурационных данных ПЛИС, приходящийся на долю постоянной части системы, и время работы системы без реконфигурации.

На основании полученных данных можно сделать следующие выводы.

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

2. При увеличении ресурсоемкости альтернативных сопроцессоров эффективность системы с динамической реконфигурацией возрастает нелинейно, причем зависимость может быть хорошо аппроксимирована степенной функцией с показателем степени меньше 1 (см. рис. 7).

3. Ресурсоемкость максимального сопроцессора в рассмотренных случаях может существенно превышать ресурсоемкость постоянной (нереконфигурируемой) части системы.

5,25

П 2,25 -

п 3,75 -

0

1 3.25 - ■

4,75 - •

4.25 - •

1.75 -

1,25 -

0,75

0 0.1 0.2 0,3 0,4 0,5 0.6 0.7 0,8 0,9 1 1,1 Ресурсоемкость^.канадого из N сопроцессоров

Рис. 7. Зависимость эффективности от относительного размера альтернативных сопроцессоров и их количества (при соотношении Тс1Те = 0,1 )■

Алгоритм иерархического сжатия конфигурационных данных ПЛИС

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

На основании анализа конфигурационных файлов (КФ) тестового набора из 20 различных 1Р-ядер были сделаны следующие выводы:

1) в рассматриваемых КФ присутствуют последовательности нулевых битов достаточно большой длины (до 7000 бит), а количество единичных битов очень мало по сравнению с количеством нулевых битов, причем доля нулевых последовательностей длины к убывает с ростом к по закону, близкому к экспоненциальному,

2) зависимость размера полученных КФ от сложности синтезируемого 1Р-блока хорошо аппроксимируется линейной функцией - это означает, что рассматриваемые КФ не содержат избыточной информации о неиспользуемых ресурсах кристалла.

Для компрессии КФ подобной структуры (содержащих малое количество ненулевых битов) предлагается использовать алгоритм иерархического сжатия.

Параметрами алгоритма являются максимальное количество уровней компрессии Ь„шх и размер блока В. Исходная последовательность битов Б[Ь]

разбивается на блоки данной В бит. Для всех блоков исходной

последовательности выполняется проверка содержимого блока: если все биты блока с номером 1 являются нулевыми, то бит с номером 1 в выходной последовательности битов 5/1+/7 равен О (в противном случае он равен 1). Процедура повторяется рекурсивно до достижения заданного значения Ьтах, Результатом компрессии является конкатенация всех 5'/1=0..Лпи</ с исключенными "нулевыми" блоками (это означает, что последовательность нулей длиной В в 8[Ь] описывается одним нулевым битом в 5,/1+//). Алгоритм компрессии КФ реализуется прохраммно на ПК при проектировании системы, далее сжатые КФ размещаются и хранятся в памяти СнПК.

И)

N[4=0, М-!»«

к-В-Ч.

1 1

1МЛ ни=нн+1

1Н.+1

*

¿=¿+1

Рис.8. Блок-схема алгоритма декомпрессии.

Алгоритм декомпрессии предполагает простой синтаксический разбор полученной строки Я с выделением битов или блоков для всех Ь=Ьтах..О и формирование выходной строки (блок-схема алгоритма декомпрессии приведена на рис.8). Алгоритм допускает блочную обработку - одновременно обрабатывается только одно входное слово, выбранное из памяти. Процесс декомпрессии происходит в рабочем цикле при осуществлении

реконфигурации части СнПК: это означает, что для его аппаратной реализации в состав СнПК должен быть введен специальный блок.

RTL-модель блока декомпрессора была описана на языке Verilog и реализована на базе ПЛИС XC4VLX25 семейства Virtex4. Для аппаратной реализации декомпрессора с 32-разрядными входными словами требуется относительно небольшое количество ресурсов ПЛИС (193 LUT, 63 триггера), а его тактовая частота составляет 128 МГц (для кристалла с параметром SpeedGrade=10). Выходные данные генерируются декомпрессором с частотой, которая в случае нулевых последовательностей равна половине входной тактовой частоты, а в случае ненулевых блоков в 8 раз меньше входной тактовой частоты - это означает, что результаты декомпрессии получаются со скоростью от 16 до 64 Мбайт/с.

В сравнении с современными программными архиваторами и алгоритмами, традиционно используемыми для сжатия КФ, предложенный алгоритм выглядит вполне конкурентноспособкым: экспериментальные результаты и их сравнение с теоретической оценкой, полученной в соответствии с теорией информационной энтропии Шэннона, приведены на рис. 9.

Анализ экспериментальных данных, полученных при сжатии КФ тестового набора, позволяет сделать следующие выводы:

1) степень компрессии возрастает при увеличении количества уровней компрессии Ьтах и имеет максимум в области Ьтах=2..4\

2) степень компрессии для Ь„шх-2..5 имеет максимум в области В=3..4;

3) в среднем по набору тестов достигаемая степень компрессии Сэюп составляет 83% от расчетного теоретического значения, полученного в соответствии с теорией информационной энтропии Шэннона;

4) при малом отклонении от оптимальных параметров (Ьтах=2..4, В~3..4) происходит несущественное снижение степени компрессии - на рассмотренном наборе 1Р-ядер оно не превышает 2,2%.

Использованный алгоритм блочного сжатия позволяет добиться степени компрессии, которая всего на 20% меньше степеней компрессии современных программных архиваторов ^"¡пИАИ и 1Ъ. Алгоритм Ц^ЭБ уступает предложенному алгоритму в степени компрессии в среднем 14%, два более сложных алгоритма семейства Лемпела-Зива (Я0Ь2,Ь277+АС) выигрывают в среднем не более 7%. Максимальное различие в степенях сжатия достигается на самых больших файлах: по сравнению с иерархический алгоритм

обеспечивает преимущество в 3%, но по сравнению с другими алгоритмами проигрывает до 15%. В отличие от других алгоритмов, предложенный алгоритм иерархической компрессии допускает аппаратную реализацию декомпрессора без использования блочной памяти ПЛИС.

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

1. Предложена методика модификации синтезируемых процессорных ядер, основанная на исключении поддержки инструкций, не используемых конкретным приложением. Разработан и реализован маршрут проектирования, обеспечивающий эффективное применение предложенной методики модификации процессорных ядер. На примере набора из 40 процессорных ядер и 20 тестовых приложений показано, что предложенная методика позволяет обеспечить сокращение ресурсоемкости процессорного ядра на величину до 45%, увеличение рабочей тактовой частоты на величину до 13%, сокращение динамической потребляемой мощности на величину до 8%, увеличение "вычислительной плотности" синтезируемых структур на величину до 100%.

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

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

обработки на эффективность системы в случаях равномерного, пуассоновского и нормального распределений времени обработки может быть сокращено за счет увеличения размера буфера тэгов до (2*Ы) элементов.

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

5. На основе проведенного анализа структуры конфигурационных данных ПЛИС предложен алгоритм иерархического сжатия конфигурационных файлов. На примере набора из 20 различных 1Р-блоков показано, что применение предложенного алгоритма обеспечивает сокращение объема конфигурационных данных в 1,8..10,9 раз. Определен диапазон параметров алгоритма, обеспечивающих максимальную степень компрессии конфигурационных данных. Показано, что предложенный алгоритм имеет преимущество (в среднем по тестовому набору 1Р-ядер 14%) в степени сжатия перед алгоритмом ЬЕЭБ, уступает в степени сжатия более сложным алгоритмам из семейства 12х (в среднем не более 7%) и уступает около 20% в степени сжатия программным архиваторам \Ут1Ш1 и 77. Разработано программное обеспечение для ПК, реализующее предложенный алгоритм иерархической компрессии. Разработана ЯТЬ-модель блока аппаратного декомпрессора, определены параметры данного блока при его реализации на ПЛИС семейства Ун1ех4. Показано, что предложенный алгоритм декомпрессии допускает аппаратную реализацию без использования блочной памяти ПЛИС.

6. В Малой ускорительной лаборатории МИФИ (г. Москва) разработан и внедрен в научную и учебную деятельность лаборатории аппаратно-программный комплекс СПЕКТР, построенный на базе СнПК. Использование предложенной методики модификации процессорных ядер позволило повысить точность проводимых измерений на 12% и снизить себестоимость аппаратной части комплекса на 20%.

7. В рамках работ по созданию радиолокационных станций 5П-27, 67Н6Е, 1РЛ-123Е (ВНИИРТ, г. Москва) разработаны вычислительные блоки 5П4ИИ01, 674ИИ01 с унифицированными ячейками обработки сигналов 5П2ХЛ002, 672ХЛ002 на базе ПЛИС. В процессе разработки были использованы методика оценки эффективности динамической реконфигурации и алгоритм компрессии конфигурационных файлов, предложенные в диссертации. Применение алгоритма компрессии позволило сократить объем памяти, необходимой для хранения конфигурационных данных, в 2.. 8 раз.

Получены акты об использовании результатов диссертации в следующих организациях: Всероссийский научно-исследовательский институт радиотехники (ОАО "ВНИИРТ", г. Москва), Московский инженерно-физический институт (НИЯУ "МИФИ", г. Москва).

Публикации по теме диссертации

1. Шагурин И., Шалтырев В. Проектирование систем на кристалле на базе FPGA компании Xilinx // ChipNews. Инженерная микроэлектроника. -

2005.-№10.-С. 54-58.

2. Научно-технический отчет по теме 85-3-027-135: Разработка специализированного блока с ПЛИС и фрагмента тестовой задачи для реализации на СБИС. Регистрационный номер 01200507555, код ВНТИЦ 0203025050320 / Шагурин И.И., Шалтырев В.А., Волов A.C. [и др.]. - 2005. -115 с.

3. Шалтырев В.А., Шагурин И.И. Проектирование "Систем на кристалле" с использованием среды Xilinx EDK //Научная сессия МИФИ 2006: Сборник научных трудов. - 2006. - Т. 1. - С. 1264 27.

4. Шалтырев В. А. Реализация микропроцессорных систем на основе ядра MicroBlaze // Научная сессия МИФИ 2006: сборник научных трудов. -

2006.-Т. 1.-С. 124-125.

5. Волов A.C., Шалтырев В.А., Мокрецов М.О. Модуль для разработки IP-ядер на основе ПЛИС Xilinx Spartan-З //Научная сессия МИФИ 2006: сборник научных трудов. - 2006. - Т. 1. - С. 118-11.

6. Шагурин И., Шалтырев В., Волов А. "Большие" FPGA как элементная база для реализации систем на кристалле // Электронные компоненты. -2006,-№5.-С. 83-88.

7. Шагурин И.И., Шалтырев В.А. Создание "систем на кристалле" на основе ПЛИС с использованием синтезируемых процессорных ядер // Конференция "Проблемы разработки перспективных микроэлектронных систем - 2006": сборник научных трудов. - 2006. - С. 382-385.

8. Шагурин И.И., Шалтырев В.А. Синтезируемые процессорные ядра как основа для систем на кристалле //Актуальные проблемы твердотельной электроники и микроэлектроники. Труды десятой международной научной конференции: сборник научных трудов. -2006. -Ч. 2.-С. 141-142.

9. Годьдберг Д.Ю., Шагурин И. И., Шалтырев В.А. RTL-модеяь 32-разрядного микропроцессора для специальных применений // Научная сессия МИФИ 2007: сборник научных трудов. - 2007. - Т. 1. - С. 99-100.

10. Шалтырев В.А. RTL-модели блоков сжатия звуковых сигналов // Научная сессия МИФИ 2007: сборник научных трудов. - 2007. - Т.]. - С. 101-102.

11. Новицкий A.C., Шагурин И.И., Шалтырев В.А. Создание высокоуровневого описания процессорного ядра PicoBlaze // Научная сессия МИФИ 2007: сборник научных трудов. - 2007. - Т. 1. - С. 103-104.

12. Шалтырев В.А. Реализация интерфейса CLI с использованием хэш-функций и конечных автоматов // Научная сессия МИФИ 2008: сборник научных трудов. - 2008. - Т. 8. - С. 154-155.

13. Пантелеев А.Ю., Шалтырев В.А. Стековый процессор с изменяемым набором инструкций // Научная сессия МИФИ 2008: сборник научных трудов. -2008. - Т. 8. - С. 193-194.

14. Мансурская Л.А., Шалтырев В.А. IP-блок быстрого преобразования Фурье // Научная сессия МИФИ 2008: сборник научных трудов. - 2008. - Т. 8.-С. 195-196.

15. Шалтырев В.А. Методы оптимизации синтезируемых процессорных ядер при реализации "систем на кристалле" на основе ПЛИС // Проблемы разработки перспективных микро- и наноэлектронных систем - 2008: сборник трудов / под общ. ред. А.Л. Стемпковского. - М.". ИППМРАН, 2008. - С. 458-461.

16. Шалтырев В.А., Шалтырев К.А., Шагурин И.И. Динамическая реконфигурация ПЛИС с использованием сжатых битовых потоков // Известия ВУЗов. Электроника. - 2009. -№ 2 (76). - С. 43-50.

Подписано в печать:

14.10.2009

Заказ №2710 Тираж -100 экз. Печать трафаретная. Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш., 36 (499) 788-78-56 www. autoreferat. ru

Оглавление автор диссертации — кандидата технических наук Шалтырев, Владимир Алексеевич

Перечень используемых сокращений.

Введение.

1. Современные методы и средства реализации СнК на основе ПЛИС.

1.1. ПЛИС как технологическая платформа для СнК.

1.2. Современные ПЛИС и САПР для разработки СнПК.

1.3. Средства и методы повышения эффективности использования ПЛИС при реализации СнПК.

1.3.1. Применение специализированных процессорных ядер.

1.3.2. Реализация параллельной обработки данных с использованием специализированных сопроцессоров.

1.3.3. Применение динамической реконфигурации ПЛИС.

1.4. Выводы и постановка задачи.

2. Модификация процессорных ядер путем сокращения'набора команд.

2.1. Возможные пути модификации процессорных ядер.

2.2. Методика модификации процессорных ядер.

2.3. Методика оценки параметров синтезируемых процессорных ядер.:.

2.3.1. Оценка ресурсоемкое™ синтезируемых структур.

2.3.2. Оценка рабочих тактовых частот синтезируемых структур.

2.3.3. Маршрут экспериментального проектирования.38г

2.3.4. Сравнительный анализ синтезируемых процессорных ядер.

2.4. Набор исходных процессорных ядер и тестовых приложений.

2.5. Корреляция параметров при размещении на различных кристаллах.

2.6. Параметры,процессорных ядер тестового набора.

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

2.8. Влияние модификации на энергопотребление.!.

2.8.1. Структура энергопотребления синтезируемых структур.

2.8.2. Энергопотребление модифицированных структур.

2.9. Практическое применение предложенной методики.

2.10. Выводы.

3. Организация многоканальной потоковой обработки данных.

3.1. Современные методы.увеличения производительности сопроцессоров, используемых в составе СнПК.

3.2. Структура и принципы функционирования потокового сопроцессора.

3.3. Характеристики систем параллельной обработки информации.

3.4. Оценка параметров системы методами математического аппарата ТМО

3.5. Влияние количества каналов обработки и внутренних задержек на характеристики системы.

3.5.1. Упрощенная математическая модель системы.

3.5.2. Характеристики ЮХ-модели системы.

3.6. Снижение рабочей тактовой частоты при масштабировании системы.

3.7. Локально-синхронная многоканальная система.

3.8. Влияние дисперсии времени обработки на эффективность многоканальной* системы обработки.

3.8.1. Равномерное распределение времени обработки.

3.8.2. Пуассоновское распределение времени обработки.

3.8.3. Нормальное распределение времени обработки.

3.8.4. ^ -образное распределение времени обработки.

3.9. Оценка вероятности отказов в случае неконтролируемого потока.

3.10. Выводы.

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

4.1. Методы и средства динамической реконфигурации структуры СнПК.

4.2. Оценка эффективности динамической реконфигурации.

4.3. Анализ структуры конфигурационных файлов.

4.4. Оценка энтропии и теоретически возможной степени компрессии конфигурационных файлов.

4.5. Алгоритмы компрессии и декомпрессии конфигурационных файлов.

4.6. Результаты применения предложенного алгоритма компрессии.

4.7. Выводы.

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Шалтырев, Владимир Алексеевич

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

До недавнего времени данное противоречие успешно разрешалось применением специализированных заказных ИС (Application Specific Integrated1 Circuits, ASIC) [2]. К недостаткам проектов, реализованных на ASIC, следует отнести длительное время разработки и высокую стоимость [3; 4; 5]. Также существенным недостатком ASIC является- тот факт, что только подготовка к производству каждого нового варианта изделия влечет за собой расходы, в десятки и даже сотни тысяча долларов, что делает малосерийные изделия экономически невыгодными и существенно повышает цену ошибки проектирования. Любое изменение для исправления допущенной ошибки или для совершенствования ИС требует повторного прохождения всего маршрута проектирования. Эта проблема особенно актуальна для постоянно эволюционирующих устройств — телекоммуникационного оборудования, мультимедийных устройств и т.п. Для подобного рода задач, очевидно, предпочтительны легко программируемые и реконфигурируемые решения, которые могут быть изменены как на стадии разработки, так и после выпуска.

Принципиально новой- стала методология проектирования "систем на кристалле" (СнК, System-on-Chip, SoC), допускающая повторное использование законченных и протестированных сложнофункциональных блоков (используются также термины СФ-блок, IP-ядро, IP-блок - от "Intellectual1 Property"). Эта возможность стала основой фундаментального повышения производительности проектирования [6; 7]. По критерию гибкости повторного использования все IP-ядра могут быть разделены на три класса [8; 9; 10]:

1) синтезируемые ядра (Synthesizable IP, "soft-core") - технологически независимые блоки, описание которых осуществляется, на высокоуровневых языках описания аппаратуры;

2) ядра класса "firm", ориентированные на определенную технологию, привязка к которой осуществляется на уровне предварительного разбиения на структурные единицы в выбранном технологическом^ процессе для достижения требуемых характеристик по быстродействию и площади;

3) "жесткие" ядра ("hard") - привязанные к одному технологическому процессу ядра (готовая топология).

Ключевым отличием-СнК от традиционных микроконтроллеров является отсутствие в составе системы избыточных (неиспользуемых) блоков.

Методология СнК по сравнению с традиционной методологией (ASIC, "система на плате" и др.) обладает следующими преимуществами:

1) в подавляющем большинстве случаев устройство, разработанное по методологии СнК, имеет меньшую площадь;

2) объединение IP-ядер на одном кристалле приводит к существенному уменьшению- межсоединений и, следовательно, существенно повышает надежность системы, построенной на основе СнК;

3) изготовление СнК по субмикронной технологии позволяет снизить напряжение питания и общую потребляемую мощность.

В качестве технологической платформы для реализации цифровых СнК могут выступать программируемые логические интегральные схемы (ПЛИС) -их использование позволяет значительно сократить время, разработки и модификации СнК. Такая технологическая платформа позволяет в полной мере использовать как характерные особенности самих ПЛИС, так и преимущества IP-ядер класса "soft-core". Вместе с тем СнК, реализованные на базе ПЛИС, обладают, как правило, высоким энергопотреблением и зачастую неэффективно используют ресурсы базового кристалла.

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

Научиаяиовизиа диссертации

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

2. Предложена* методика оценки эффективности модификации-синтезируемых процессорных ядер:

A) введена статистическая * обработка экспериментальных данных для искшочениявлияния-конкретного размещения на кристалле;

Б)< доказано наличие корреляции между параметрами синтезируемых структур, реализованных на кристаллах ПЛИС с одинаковой архитектурой, что позволяет проводить экстраполяцию» результатов, полученных для одного кристалла ПЛИС, на другие кристаллы этого или аналогичных семейств;

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

3. Предложена структура многоканальной системы обработки информации, обеспечивающая повышение производительности системы за счет использования естественного параллелизма вычислений. В* отличие от существующих способов организации параллельной обработки данных, предложенный сопроцессор обладает единым интерфейсом при> любом количестве параллельно включенных обработчиков. Разработаны упрощенная математическая и ЮХ-модели системы, позволяющие на этапе проектирования оценить эффективность системы при известном времени обработки пакета данных; изучено влияние дисперсии времени обработки пакета данных на эффективность системы.

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

5. На основе проведенного анализа структуры конфигурационных данных ПЛИС предложен модифицированный алгоритм иерархического сжатия конфигурационных файлов; допускающий аппаратную реализацию без использования блочной памяти кристалла.

Практическая значимость диссертации

1. Разработан и реализован маршрут проектирования, обеспечивающий эффективное применение предложенной методики модификации процессорных ядер. На-примере набора из 40 процессорных ядер и 20 тестовых приложений показано, что* предложенная методика модификации способна обеспечивать сокращение ресурсоемкости синтезируемого процессорного ядра на величину до 45%, увеличение рабочей тактовой частотыI на величину до 13%, сокращение динамическош потребляемой мощности на величину до 8%, увеличение "вычислительной плотности" синтезируемых структур на величину до 100%.

2. Разработаны ЯТЕ-мод ел и синхронной и локально-синхронной многоканальных систем» обработки данных. Показано, что при равномерном, нормальном и пуассоновском распределениях времени обработки пакета данных эффективность системы может быть повышена за счет увеличения размера буфера тэгов до 2К слов. Проведен сравнительный анализ эффективности синхронной и* локально-синхронной схем, на его основе сформулированы рекомендации по выбору одного из вариантов многоканальной схемы при различных временах обработки пакета данных.

3. На примере набора из 20 различных 1Р-блоков показано, что применение предложенного алгоритма компрессии конфигурационных данных ПЛИС обеспечивает сокращение объема конфигурационных данных в 1,8. 10,9 раз. Определен диапазон параметров» алгоритма, обеспечивающих максимальную степень компрессии конфигурационных данных.

4. Разработано программное обеспечение для* ПК, реализующее предложенный алгоритм иерархической компрессии.

5. Разработана; КТЕ-модель, блока аппаратного декомпрессора, определены: параметры данного блока при его реализации на ПЛИС семейства \^г1ех4. Показано; что предложенный; алгоритм декомпрессии допускает аппаратную реализацию без использования блочной памяти в отличие от других алгоритмов;, используемых для компрессии конфигурационных данных ПЛИС.

В Малой ускорительной лаборатории МИФИ (г. Москва) разработан; испытан и внедрен в научную и 'учебную деятельность лаборатории аппаратно-программный комплекс СПЕКТР, построенный, на базе ПЛИС 8раПапЗАК. Использование предложенной методики модификации- процессорных ядер в ходе проектирования СнПК, лежащей; в основе аппаратной части комплекса, позволило- повысить, точность проводимых измерений в. среднем на; 12% и снизить себестоимость.аппаратной .части> комплекса .на20%.

В рамках работ по созданию; радиолокационных станций; 5П-27, 67Н6Е, 1РЛ-123 Е (ВНИИРТ, г. Москва) разработаны вычислительные блоки ■ 5П4ИИ01, 674ИИ01 с унифицированными ячейками обработки сигналов 5П2ХЛ002, 672ХЛ002 на базе ПЛИС. В процессе разработки: были- использованы методика оценки эффективности динамической;5 реконфигурации, и алгоритм; компрессии? конфигурационных файлов;' предложенные В: диссертации:. Применение алгоритма* компрессии-; позволило сократить в-; 2.8 раз- объем? памяти, необходимой для хранения конфигурационных данных;ПЛИС.

Положения, выносимые на защиту

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

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

3. Структура', многоканальной системы обработки информации; обеспечивающая ^ повышение: производительности; системы, за» счет использования естественного параллелизма вычислений;

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

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

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

Основные результаты диссертации:

1. Предложена методика модификации синтезируемых процессорных ядер, основанная, на исключении из набора команд инструкций, не используемых при реализации конкретного приложения. Разработан и реализован маршрут проектирования, обеспечивающий,- эффективное применение предложенной методики модификации процессорных ядер. На примере набора из 40 процессорных ядер и 20 тестовых приложений показано, что предложенная-методика модификации позволяет обеспечить сокращение ресурсоемкости процессорного ядра, на величину до 45%, увеличение рабочей тактовой частоты .на величину до43%, сокращение динамической,потребляемой мощности на величину до 8%, увеличение "вычислительной плотности'' синтезируемых структур* на» величину до 100%.

2. Предложена- методика оценки, эффективности, модификации синтезируемых процессорных- ядер:

A) введена статистическая • обработка экспериментальных- данных для исключения.влияния конкретного размещения на кристалле;

Б) доказано, наличие корреляции между параметрами синтезируемых структур, реализованных на кристаллах ПЛИС с одинаковой) архитектурой, что позволяет проводить экстраполяцию результатов; полученных для- одного кристалла ПЛИС, на другие кристаллы.этого или аналогичных семейств;

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

3. Предложено два варианта (синхронный и локально-синхронный) структуры, сопроцессора, предназначенного для обработки массивов данных. Локально-синхронная схема, в отличие от синхронной, позволяет минимизировать снижение рабочей тактовой частоты при масштабировании системы и допускает реализацию алгоритмов ,динамического управления энергопотреблением. В, обоих вариантах интерфейс сопроцессора является' единым: при изменении количества блоков* обработки изменения количества связей, с внешними объектами-(процессорное ядро с выделенными интерфейсами или системнаяV шина) не требуется. В результате анализа упрощенной математической модели системы и

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

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

5. На* основе проведенного анализа' структуры конфигурационных данных ПЛИС предложен модифицированный алгоритм иерархической' компрессии конфигурационных файлов,- допускающий аппаратную реализацию без использования блочной памяти. На примере набора из 20 различных 1Р-блоков показано, что применение предложенного алгоритма, обеспечивает сокращение объема конфигурационных данных в 1,8.10,9 раз. Определен диапазон параметров алгоритма, обеспечивающих максимальную степень компрессии конфигурационных данных. Показано, что предложенный алгоритм имеет преимущество (в среднем по тестовому набору 1Р-ядер 14%) в степени компрессии перед алгоритмом Г^ББ, традиционно используемым для сжатия конфигурационных файлов; но уступает более сложным алгоритмам из семейства \lZjx. (в среднем 7% в случае алгоритма 1101^ и 4% в случае алгоритма 1^77 с арифметическим кодированием). Алгоритм проигрывает около 20% в степени компрессии программным архиваторам \\^пКА11 и IX. Разработано программное обеспечение для ПК, реализующее предложенный алгоритм компрессии.

Разработана ЯТЬ-модель блока аппаратного декомпрессора, определены параметры данного блока при его реализации на ПЛИС семейства У1Лех4.

Реализация и внедрение результатов диссертации:

1. В Малой ускорительной лаборатории МИФИ (г. Москва) разработан, испытан и внедрен в научную и учебную деятельность лаборатории аппаратно-программный комплекс СПЕКТР, построенный на базе ПЛИС ЗрайапЗАЫ. Использование предложенной методики модификации процессорных ядер в ходе проектирования СнПК, лежащей в основе аппаратной части комплекса, позволило повысить точность проводимых измерений в среднем на 12% и снизить себестоимость аппаратной части комплекса на 20%.

2. В рамках работ по созданию радиолокационных станций 5П-27, 67Н6Е, 1РЛ-123Е (ВНИИРТ, г. Москва) разработаны вычислительные блоки 5П4ИИ01, 674ИИ01 с унифицированными ячейками обработки сигналов 5П2ХЛ002, 672ХЛ002 на базе ПЛИС. В процессе разработки были использованы методика оценки эффективности динамической реконфигурации и алгоритм компрессии конфигурационных файлов, предложенные в диссертации. Применение алгоритма компрессии позволило сократить в 2.8 раз объем памяти, необходимой для хранения конфигурационных данных ПЛИС. f I f

Заключение

Библиография Шалтырев, Владимир Алексеевич, диссертация по теме Элементы и устройства вычислительной техники и систем управления

1. International Technology Roadmap for Semiconductors (ITRS 2007 Edition). 2009. URL: http://www.itrs.net/Links/20071TRS/Home2007.htm (дата обращения: 15.03.2009).

2. Corrigan W. ASIC Challenges: Emerging from a Primordial Soup // IEEE Design and Test of Computers. 1998. - Vol. 15. - I. 3. - P. 4-7.

3. Keutzer K., Malik S., Newton A. From ASIC to ASIP: The Next Design Discontinuity: Proceedings of IEEE International Conference on Computer Design: VLSI in Computers and Processors. 2002. - P. 84-90.

4. Keutzer K., Chinnery D. Closing the Gap between ASIC and Custom: An ASIC Perspective: Proceedings of Design Automation Conference. 2000. - P. 637-642.

5. Kuon I., Rose J. Measuring the Gap between FPGAs and ASICs // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2007. - Vol. 26. -1. 2. -P. 203-215.

6. Bricaud P. IP Reuse Creation'for System-on-Chip Design // Proceedings of IEEE on Custom Integrated1 Circuits 1999» 1999. - P. 395-40Г.

7. Chang S., Kim S. Reuse-Based Methodology in Developing System-on-Chip: Proceedings of Fourth International Conference on Software Engineer Research; Management and Applications. 2006. - P. 125-131.

8. Zoryan Y., Marinissen E., Dey S. Testing Embedded-Core Based System' Chips // IEEE Computer. 1999. - Vol. 32. -1. 6. - P. 52-60.

9. Martin G. Design Methodologies for System Level IP: Proceedings of the Conference on Design, Automation and Test in Europe 1998. 1998. - P. 286-289.

10. Hekmatpour A., Goodnow K., Shah H. Standards-Compliant IP-Based ASIC and SoC Design: Proceedings of IEEE International Conference on SoCs 2005. 2005. -P. 322-323.

11. Немудров В., Мартин Г. Системы на кристалле. Проектирование и развитие. -М.: Техносфера, 2004. 216 с.

12. Шагурин И. Системы на кристалле. Особенности реализации и перспективы применения // Электронные компоненты. 2009. - № 1. - С. 37-39.

13. Martin G., Chang Н. System-on-Chip Design: Proceedings of Fourth International Conference on ASICs. 2001. - P. 12-17.

14. System-on-Chip: Reuse and Integration / Saleh В., Wilton S., Mirabbasi S. et al. // Proceedings of IEEE. 2006. - Vol. 94. -1. 6. - P. 1050-1096.

15. Волов А.С., Шалтырев B.A., Мокрецов M.O. Модуль для разработки IP-ядер на основе ПЛИС Xilinx Spartan-З //Научная сессия МИФИ 2006: сборник научных трудов. 2006. - Т. 1.-С. 118-119.

16. Eto Е. Difference-Based Partial Reconfiguration // Xilinx XAPP290, Edition 2.0: Application Note. 2007. - P. 1-8.

17. Becker J., Huebner M., Ullmann Mr. Real-Time Dynamically Run-Time Reconfiguration for Power / Cost-optimized Virtex FPGA Realizations: Proceedings of 16th Symposium on Integrated Circuits and Systems Design. 2003. - P. 283-288.

18. Попович А. Применение технологии .разработки систем на кристалле на основе FPGA // Компоненты и технологии. 2004. - № 4. - С. 114-116.

19. Schneider Т., Schwab A., Aylor J. A Full Custom VLSI Methodology Using Mentor Graphics Design Software in an Educational Enviroments: Proceedings of- Sixth Annual IEEE International ASIC Conference and Exhibit. 1993. - P. 305-308.

20. SoC-Driven Design Methodology for Full Custom High Performance Mixed-Signal Designs: Proceedings of 13th Annual IEEE International conference on ASIC / SoC / Wittmann R., Schardein W., Bierbaum D. et al.. 2000. - P. 148-152.

21. Eory F. A Core-Based System-to-Silicon Design Methodology // IEEE Design and Test of Computers. 1997. - Vol. 14. -1. 4. - P. 36-41.

22. Gupta R., Zorian Y. Introducing Core-Based System Design // IEEE Design and Test of Computers.- 1997. -Vol. 14.-I. 4.-P. 15-25.

23. Core Design and System-on-Chip Integration / RinconA., Cherichetti C., Monzel J. et al. // IEEE Design and Test of Computers. 1997. - Vol. 14. - It 4. - P: 26-35.

24. Benefits and Challenges for Platform-Based Design: Proceedings of Design Automation Conference 2004 / Sangiovanni-Vincentelli A., Carloni L., Bernardinis F. et al.. -2004. P. 409-414.

25. Wei S., Yang Y. Application-Oriented Platform-Based SoC Design Technology: Proceedings of 7th International Conference on Solid-State and Integrated Circuits Technology. 2004. - Vol. 2. - P. 1337-1340.

26. A New Platform-Based Orthogonal SoC Design* Methodology: Proceedings of 5th International Conference on ASICs / Li L., Gao M., Cheng Z. et al.. 2003. - Vol. 1. -P. 428^32.

27. Qi H., Jiang Z., Wei J. IP Reusable Design Methodology: Proceedings of 4th International Conference on ASICs. 2001. - P. 756-795.

28. Зотов В. Embedded Development Kit — система проектирования! встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA4 фирмы Xilinx // Компоненты и технологии. 2004. - № 4. - С. 164-168.

29. Шагурин И., Шалтырев В. Проектирование систем на кристалле на базе FPGA компании Xilinx // ChipNews. Инженерная микроэлектроника. 2005. - № 10. -С. 54-58.

30. Шагурин И., Шалтырев В., Волов А. "Большие" FPGA.как элементная база для реализации систем на. кристалле // Электронные компоненты. 2006. - №5. -С. 83-88.

31. Лохов А., Рабоволюк А. Средства проектирования FPGA компании Mentor Graphics // Электроника: Наука, Технология, Бизнес. 2004. - № 4. - С. 60-62.

32. Shin-Lien L., Yiannacouras P., Suh Т. An FPGA-Based Pentium in a Complete Desktop System: Proceedings of International Symposium on FPGAs. 2007. - P. 5359.

33. Rodriguez-Henriquez F., Saqib N., Cruz-Cortes N. A Fast Implementation of Multiplicative Inversion over GF(2Am): Proceedings of International Symposium on Information Technology. 2005. - Vol. 1. - P. 574-579:

34. Mencer O., Morf M., Flynm M. Hardware / Software Tri-Design of Encryption for Mobile Communication Units: Proceedings of the International Conference on Acoustics, Speech and Signal Processing. 1998! - Vol; 5: - Pi. 3045-3048;

35. Дайперт- Б; Обзор приборов- программируемой; логики; // Электронные компоненты. 2005. - № 2, № 3. :

36. Комухаев Э; Новые микросхемы семейств? FPGA,. ASIC, ASSP // ChipNews. -2004.-№10.-С. 32-36.

37. Зотов В. MicroBlaze. семейство 32-разрядных микропроцессорных ядер, реализу емых на основе ПЛИС "фирмы Xilinx // Компоненты и технологии. - 20031 -№9; - С.48-53 ;

38. Шалтырев BlA. Реализация микропроцессорных систем на, основе ядра MicroBlaze // Научная сессия-МИФИ 2006: сборник научных трудов; 2006: - Т. 1. -С. 124-125.

39. Каршенбойм И; Микроконтроллер; для встроенного применения1 NIOS: Конфигурация шины и периферии // Компоненты и технологии. — 2002. — №№ 2—5;

40. Новицкий; А.С., Шагурин И;И;,. Шалтырев В.А. Создание высокоуровневого описания-процессорного ядра' PicoBlaze // Научная; сессия'МИФИ 2007: сборник научных трудов.- 2007.-Т. 1,- С. 103-104.

41. OpenCores Project. 1999. URL: http://opencores.org/projects (дата обращения: 16 апреля 2009).

42. P.D.Abrows. Detailed Comparison of 12 Soft Microprocessors. 2007. URL: http://ews.uiuc.edu/~pdabrows/softprocessorcomparison.htm (дата обращения: 20 января 2009).

43. Gaisler J;, Habinc S., Catovic E. LEON3 Multiprocessing CPU Gore. Дата обновления: 2008. Систем, требования: Adobe Acrobat Reader. URL: http://www.gaisler.com/doc/leon3j5roductsheet.pdf (дата обращения: 23 января 2009).

44. On-Chip Peripheral, Bus; Architecture Specifications v.2.1 // IBM' SA-14-2528-02: Datasheet.-2001.

45. Avalon Interface Specification // Altera MNL-AVABUSREF-1.0: Datasheet. 2008.

46. Мансурская JI.A., Шалтырев B1A. IP-блок быстрого преобразования Фурье // Научная сессия =МИФИ 2008: сборник научных трудов/-2008. Т. 8. —С. 195-196.

47. The What, Why, and How of Configurable; Processors. 2009- URL: http://www.tensilica.com/products/literature-docs/white-papers/configurable-processors.htm (дата обращения: 25 января 2009).

48. Effectiveness of the AS IP design system PEAS-III in design of pipelined processors: Proceedings of the 2001 Asia South Pacific conference on Design Automation / Kitajima A., Itoh Ml, Sato J. et al. -2001.-P. 649-654.

49. Пантелеев А.Ю., Шалтырев В.А. Стековый процессор-с изменяемым набором инструкций // Научная сессия МИФИ 2008: сборник«научных трудов. 2008. - Т. 8. - С.193-194.

50. Каршенбойм И. Микропроцессор своими руками-5. По поводу начала проекта встроенного в FPGA микроконтроллера // Компоненты и технологии» 2007. - №№ 3-6.

51. Ken Chapman. Creating Embedded Microcontrollers (Programmable State Machines). Систем. требования: Adobe Acrobat Reader. URL: http://bleyer.org/pacoblaze/picoblaze.pdf (дата обращения: 15 января 2009).

52. Гольдберг Д.Ю., Шагурин И.И., Шалтырев В.А. RTL-модель 32-разрядного микропроцессора' для специальных применений // Научная сессия МИФИ 2007: сборник научных трудов. 2007. - Т. 1. - С. 99-100.

53. Шалтырев В А. Реализация интерфейса CLI с использованием хэш-функций и конечных автоматов // Научная сессия МИФИ 2008: сборник научных трудов. -2008.-Т. 8.-С. 154-155.

54. Fagin В". Erickson J'. DartMIPS: A Case Study in Quantitative Analysis of Processor Design Tradeoffs Using FPGAs: Proceedings of the 1993 International/Workshop on Field Programmable Logic and'Applications. 1993.

55. Gries M. Methods for Evaluating and Covering the Design Space during Early Design

56. Development // Integration, the VLSI Journal. 2004. - Vol. 38. - Issue 2. - P.131-183.tVi

57. Architecture Description Languages for Systems-on-Chip Design: Proceedings of 6 Asia Pacific Conference on Chip Design Language / Tomiyama H., Halambi A., Grun P. etal.- 1999.-P.T 09-116.

58. HDLGen: Architecture Description Language driven HDL Generation for Pipelined Processors: Technical Report. / Kejariwal A., Mishra P., Astrom J. et al. // CECS Technical Report 03-04. University of California, Irvine. 2003. - 21 p.

59. Architecture Implementation Using the Machine Description- Language LISA: Proceedings of the 9th Asia Pacific Conference on Design Automation/VLSI Design, IEEE Computer Society / Schliebusch O., Hoffmann A., Nohl A. et al. 2002. - P. 239.

60. Microarchitectural Exploration with Liberty: Proceedings of the 35th International Symposium on Microarchitecture / Vachharajani M., Vachharajani N., Penry D.A. et al.. -2002. P. 271-282.

61. Yiannacouras P., Steffan J.G., Rose J. Application-specific customization of soft processor microarchitecture: Proceedings of the 14th International ACM/SIGDA Symposium on FPGAs. -2006. P. 201-210.

62. Yiannacouras P., Steffan J.G., Rose J. Exploration andi Customization of FPGA-Based Soft Processors // IEEE Transactions on CAD of Integrated Circuits and Systems. -2007.-Vol. 26. -No.2. P. 266-277.

63. Кобзарь А. И. Прикладная математическая статистика. М.: Физматлит, 2006. -816 с.

64. Бешелев С.Д., Гурвич Ф.Г. Математико-статистические методы экспертных оценок. М.: Статистика, 1980. - 263 с.

65. ModelSim User's Manual // Mentor Graphics. 2008. - Ver. 6.3g. - 492 p.

66. FPGA*Power Management and Modeling Techniques: Altera White Paper. 2007. -Ver.1.0. - P. 1-8.

67. Антонов А. Параллельное программирование с использованием технологии MPI: учебное пособие. -М.: Изд-во МГУ, 2004. 71 с.

68. Mead С., Conway L. Introduction to VLSI Systems. Addison-Wesley, 1980. -396 p.• 83. Seitz C. Concurrent VLSI Architectures // IEEE Transactions on Computers. 1984. Vol. 33.-No 12.-P. 1247-1265.

69. Осипенко П. Эволюция и современное состояние архитектуры MIPS // Электронные компоненты. 2009. - № 1. - С. 55-58.

70. Patterson D., Hennessy J., Ashenden P. Computer Organization^ and Design: The Hardware / Software Interface. — Third Edition. — Morgan-Kaufmann Publishers, 2007. — 621 p.

71. Hennessy J., Patterson D. Computer Architecture: A Quantitative Approach. Fourth Edition. - Morgan Kaufmann Publishers, 2007. - 705 p.

72. Metzgen P: Optimizing a high performance 32-bit processor for programmable logic: Proceedings of International Symposium on System-on-Chip. 2004. -P: 13-15.

73. Embedded Microprocessor Benchmark Consortium: Benchmark Software. Обновление: 2009. URL: http://www.eembc.org/products/ (дата обращения: 10 февраля 2009).

74. MiBench: A free, commercially representative embedded benchmark suite: Proceedings of the IEEE International Workshop on Workload Characterization / Guthaus M., Ringenberg J. et al.. 2001. - P. 3-14.

75. Shannon L., Chow P. Standardizing the performance assessment of reconfigurable processor architectures: Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines. 2003. - P. 68-69.

76. Gardner M. The fantastic combinations of John Conway's new solitaire game // Scientific American. 1970. - Vol. 223. - P. 120^123.

77. Гриффите A. GGC. Настольная книга пользователей; программистов и системных администраторов: Киев: Диасофт, 2004. - 624 с.

78. Veenstra J., Fowler R: MINT: A Front End for Efficient Simulation of Shared-Memory Multiprocessors: Proceedings of IEEE/ACM International Symposium on Modeling; Analysis and Simulation* of Computer and Telecommunication Systems. 1994. P. 201 207.

79. NiosII Processor Reference Handbook // Altera NII5Vl-8;0: Handbook. 2008. -267 p.

80. James-Roxby P., Schumacher P., Ross C. A single program multiple data parallel processing platform for FPGAs: Proceedings of 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines. 2004. - P.302-303.

81. Cho J:, Chang'H:,,SungiW.AnFPGA basedSIMD;processor with?a vector memory unit: Proceedings of International Symposium on- Circuits andiSystems: 2006. - P. 525. 528.

82. Yu J., Lemieux G., Eagleston C. Vector processing as a soft-core CPU accelerator: Proceedings of the 16th international ACM/SIGDA symposium on Field programmable gaterarrays. 2008. - Pi 222-232'.

83. Yiannacouras P., Steffan J.Gi, Rose J. VESPA: portable, scalable, and flexible FPGA-based vector processors: Proceedings of the 2008 internationallconference omCompilers, architectures and synthesis for embedded systems. 2008. - P. 61 -70.

84. EDK Concepts, Tools and Techniques // Xilinx XTP013, EDK 10.1: Datasheet. -92 p.

85. Шалтырев B.A., Шагурин И.И. Проектирование: "Систем на; кристалле" с использованием- среды Xilinx EDK //Научная сессия МИФИ 2006: Сборник научных трудов. 2006. - Т. 1. - С. 126-127.

86. NiosII Processor Reference Handbook // Altera NII5V1-8.0: Handbook. 2008. -267 p.

87. Fast Simplex Link (FSL) Bus Product Specification // Xilinx DS449, v.2.11a: Datasheet. 2007. - 9 p.

88. MicroBlaze Processor Reference Guide // Xilinx UG081, EDK 10.1, v9.0: User Guide. 194 p.

89. Башарин Г.П. Лекции по математической теории телетрафика. М.: Изд-во РУДН, 2004.- 186 с.

90. Теория телетрафика / Лившиц Б.С. и др. М.: Связь, 1979. - 224 с.

91. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979. -432 с.

92. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. -изд. 4-е. М.: КомКнига, 2005. - 400 с.

93. Вентцель Е.С. Теория вероятностей. М.: Высшая школа, 2006. - 576 с.

94. Cooper R. Introduction to Queuing Theory. 2nd Edition. - New York: Elsevier North Holland Publishers. - 1981. - 347 p.

95. A Case Study of a System-Level Approach to Power-Aware Computing / Martin Т., Siewiorek D. et al. // ACM Transactions on Embedded Computing Systems. 2003. -Vol 2. - Issue 3. - P. 255-276.

96. Benini L., Bogliolo A., Micheli D. A Survey of Design Techniques for System-Level Dynamic Power Management // IEEE Transactions on VLSI Systems. 2000. - Vol. 8. -Issue 3.-P. 299-316.

97. Гольдштейн Б.С., Пинчук A.B., Суховицкий А.Л. IP-телефония. М.: Радио и связь, 2001.-336 с.

98. Шалтырев В.А. RTL-модели блоков сжатия звуковых сигналов // Научная сессия МИФИ 2007: сборник научных трудов. 2007. - Т.1. - С. 101-102.

99. Сергиенко А.Б. Цифровая обработка сигналов: учебник для вузов. 2-е изд. — СПб.: Питер, 2007. 752 с.

100. Коуэн К.Ф.Н. Адаптивные фильтры / пер. с англ. М.: Мир, 1988. - 388 с.

101. Eto Е. Difference-Based Partial Reconfiguration // Xilinx XAPP290, v.2.0: Application Note. 2007. - P. 1-8.

102. Becker J., Huebner M., Ullmann M. Real-Time Dynamically Run-Time Reconfiguration for Power / Cost-optimized Virtex FPGA Realizations: Proceedings of 16th Symposium on Integrated Circuits and Systems Design. 2003. - P. 283-288.

103. Kock D., Teich J. Platform-independent Methodology for Partial Reconfiguration: Proceedings of International Conference on Computing Frontiers. 2004. - P. 398-403.

104. Doraidraj N., Shiflet E., Goosman M. Plan Ahead Software as a Platform for Partial Reconfiguration // XCell Journal. 2005. - Fourth Quarter. - P. 68-71.

105. FPGA Run-Time Reconfiguration: Two Approaches // Altera WP-01055, v.1.0: Whitepaper. 2008. - P.2-6.

106. Spartan-3 Generation Configuration User Guide // Xilinx UG332, v. 1.3: User Guide. -2007.-P. 261-274.

107. Virtex-II Pro and> Yirtex-II Pro-X FPGA User Guide // Xilinx UG012, v.4.2: User Guide. 2007. - P. 319-367.

108. Virtex-E 1.8V Field Programmable Gate Arrays // Xilinx DS022-2, v.2.8: Datasheet. -2006.-P. 12-19.

109. Virtex4 Configuration Guide // Xilinx UG071, v. 1.9: User Guide. 2007. - P. 79-98.

110. Virtex5 FPGA Configuration User Guide // Xilinx UG191, v.2.7: User Guide. 2008. -P. 94-126.

111. OPB HWICAP Product Specification // Xilinx XAPP290, v. 1.3: Application Note. -2004.-P. 68-73.

112. Li Z., Hauck S. Configuration Compression for Virtex FPGAs // Proceedings of IEEE Symposium on Field-Programmable Custom Computing Machines. 2001. - P. 147159.

113. Hauck S., Li Z., Schwabe E. Configuration compression for Xilinx 6200 FPGA // IEEE Transactions on CAD on Integrated Circuits and Systems. 1999. - № 18. - Vol.8. -P. 1237-1248.

114. Dandalis N., Prasanna V. Configuration Compression for FPGA-based Embedded Systems: Proceedings of ACM/SIGDA International Symposium on Field-Programmable Gate Arrays.-2001.-P. 187-195.

115. Khu A. Xilinx FPGA Configuration Data Compression and Decompression // Xilinx WP152: Whitepaper. -2001. Edition 1.0. - P. 1-3.

116. Storer J., Syzmanski T. Data compression via textual substitution. // Journal of the ACM. 1982. - № 4. - Vol. 29.- P. 928-951.

117. Pan J., Mitra Т., Wong W. Configuration Bitstream Compression for Dynamically Reconfigurable FPGAs: Proceedings of International Conference on Computer Aided Design. 2004. - P. 766-733.

118. Kennedy I. Exploiting Redundancy to Speedup Reconfiguration of an FPGA: Proceedings of International Conference on Field-Programmable Logic and Applications. -2003.-P. 262-271.

119. Шеннон К. Предсказание и энтропия печатного английского текста: пер. с англ. / Работы по теории информации и кибернетике. М.: ИЛ, 1963. - С. 669-686.

120. WinRAR Benefits. URL: http://rarlab.com/rararchiver.htm (дата обращения: 10 января 2009).

121. Игорь Павлов. Справка 7-Zip. Общая информация. URL: http://7-zip.org.ua/ru/help/content.html (дата обращения: 10 января 2009).

122. Булат Зиганшин. FreeArc. Дата обновления: 2009. URL: http://www.freearc.org/ru/Default.aspx (дата обращения: 9 января 2009).

123. Илья Муравьев. BALZ. URL: http://balz:sourceforge.net/ (дата обращения: 9 января 2009).

124. Matt Mahoney. Large Text Compression Benchmark. URL: http://cs.fit.edu/~mmahoney/compression/text.html (дата обращения: 9 января*2009).

125. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Ватолин Д., Ратушняк А., Смирнов М. и др.. М.: ДИАЛОГ-МИФИ, 2002. -384 с.

126. Improved Hierarchical Bit-vector Compression in Document Retrieval Systems: Proceedings of ACM Conference on Research and Development in Information Retrieval / Choueka Y., Fraenkel A., Klein S. et al., 1986. - P. 88-96.

127. Шалтырев В.А., Шалтырев К.А., Шагурин И.И. Динамическая реконфигурация ПЛИС с использованием сжатых битовых потоков // Известия ВУЗов. Электроника; 2009. - № 2 (76). - С. 43-50.