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

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

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

)

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

Беляев Андрей Александрович

ничьи1844

ПРИНЦИПЫ ПОСТРОЕНИЯ И РАЗРАБОТКА ОБР-ЯДЕР С ОПТИМАЛЬНЫМ ПО ПРОИЗВОДИТЕЛЬНОСТИ КОНВЕЙЕРОМ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ И УПРАВЛЯЮЩИХ СИСТЕМ

05.13.05 - Элементы и устройства вычислительной техники и систем управления

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

П з 2010

Москва-2010

004601844

Работа выполнена на Государственном унитарном предприятии «Научно-производственный центр «Электронные вычислительно-информационные системы».

доктор технических наук Петричкович Ярослав Ярославович

доктор технических наук Крыликов Николай Олегович,

кандидат технических наук Бакланов Александр Иванович

ОАО «Институт электронных управляющих машин имени И.С. Брука», г. Москва

Защита состоится «_»_2010 г. в_часов_минут в аудитории 3103 на

заседании диссертационного совета Д 212.134.02 Московского государственного института электронной техники (технического университета) по адресу: 124498, Москва, г. Зеленоград, проезд 4806, д. 5, МИЭТ (ТУ).

С диссертацией можно ознакомиться в научной библиотеке Московского государственного института электронной техники (технического университета).

Автореферат разослан «_» _ 2010 года.

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

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

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

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

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

Гуреев А. В.

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

Актуальность работы. Модернизация отечественной экономики, перевод её на рельсы инновационного развития предполагает создание современной микропроцессорной элементной базы для вычислительных систем и систем управления различного назначения, в том числе цифровых процессоров обработки сигналов - DSP (Digital Signal Processors). Важнейшим требованием и направлением совершенствования DSP-процессоров является повышение их производительности, которое достигается не только за счёт лучшей технологии производства, но и за счёт совершенствования архитектуры.

В разработку теории и практики построения вычислительных систем и микропроцессорной техники существенный вклад внесли известные российские ученые: С.А.Лебедев, В.М.Глушков, В.С.Бурцев, Б.А.Бабаян, Л.Н.Преснухин, Ю.В.Гуляев, А.И.Галушкин, В.Б.Бетелин, К.А.Валиев, В.А.Шахнов, В.П.Корячко и другие. В разработке новых архитектур процессоров, а также в области практической реализации их в виде интегральных схем участвовали отечественные предприятия: ИТМ ВТ им. С.А.Лебедева, НИИСИ РАН, НИИМА "Прогресс", НТЦ «Модуль», ЗАО «МЦСТ», ГУП НПЦ «ЭЛВИС» и многие другие.

Одним из наиболее эффективных и широко применяемых архитектурных методов повышения производительности является конвейерная обработка команд. Общая идея конвейера связана с разбиением процесса обработки данных на этапы и организацией их параллельного во времени выполнения. Тем самым реализуется принцип параллелизма (или «совмещение операций») на уровне команд. Принцип совмещения операций был выдвинут академиком С.АЛебедевым и впервые реализован в машине М20 в 1956 году. В дальнейшем эта идея получила развитие в трудах многих отечественных и зарубежных учёных и была успешно реализована в многочисленных устройствах цифровой обработки данных.

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

зуемого технологического базиса.

Поэтому объектом исследования в данной работе являются ядра процессоров сигнальной обработки (ОБР-ядра) для многоядерных систем на кристалле, а предметом исследования - принципы построения и разработка ББР-ядер с оптимальным по производительности конвейером инструкций.

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

Для достижения этой цели необходимо решить следующие задачи:

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

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

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

4. На основе комплексной методики выполнить разработку серии масштабируемых ОБР-ядер с оптимальным по производительности конвейером для различных задач сигнальной обработки и различных технологических базисов.

5. Провести анализ и разработать принципы и способы построения многоядерных систем на кристалле с реконфигурируемыми потоками данных и управления на основе разработанных ОБР-ядер, внедрить разработанные ядра в состав многоядерных систем на кристалле и экспериментально определить достигаемую ими производительность.

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

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

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

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

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

4. Впервые разработана комплексная методика оптимизации конвейера ОБР-ядра по производительности с учётом как статистических характеристик исполняемых программ, так и временных характеристик технологического базиса, предназначенная для практического проектирования ОБР-ядер.

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

Практическая значимость работы состоит в следующих достижениях.

1. Применение полученных в работе теоретических результатов позволило повысить, по сравнению с известными ранее методами, точность определения оптимальной глубины конвейера ОБР-ядра. Для отдельных приложений повышение точности достигает 50%, что позволяет соответственно уменьшить аппаратные затраты на конвейеризацию при одновременном росте производительности на 10% и более.

2. Разработанная методика позволяет определить оптимальную глубину конвейера ББР-ядра аналитическими методами, не прибегая к ресурсоемкому моделированию, тем самым сокращая сроки проектирования на 20-25%.

3. Разработанная автором серия ББР-ядер ЕЬсоге-хх™ представляет собой библиотеку процессорных 1Р-ядер, многократно применяемых при проектировании многоядерных систем на кристалле различного назначения.

4. Внедрение разработанных ОБР-ядер в состав многоядерных микросхем сигнальных процессоров позволило обеспечить их производительность на уровне сопоставимом или превосходящем лучшие мировые аналоги. В частности, ОБР-кластер (^ЕЬсоге-ОР™ на частоте 500 МГц обеспечивает производительность 12 Гфлоп/с.

5. Предложенные принципы и способы построения многоядерных систем на кристалле обеспечивают объединение ББР-ядер в многоядерные кластеры с высокой скоростью обмена данными и аппаратной синхронизацией вычислительных потоков. В 4-ядерном БЭР-кластере (5ЕЬсоге-09™ обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральными процессором. Достоверность результатов работы обусловлена применением общепринятых математических методов оптимизации, математического моделирования, использованием систем автоматизированного проектирования, и подтверждается многолетним опытом эксплуатации ОБР-ядер ЕЬсоге-хх™ в составе систем на кристалле, разработанных на основе теоретических и технических идей данной работы. Внедрение результатов работы.

На основе полученных научных результатов автором была разработана серия ОБР-ядер ЕЬсоге-хх™, на базе которой созданы микросхемы сигнальных процессоров семейства «Мультикор»: 1892ВМЗТ, 1892ВМ2Я, 1892ВМ4Я, 1892ВМ5Я , 1892ВМ7Я и др. Микросхемы сигнальных процессоров 1892ВМЗТ, 1892ВМ4Я, 1892ВМ5Я включены в «Перечень электрорадиоизделий, разрешенных к применению при разработке (модернизации), производстве и эксплуатации аппаратуры, приборов, устройств и оборудования военного назначения» (МОП 44 001.02-2009) МО РФ.

Микросхемы семейства «Мультикор» были внедрены при разработке аппаратуры на 51 предприятии. Среди них можно выделить системные концерны российской оборонной промышленности: ФГУП "НПО машиностроения", ОАО "Концерн "Созвездие", ОАО НПО "Алмаз" им. академика Расплетина, ОАО Концерн радиостроения "Вега", ФГУП ЦНИИ "Комета", ФГУП "НИИ "Вектор", ФГУП НПО "Орион", ФНПЦ «Раменское приборостроительное конструкторское бюро» и др.

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

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

На защиту выносятся: - математические соотношения, выражающие зависимость производительности

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

- математические соотношения для расчета оптимальной по производительности глубины конвейера ОБР-ядра;

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

- комплексная методика оптимизации конвейера ББР-ядра по производительности с учётом статистических характеристик прикладных программ и временных характеристик технологического базиса и разработанная на ее основе серия масштабируемых ББР-ядер для обработки данных в форматах 8/16/32/64/128 разрядов для различных задач сигнальной обработки и технологических базисов;

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

Апробация работы. Основные результаты работы докладывались и обсуждались на: международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2004 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем», Истра, 2005 г.; международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2006 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем», Истра, 2006 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем», Истра, 2008 г.

По теме диссертации опубликовано 24 научных работы. Из них в ведущих рецензируемых журналах, входящих в перечень, утвержденный ВАК - 7, тезисов докладов всероссийских и международных конференций - 10 , 1 авторское свидетельство об изобретении. Без соавторов опубликовано 8 работ.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка использованной литературы и приложений. Объем основного текста диссертации - 170 страниц. В работе содержится 77 рисунков и 15 таблиц. Список литературы содержит 93 наименования.

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

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

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

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

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

Сигнальные процессоры ведущих мировых производителей - фирм Analog Devices (ADI) и Texas Instruments (TI), особенно работающие в формате данных с плавающей точкой, во многих случаях имеют довольно глубокий конвейер инструкций. В качестве примера можно привести такие широко применяемые семейства процессоров, как TigerSharc фирмы Analog Devices со структурой конвейера (6/4), 6 - число фаз установочной, 4 - исполнительной части конвейера; TMS32064xx и TMS32067xx фирмы Texas Instruments со структурой конвейера соответственно (6 /5) и (6 /10). Для прикладных программ с наличием значительного числа зависимостей по данным и программных переходов подобные структуры конвейера не являются оптимальными, и это приводит к тому, что при исполнении таких программ время простоя превышает время полезной работы конвейера.

В связи с этим при разработке новых семейств DSP-процессоров актуальной яв-

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

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

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

Во второй главе анализируется механизм влияния программных переходов и зависимостей по данным на производительность конвейера инструкций. Показано, что среднее число тактов, затрачиваемое на исполнение процессором одной инструкции IPC1, (IPC - Instructions per Cycle) определяется формулой:

где Ns и Ne - число фаз соответственно установочной и исполнительной части конвейера; рь - относительная частота исполненных инструкций программных переходов; pi - относительная частота исполненных инструкций с расстоянием зависимости по данным г. Расстоянием зависимости (dependency distance) между двумя инструкциями (разрешающей и зависимой) называется число инструкций, расположенных между ними, плюс одна.

Формула (1) может быть приведена к виду функции одной переменной, характеризующей глубину конвейера. Пусть E/S - отношение комбинационных задержек исполнительной Се и установочной Cs части конвейера. Тогда может быть введен один параметр - п, характеризующий глубину конвейера, такой, что NE = пЕ, Ns = nS, общая глубина конвейера N = Ns + NE = n(E+S) и число тактов на инструкцию равно:

1 Emma P.G., Davidson E.S. Characterization ob Branch and Data Dependencies in Programs for Evaluating Pipeline Performance. // IEEE Trans. On Computers, Vol.C-36, N0.7, July 1987, pp.859-875.

(1)

i-i

IPC?,(n) = l + pt(nS-l) + DE,(ri), (2)

где DES(n) - компонента, характеризующая торможение конвейера вследствие зави-

КгЛ иЯ-1

симостей по данным: DEJ.(n)= ]Г /),(jVe -/) = к - наименьшее значение па-

/«1 м

раметра глубины конвейеризации такое, что = 0 для любого i>kE-\.

Пусть и Tpip - период тактовой частоты соответственно неконвейеризованно-го и конвейеризованного процессора: Tser = C+L; Tpip = (C/N)+L , где С = Се+ Cs -суммарная комбинационная задержка DSP-ядра; L - общие временные затраты на срабатывание триггера (включая setup/hold time, clock skew, jitter и т.д.). Отношение производительности конвейеризованного и неконвейеризованного процессора:

J rl/f^Pb

n(S+E)(r +1) _ n(S + E) + r

(3)

где у = С/Ь характеризует увеличение производительности процессора, достигаемое путем конвейеризации, максимальное значение этой функции соответствует максимальной производительности ОБР-ядра. Приравнивая нулю производную Ч^.^и) по и, определяем оптимальную глубину конвейеризации:

V = ' (4)

И-1

, 1-рь-кЕ^Р,+0Е5{к)

где в„ (к) = ——--^-• (5)

* + Я +

/=1

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

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

• 1 • 2

г-*- • 3

L'4

1-- 5

• 6 Branch Target

• 7

• 8 Branch Target

• 9 Branch Target

• 10 • 11 • 12

C. 13

• 14

• 15

в) после редукции no правилам 1-5

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

• Taken Branch - исполненный программный переход.

• Branch Target - адрес программного перехода.

• Дуги зависимостей обозначаются парой чисел (/„, 4), где i„ представляет зависимый узел (начало дуги), 4- разрешающий узел (конец дуги).

• При этом предполагается, что нижние индексы к,п и номера узлов 4> i„ упорядочены одинаковым образом, то есть если к < п, то и 4 < i„.

• Расстояние зависимости для дуги (/„, 4) обозначается D(i„,ik) = i„ - 4 и представляет собой число инструкций между узлами ;„ и 4 (включая 4).

Если относительная частота исполненных программных переходов рь вычисляется просто как отношение числа этих переходов к общему числу инструкций (для приведенного графа рь=3/15), то с определением относительных частот все обстоит сложнее. Дело в том, что дуги зависимостей могут частично или перекрывать друг друга, таким образом, влияние некоторых зависимостей по данным может быть частично или полностью скомпенсировано наличием других. Такие избыточные дуги не должны учитываться при определении статистических характеристик р,. Задача, таким образом, состоит в том, чтобы удалить избыточные дуги с графа, при этом общее число тактов торможения не должно измениться. Для этой цели применяются правила редукции. Ниже приведены формулировки и иллюстрации (рис.2-4) действия трёх известных правил редукции, а результат их применения - на рис. 1(6).

— • 5 Taken Branch 6 Branch Target

• 7 Taken Branch

• 8 Branch Target, Taken Branch

9 Branch Target

10

• 11 • 12

• 13

• 14

-«15

а) до редукции

1

• 2

3

4

5

• 6 Branch Target

• 7

• 8 Branch Target

• 9 Branch Target

• 10 • 11 • 12

• 13

• 14

• 15

б) после редукции по правилам 1-3

с;

с

С

а) до редукции

б) после редукции

Рис.2. Правило редукции 1.

г£| с:

—),

а) до редукции 6} после редукции

Рис.3. Правило редукции 2.

с:

с

Правило I:

Если в графе зависимостей узел г„, где п > 1, зависит от п узлов, ц, и,..., /„.1 , то дуги (¡„, /V могут быть удалены с графа для всех 0 < ¡к < ¡„.г ■

Правило 2:

При наличии вложенной зависимости, то есть если в графе имеются две дуги (¡1, ¡о), 01. ]'о), такие, что < /0 < Ц < ]1 , то дуга (¡1, ]о) может быть удалена с графа.

Правило 3: Если в графе имеются две пересекающиеся дуги (¡1, ¡о) и 01, ]0), такие, что г0 < и < »'I < )1 и ВО,, ¡о) < ВОи ]в), и если на интервале \}о+1, ]о\ нет дополнительных задержек (то есть вложенных дуг или программных переходов), то дуга (¡¡, ]0) может быть удалена с графа.

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

Правило 4:

Если в графе имеются две пересекающиеся дуги (¡1, /о) и 01, ]о), такие, что /о < < < у'/ и 'о) > ]о), и если на интервале [¡¡+1, у'/7 нет дополнительных задержек (то есть вложен-них или пересекающих дуг или программных пере- рис 5 Правшю редукции 4 ходов), то дуга (¡¡, ¡0) может быть удалена с графа.

а) до редукции б) после редукции

Рис.4. Правило редукции 3.

--и ^

— || 1— 11

а) до редукции б) после редукции

• ¡а • ¡0

• Branch Target • Branch Target

, • U • I,

тельной части не превышает число фаз устано-

а)до редукции 6)после редукции

вочной части, любая дуга зависимости (;'), /0), содержащая внутри себя исполненный программный Рис.6. Правило редукции 5. переход (то есть адрес перехода находится в интервале [/0+1, может быть удалена с графа.

Как можно видеть, применение правил 1-5 позволяет полностью освободить граф от избыточных дуг зависимостей (рис. 1(b)) и, в итоге, более точно вычислить статистические характеристики программы по приводимым формулам: pb= Nt / Nbtrace; pt~ Nj 1 Ntimce, где: Nt, - число исполненных программных переходов в трассе; N/ - число дуг с длиной зависимости i в трассе; Nbtrace • общее число исполненных команд в трассе. Вычисленные по правилам 1-5 значения статистических характеристик для рассматриваемого примера: рь= 3/15; pi =0,р2 =2/15, р, =0 для i>2. Таблица 1. Статистические характеристики ряда программ сигнальной обработки

Приложение Pb P\ Рг Pi Pb Pb Pb Pi

FFT_1024 0.0243 0.3861 0.0701 0.0418 0.0027 0.0000 0.0000 0.0000

av_fl_window 0.0048 0.3286 0.1429 0.0000 0.0000 0.0000 0.0000 0.0000

fir_filter_l 5 0.0004 0.7230 0.0900 0.0000 0.0004 0.0000 0.0000 0.0000

IIR2fl 0.0123 0.2889 0.1419 0.0235 0.0018 0.0000 0.0006 0.0000

INTERPfl 0.0631 0.5468 0.0822 0.0019 0.0010 0.0010 0.0000 0.0000

lms_r_s 0.0015 0.3877 0.0030 0.0000 0.0000 0.0000 0.0000 0.0000

HENC 0.2796 0.3760 0.0332 0.0016 0.0000 0.0000 0.0000 0.0000

FDWTreal 0.0019 0.8432 0.0019 0.0019 0.0000 0.0000 0.0000 0.0000

DCT-8 0.0036 0.7628 0.0000 0.0000 0.0109 0.0000 0.0000 0.0000

motion_estimate 0.0009 0.1505 0.2267 0.0009 0.0009 0.0000 0.0000 0.0000

Dir_cyc_corr 0.0006 0.9533 0.0141 0.0000 0.0000 0.0000 0.0000 0.0000

Viterbi 0.0145 0.6522 0.0145 0.0000 0.0000 0.0000 0.0000 0.0000

При помощи разработанного алгоритма были определены статистические характеристики для ряда программ сигнальной обработки (табл. 1), входящих в библиотеку прикладных функций платформы «Мультикор»: БПФ (РРТ_1024), скользящее среднее (ау_Я_№шкт), КИХ-фильтр (йг_АНег_15), БИХ-фильтр (111120), интерполятор (ВДТЕКРА), адаптивный фильтр (1тз_г_з), вэйвлет-преобразование (РБ>УТгеа1), косинус-преобразование (ОСТ-8), оценка вектора перемещения

Для конвейера, в котором число фаз исполни- Г^

(тойоп_е5^та1е), корреляция (Вн_сус_согг), декодер Витерби (УкегЫ).

На основе полученных характеристик для исследуемых приложений была построена функция Ч'е^(п), выражающая зависимость производительности конвейера от его глубины по формуле (3) и по ранее известной [1] формуле:

т / N Г, /п 14 _ „Л п^ + Е)(г+1) / ^ кЕ~ 1 ^ V _ + + г

Наиболее характерные из полученных графиков приведены на рис.7.

(6)

а) УкегЫ

б) Пг_ПНе г_15

в) РБТМ024 г) шойоп_е5Йша1е

Рис.7. Зависимость производительности конвейера от его глубины Т^п) для различных приложений сигнальной обработки, построенная по ранее известной (*) и полученной в данной работе (о) формулам (у=15, к=2).

Приведенные графики свидетельствуют о том, что численное расхождение между известной ранее (6) и предлагаемой в данной работе (3) формулами для функции Ч'е.бОО всецело определяется статистическими характеристиками программной трассы. Для приложения УкегЫ, например, та и другая функция практически совпадают, для приложения то^оп_ей1ша1е расхождение оказывается весьма велико, что и вле-

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

Третья глава посвящена вопросам аппаратной разработки ББР-ядра с учетом характеристик используемого технологического базиса.

На рис.8 представлена блок-схема одного из серии разработанных ядер - БЗР-ядраЕЬсоге-14™.

_-^32_

PRAM

AGU

AGUY

АМВА АН В

32

PCU

GDB

PAG

XRAM

ХАВ

YAB

64

XDB

DB+Ctr

PDC

ALU

YRAM

32

ALU

- 32

YDB

RF

-32 -32

MS FMU AU FASU

Обозначения: PAG - генератор адреса программной памяти; PRAM - память программ; PDC - декодер инструкций; AG U (AGU-Y) - генераторы адреса памяти данных; XYRAM - память данных; RF - регистровый файл; MS, FMU, AU, FASU -операционные устройства; EDBS, 1DBS - коммутаторы шин данных; РАВ, ХАВ, YAB - шины адреса;

PDB,XDB,YDB,GDB, IDB+Ctr - шины данных.

Рис.8. Блок-схема DSP-ядра ELcore-14™

Разработанная серия DSP-ядер имеет следующие архитектурные особенности:

- модифицированная гарвардская архитектура: память программ PRAM отделена от памяти данных XYRAM, память данных адресуется двумя указателями: X и Y, что позволяет в течение одного процессорного такта выполнять чтение инструкции и извлечение/запись двух операндов;

- память программ PRAM и данных XYRAM являются двухпортовыми, что позволяет DSP-ядрам выполнять программу одновременно с подгрузкой/выгрузкой данных центральным процессором через внешний порт;

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

- масштабируемые форматы обрабатываемых данных: 8/16/32/64/128 бит;

- вычисления с фиксированной и плавающей точкой (IEEE-754);

- интерфейс с центральным процессором (host-интерфейс) - АМВА АНВ (Slave).

При практической реализации DSP-ядер для систем на кристалле необходимо учитывать свойства используемого технологического базиса, то есть библиотеки логических элементов, являющейся тем «строительным материалом», из которого создается конвейер DSP-ядра.

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

1) D-триггер. Временные характеристики: ts - время предустановки входного сигнала данных; tD - время задержки выходного сигнала данных - ограничивают длительность фазы конвейера: ТтЫ >ts+ tD.

2) Память. Основные характеристики: t^s- время предустановки адреса (address setup); tA - время выборки данных (access time), а) в адресной фазе предельное значение периода конвейера: ТтМ= tD + tAS; б) в фазе чтения: ТтШ2- tA + ts.

3) Неконвейеризуемые операции. К ним относятся операции, которые необходимо завершать в течение одного процессорного такта, в частности: а) модификация адреса памяти программ (в том числе при организации программных переходов); б) модификация адреса памяти данных (при организации циклических буферов); в) формирование управляющих сигналов, в том числе сигнала блокировки конвейера. Время исполнения этих операций tmodPA, tßi ограничивает быстродействие конвейера:

Ттт ~ maX(^m/nl' '¡"mm? ТтШУ TmmV 'В1)' О

где Tmini~ ls + {D + (тЫРА> fS + Ь + hux/DA'

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

Первый краевой случай (рис.9) - нерекур- „ *Р сивный программный код - полное отсутствие 10

е

зависимостей по данным в исполняемом про- ,

граммном коде (р.= 0 для всех / > 0). '

6:

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

Ч

(8)

п{Ттщ)

Рис.9. Вид функции УРЕ 5(п) при нерекурсивном программном

где ТЫп = тах(ТтМ, ТтМ, ТтШ ТтЫ).

Второй краевой случай (рис.10') - полностью , зависимый по данным (рекурсивный) программный код, в котором каждая следующая инструк- г« ция зависит от предыдущей. В этом случае ис- « полнительная часть конвейера должна состоять " из одной фазы:л0^=1 и его быстродействие оп- 1 ределяется, как правило, временем срабатывания " самого медленного из операционных устройств °пор,=\ * п{ТтШ)

согласно формуле:

Тщт ~~ пмх(Г»,1. Т . у Т м, Т Т .А,

Рис.10. Вид функции Ч^Дл) (9) при рекурсивном программном коде.

ГДе тп»п5= Ъ + (п +тах^»ом.....*тми)-

'птоиг—'ттоип ~ вРемя задержки операционных устройств. г,

В общем случае (рис.11) при определении опта- г< мального конвейера должны учитываться все указанные факторы:

_ ЫГ<*Бл (к),привел (к) < п(Тш), Где ^тт = таХ(^ви1' Ттш> ТтШ ТтМ>

(10)

- время формирования сигнала блокировки.

Рис.11. Вид функции Ч'ЕХ(п) в общем случае.

Обобщением рассмотренных выше теоретических подходов и принципов по-

строения оптимального по производительности конвейера ББР-ядра является комплексная методика оптимизации конвейера 08Р-ядра. Разработанная методика имеет следующие преимущества: 1) учитывает как статистические характеристики зависимостей по данным в исполняемых программах, так и временные характеристики используемого технологического базиса, и 2) позволяет производить оптимизацию конвейера без ресурсоемкого моделирования исполняемых программ на ЯТЬ-модели, что позволяет сократить продолжительность этапа проектирования в среднем на 20-25%.

Четвертая глава посвящена внедрению серии разработанных ОБР-ядер в состав многоядерных систем на кристалле и экспериментальной проверке достигаемой ими производительности. На основе предложенной методики были определены оптимальные значения глубины конвейера для приложений сигнальной обработки, приведенных в табл.1. Входящие в формулы (7)-(10) временные характеристики технологического базиса 0,25 мкм (в том числе параметра у) были определены путём схемотехнического синтеза входящих в состав ОЭР-ядер операционных устройств.

«Р ¥

а) РРТ_1024 б) йг_йкег_15

Рис.13. Сравнение теоретических (вычисленных по известной ранее (*) и предлагаемой в данной работе (о) формулам) и полученных с использованием схемотехнического синтеза значений функции Ч^^и) для программ РРТ_1024 и йг_АИег_15.

Теоретические (вычисленные по известной ранее (6) и предлагаемой в данной работе (3) формулам) и полученные с использованием схемотехнического синтеза значения функции Ч*Е8(п) для программ ЕРТ_1024 и йг_йиег_15 при 1< и < 5 и у=]5,291 приведены на графике (рис.13). Расхождение между синтезированными и полученными в диссертационной работе теоретическими данными составляет не более 1-2%.

На основе полученных данных были разработаны структуры конвейера и выполнено схемотехническое проектирование БЗР-ядер серии ЕЬсоге-хх™ . В табл. 2 представлены основные архитектурные характеристики разработанной серии. Таблица 2. Основные технические характеристики ББР-ядер ЕЬсоге-хх™.

ОЗР-ядро Струк- Па- Память Техно- Рабочая Произво- Инте-

тура /БГМ мять данных логия, частота, дитель- грация,

конвей- Э про- мкм МГц ность, млн.

ера грамм МБШРб транз.

ЕЬсоге-14 ш 3 (2/1) 1 4Кх32 36Кх32 0,25 80 240 8

ЕЬсоге-24 ш 3 (2/1) 2 4Кх32 40Кх32 0,25 80 480 12

ЕЬсоге-26 ш 4(3/1) 2 4Кх32 16Кх32 0,25 100 600 8

ЕЬсоге-28 ш 7 (5/2) 1 8Кх32 32Кх32 0,18 200 1200 9

ЕЬсоге-30 ш 7 (5/2) 1 8Кх32 32Кх32 0,13 300 1800 16

ЕЬсоге-09 ш 7 (5/2) 1 8Кх32 32Кх32 0,09 500 3000 16

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

На рис.12 приведена структурная схема 4-ядерного ОЗР-кластера С2ЕЬсоге-09™ и показаны способы организации обменов для разработанной многоядерной структуры, обеспечивающие возможность объединения ББР-ядер в многоядерные кластеры с высокой скоростью обмена данными. В приведенной многоядерной системе обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральным процессором. Аппаратная синхронизация вычислительных потоков выполняется буфером обмена ХВ1Ж

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

Таблица 3. Сравнительные характеристики разработанных ОБР-процессоров и ведущих мировых аналогов (в формате данных с плавающей точкой).

DSP-процессор Фирма Технология, мкм Рабочая частота, МГц Производительность, MFLOPs Структура конвейера DSP

1892ВМЗТ ЭЛВИС 0,25 80 240 3 (2/1)

1892ВМ2Я ЭЛВИС 0,25 80 480 3 (2/1)

1892ВМ4Я 1892ВМ5Я ЭЛВИС 0,25 100 1200 4 (3/1)

TMS320C6701 Т1 0,18 166 1000 16 (6/10)

1892ВМ7Я ЭЛВИС 0,18 250 6000 7 (4/3)

TMS320C6713 Т1 0,13 300 1800 16 (6/10)

ADSP-TS201 А01 0,13 600 3600 10(6/4)

NVCom-01 ЭЛВИС 0,13 300 3600 7 (5/2)

СБИС МП МЦСТ, ЭЛВИС 0,09 500 12000 7 (5/2)

[ Коммутатор AXI I

-fir » Иг.

Сегмент Сегмент Сегмент Сегмент

памяти памяти памяти памяти

данных 0 данных 1 данных 2 данных 3

J Ф А* J t _ _ t ?

н- Глобальный коммутатор

о <v J ♦ f ♦ ♦ * _ *

1о п.,,»,. Я программ tffiyl pv " S31 ■ Паи т. FSJ nporpavM Кад

5 £ га а. > : DSP 0 DSP 1 DS P 2 DSP 3

t t

Обменный буфер XBUF

1 Память ■ триграмм §|§ ж.- ~ Пам«-ь ГрОГрЗММ п

DSP 0 DSP 1 DSP 2

Обменный буфер XBUF

Коммутатор AXI

* Ufc щ;

Сегмент Сегмент Сегмент Сегмент

пам5ЙЁ8 ^памяти

йай#*тых 1 дан^^Р

КШ1ЖЯ11 шття

Глоба : ный ко |утатор

Обменный буфер XBUF

■ж.

б)

Коммутатор AXI

Сегмент памяти данных О

1—Г"

Сегмент Сегмент

памяти памяти

данных 1 данных 2

г—г

Сегмент памяти данных 3

—Г

Глобальный коммутатор

. LJ L * <

Память программ т Память профамм я Память РГ!! программ Память профамм 3.

DSP0 DSP 1 DSP2 DSP

С • ,ный буфе;

в) г)

Рис.12. Направления потоков данных в DSP-кластере QELcore-09™:a) структура DSP-кластера; б) обмены между DSP-ядрами через общее поле памяти; в) обмены между CPU и DSP-ядрами; г) обмены между DSP-ядрами через буфер обмена XBUF.

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

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

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

3. Впервые разработана комплексная методика оптимизации конвейера ЭБР-ядра по производительности с учётом как статистических характеристик исполняемых программ, так и временных характеристик технологического базиса, предназначенная для практического проектирования БвР-ядер. Разработанная методика позволяет определить оптимальную глубину конвейера ВБР-ядра аналитическими методами, не прибегая к ресурсоемкому моделированию, тем самым сокращая сроки проектирования на 20-25%.

4. На основе предложенной методики разработана серия масштабируемых ОБР-ядер ЕЬсоге-хх™ для обработки данных в форматах 8/16/32/64/128 разрядов с оптимальным по производительности конвейером для различных задач сигнальной обработки и технологических базисов. Разработанная серия ОБР-ядер представляет собой библиотеку процессорных 1Р-ядер, многократно применяемых при проектировании многоядерных систем на кристалле различного назначения.

5. Внедрение разработанных ББР-ядер в состав многоядерных микросхем сигнальных процессоров обеспечивает их производительность на уровне сопоставимом или превосходящем лучшие мировые аналоги. В частности, РБР-кластер С)ЕЬсоге-09™ на частоте 500 МГц обеспечивает производительность 12 Гфлоп/с.

6. Проведен анализ и предложены способы построения многоядерных систем на кристалле с реконфигурируемыми потоками данных и управления на основе разработанных Б8Р-ядер, обеспечивающие возможность объединения ОЗР-ядер в

многоядерные кластеры с аппаратными средствами синхронизации вычислительных потоков и высокой скоростью обмена данными. Так, в 4-ядерном DSP-кластере QELcore-09™ обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральным процессором.

7. На основе разработанной автором серии DSP-ядер ELcore-xx™ были созданы микросхемы сигнальных процессоров семейства «Мультикор»: 1892ВМЗТ, 1892ВМ2Я, 1892ВМ4Я, 1892ВМ5Я , 1892ВМ7Я и др. Микросхемы сигнальных процессоров 1892ВМЗТ, 1892ВМ4Я, 1892ВМ5Я включены в «Перечень электро-радиоизделий, разрешенных к применению при разработке (модернизации), производстве и эксплуатации аппаратуры, приборов, устройств и оборудования военного назначения» (МОП 44 001.02-2009) Министерства Обороны РФ. Микросхемы семейства «Мультикор» внедрены на 51 предприятии.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Беляев A.A. Организация программного конвейера DSP-ядер серии ELcore-xx™ IP-Библиотеки «МУЛЬТИКОР» // Проблемы разработки перспективных микроэлектронных систем. Сборник научных трудов. ИППМ РАН, 2005. - С. 508-511.

2. Беляев A.A. Оптимизация структуры программного конвейера DSP-ядра с гарвардской архитектурой по критерию быстродействия // Труды Всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем - 2006" (МЭС-2006) - М., ИППМ РАН, 2006. - С.361-366.

3. Беляев A.A. Влияние программных переходов и зависимостей по данным в исполняемом программном коде на производительность конвейера DSP-ядра // Известия высших учебных заведений. Электроника. №3. - М., 2009. - С.75-80.

4. Беляев A.A. Неконвейеризуемые операции как фактор ограничения производительности DSP-ядра // Известия высших учебных заведений. Электроника. №4, 2009. - М., МИЭТ, 2009. - С. 56 - 60.

5. Антонова С.С., Беляев A.A., Епанчинцев А.Г., Заболотный А.Е., Максимов В.А., Назаров С.И., Петричкович Я.Я. Динамический D-триггер с третьим состоянием по выходу. Авторское свидетельство SU №1774472 AI, 1992 г.

6. Беляев A.A., Грибов Ю.И., Солохина Т.В. Конвейеризация и распараллеливание: два подхода к повышению производительности цифровых вычислительных устройств // Труды Всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем - 2008" (МЭС-2008) - М., 2008.-С.411-414.

7. Солохина Т.В., Петричкович Я.Я., Глушков A.B., Беляев A.A., и др. Время кентавров: Микросхемы серии Мультикор-llxx (МС-11хх) для встраиваемых и мобильных применений II Chip News. - № 8(71), 2002. - С. 10-17.

8. Солохина Т.В., Петричкович Я.Я., Глушков A.B., Александров Ю.Н., Глушков В.Д., Семенович A.M., Беляев A.A., и др. Мультикор-128 - сигнальный контроллер с плавающей точкой для высокоточных встраиваемых применений // Chip News. - № 8(81). - 2003. - С.4-15.

9. Александров Ю.Н., Беляев A.A., Глушков A.B., Петричкович Я.Я.,Солохина Т.В. и др. Новая отечественная платформа СБИС «МУЛЬТИКОР» для высокоточной скоростной обработки информации и управления объектами // Цифровая обработка сигналов», 2001,№ 3, - С.25-38.

Ю.Солохина Т.В., Петричкович Я.Я., Александров Ю.Н., Герасимов Ю.М., Заболот-нов И.В., Алексеев М.Н., Беляев A.A. и др. Микросхемы базовых серий «МУЛЬТИКОР». Сигнальный микроконтроллер 1892ВМ2Т (МС-24) // Chip News. - № 2(95).-2005.-С. 20-31.

11.Солохина Т.В., Петричкович Я.Я., Александров Ю.Н., Герасимов Ю.М., Заболот-нов И.В., Алексеев М.Н., Беляев A.A. и др. Микросхемы базовых серий «МУЛЬТИКОР». Сигнальный микроконтроллер 1892ВМ2Т (МС-24) // Chip News. - № 3(95).-2005.-С. 20-26.

12.Глушков А.В.Д Беляев A.A. и др. Библиотека периферийных IP - ядер платформы «МУЛЬТИКОР» // Проблемы разработки перспективных микроэлектронных систем - 2005. Сборник научных трудов/под общ.ред. АЛ.Стемпковского.- М.: ИППМ РАН, 2005, С.530-535.

13.Беляев A.A., Солохина Т.В., Юдинцев В.А. Современные устройства цифровой обработки сигналов. Вместе или врозь? // Электроника: Наука, Технологии, Бизнес. 1/2009, С.28-35.

14.Козлова H.H., Солохина Т.В., Грибов Ю.И., Беляев A.A.. Исследование архитектуры реконфигурируемых IP-ядер по критерию реализуемости в составе IP -библиотеки платформы «МУЛЬТИКОР» // Проблемы разработки перспективных микроэлектронных систем - 2005. Сборник научных трудов/под общ.ред. АЛ.Стемпковского. - М., ИППМ РАН, 2005, С.523-529.

15.Беляев A.A., Александров Ю.Н.,Глушков A.B.,Солохина Т.В.,Петричкович Я.Я. Отечественные трехядерные сигнальные микроконтроллеры с производительностью 1,5 GFLOPS // Электроника: Наука, Технологии, Бизнес. 6/2006, с.73 - 78.

16.Беляев A.A., Солохина Т.В., Глушков A.B., Александров Ю.Н., Миронова Ю.В., Петричкович Я.Я., Герасимов Ю.М. Аналого-цифровая "система на кристалле" мультимедийного процессора МСат-01 серии "Мультикам'7/ Проблемы разработки перспективных микроэлектронных систем - 2005. Сборник научных трудов/под общ.ред. АЛ.Стемпковского. - М., ИППМ РАН, 2005, С.446-452.

17.Беляев A.A. Сигнальный микроконтроллер для видеоприложений // Вопросы радиоэлектроники, Серия общетехническая, Выпуск 2, Москва, 2006. - С.48-58.

18.Солохина Т. В., Петричкович Я. Я., Александров Ю. Н., Беляев А. А. Системы на кристалле на базе платформы "МУЛЬТИКОР" для создания мультистандартных телекоммуникационных терминалов // Тезисы докладов научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития» . - М., - 2004 г. - С. 14-15.

19.Беляев A.A., Солохина Т.В., Александров Ю.Н., Миронова Ю.В., Коплович Е.А. Программная реализация алгоритмов сжатия изображений на базе процессоров семейства «Мультикор» // Тезисы докладов конференции «Современные телевизионные технологии. Состояние и направления развития» — М., 2006. С.ЗО-31.

20.Кузьмичев A.M., Гуторов Л.В., Беляев A.A., Фоменко И.Б., Миронова Ю.В. Многоканальное интегральное устройство сжатия цифровой видеоинформации. // Proceedings IIA. Отделение микроэлектроники и информатики. Microelectron-ics&Informatics Department. - М., 2003. - С.252-270.

21.Беляев A.A., Гуторов Л.В., Широков В.В. Сжатие информации в оптико-электронных системах дистанционного зондирования Земли. // Тезисы докладов 3-й международной научно-технической конференции «Микроэлектроника и информатика» (МФИ-97) - М., МИЭТ, 1997 г. - С.119-120.

22.Беляев A.A. Оптимизация по критерию быстродействия приложений для DSP-ядер ELcore-xx™ с различной глубиной конвейеризации. // Вопросы радиоэлектроники. Серия ЭВТ, выпуск 3. Москва, 2008, С.99-112.

23.Беляев A.A. Влияние глубины конвейера на производительность процессора. // Известия высших учебных заведений. // Электроника №6(80), М.,2009. - С.50-53.

24.Беляев A.A. Оптимальная по производительности глубина программного конвейера для приложений с программными переходами и зависимостью по данным. // Известия высших учебных заведений. // Электроника №2(82), М., 2010 - С.48-51.

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

Заказ № 3$ Тираж {(Ю экз. Уч.-изд. л. /(3 Формат 60484 1/16. Отпечатано в типографии МИЭТ(ТУ).

124498, Москва, Зеленоград, проезд 4806, д. 5, МИЭТ(ТУ).

Оглавление автор диссертации — кандидата технических наук Беляев, Андрей Александрович

ВВЕДЕНИЕ.

ГЛАВА 1 . ОБЗОР МЕТОДОВ ПОСТРОЕНИЯ И ОПТИМИЗАЦИИ КОНВЕЙЕРА СОВРЕМЕННЫХ МИКРОПРОЦЕССОРОВ.

1.1. Архитектура современных микропроцессоров.

1.2. Конвейеризация как основной метод повышения производительности современных микропроцессоров.

1.3. Архитектурные особенности сигнальных процессоров.

1.3.1. Общая характеристика сигнальных процессоров.

1.3.2. Сигнальные процессоры Texas Instruments.

1.3.3. Сигнальные процессоры Analog Devices.

1.4. Организация конвейера сигнальных процессоров.

1.5. Реализация сигнальных процессоров в виде DSP-ядер для вычислительных и управляющих систем на кристалле.

1.6. Критерии, уровни и методы оптимизации систем на кристалле.

1.6.1. Критерии оптимизации проектируемых СнК.

1.6.2. Уровни и методы оптимизации СнК.

1.7. Известные методы оптимизации структуры конвейера инструкций микропроцессора.

1.8. Сравнительный анализ особенностей и недостатков существующих методов построения конвейера сигнальных процессоров и DSP-ядер.

1.9. Цели и задачи диссертационной работы.

Выводы.

ГЛАВА 2 . ПРИНЦИПЫ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО ПО ПРОИЗВОДИТЕЛЬНОСТИ КОНВЕЙЕРА ИНСТРУКЦИЙ DSP-ЯДРА НА ОСНОВЕ УЧЕТА СТАТИСТИЧЕСКИХ ХАРАКТЕРИСТИК ИСПОЛНЯЕМЫХ ПРИЛОЖЕНИЙ.

2.1. Анализ влияния программных переходов и зависимостей по данным в исполняемом приложении на производительность конвейера.

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

2.3. вывод математической зависимости производительности процессора от числа фаз конвейера.

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

2.5. Сравнение полученных формул с ранее известными.

Выводы.

ГЛАВА 3 . РАЗРАБОТКА СЕРИИ DSP-ЯДЕР С ОПТИМАЛЬНЫМ ПО ПРОИЗВОДИТЕЛЬНОСТИ КОНВЕЙЕРОМ С УЧЕТОМ ХАРАКТЕРИСТИК ТЕХНОЛОГИЧЕСКОГО БАЗИСА.

3.1. Разработка аппаратной структуры серии масштабируемых DSP-ядер Elcore-xx™.

3.2. Проблема построения DSP-ядра с оптимальным конвейером в конкретном технологическом базисе: схемотехнический подход.

3.2.1. Определение глубины конвейера: постановка задачи.

3.2.2. Учёт временных характеристик библиотеки элементов.

3.2.3. Оценка предельного быстродействия конвейера.

3.3. Анализ влияния временных характеристик внутрикристальной памяти на выбор структуры конвейера DSP-ядра.

3.3.1. Временные характеристики внутрикристальной памяти.

3.3.2. Влияние временных характеристик внутрикристальной памяти на структуру конвейера.

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

3.4. Определение глубины конвейера: функциональный подход.

3.4.1. Модификация адреса памяти программ.

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

3.4.3. Зависимость по данным в исполняемой программе: краевые случаи.

3.4.4. Зависимость по данным в исполняемой программе: общий случай.

3.5. Формирование управляющих сигналов как фактор ограничения производительности конвейера DSP-ядра.

3.6. Комплексная методика оптимизации конвейера DSP-ядра.

Выводы.

ГЛАВА 4 . РЕЗУЛЬТАТЫ РАЗРАБОТОК, ЭКСПЕРИМЕНТАЛЬНЫХ ИССЛЕДОВАНИЙ И ВНЕДРЕНИЯ СЕРИИ DSP-ЯДЕР В РАМКАХ АППАРАТНО-ПРОГРАММНОЙ ПЛАТФОРМЫ «МУЛЬТИКОР».

4.1. Определение оптимальной глубины конвейера DSP-ядра для

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

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

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

Ключевыми элементами, на базе которых создаются современные вычислительные и управляющие системы, являются микропроцессоры - программируемые вычислительные устройства различной архитектуры и назначения, в том числе цифровые процессоры обработки сигналов - DSP (Digital Signal Processors).

В разработку теории и практики построения вычислительных систем и микропроцессорной техники существенный вклад внесли известные российские ученые: С.А.Лебедев, В.М.Глушков, В.С.Бурцев, Б.А.Бабаян, Л.Н.Преснухин,

A.И.Галушкин, В.А.Шахнов, В.П.Корячко и другие. В создании новейших архитектур процессоров, а также в области практической реализации процессоров в виде интегральных схем участвовали отечественные предприятия: ИТМ ВТ им. С.А.Лебедева, НИИСИ РАН, НИИМА "Прогресс", НТЦ «Модуль», ЗАО МЦСТ, ГУП НПЦ «ЭЛВИС» и другие. Достигнутые в этой области успехи связаны с именами таких ученых, как Ю.В.Гуляев, В.Б.Бетелин, К.А.Валиев, Г.Я.Гуськов,

B.Г.Немудров, Г. Я. Красников, А. Л. Стемпковский и многие другие.

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

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

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

Анализируя структуру конвейера популярных семейств современных DSP-процессоров ведущих мировых фирм-производителей (Texas Instruments, Analog Devices и других), можно отметить следующее:

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

- у пользователя нет возможности оптимизировать структуру конвейера выбранного им DSP-процессора под свое конкретное приложение, он вынужден использовать его «так, как есть».

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

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

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

Поэтому объектом исследования в данной работе являются ядра процессоров сигнальной обработки (DSP-ядра) для многоядерных систем на кристалле, а предметом исследования — принципы построения и разработка DSP-ядер с оптимальным по производительности конвейером инструкций.

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

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

Для достижения этой цели необходимо решить следующие задачи:

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

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

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

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

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

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

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

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

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

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

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

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

Практическая значимость работы состоит в следующих достижениях.

1. Применение полученных в работе теоретических результатов позволило повысить, по сравнению с известными ранее методами, точность определения оптимальной глубины конвейера DSP-ядра. Для отдельных приложений повышение точности достигает 50%, что позволяет соответственно уменьшить аппаратные затраты на конвейеризацию при одновременном росте производительности на 10% и более.

2. Разработанная методика позволяет определить оптимальную глубину конвейера DSP-ядра аналитическими методами, не прибегая к ресурсоемкому моделированию, тем самым сокращая сроки проектирования на 20-25%.

3. Разработанная автором серия DSP-ядер ELcore-xx™ представляет собой библиотеку процессорных IP-ядер, многократно применяемых при проектировании многоядерных систем на кристалле различного назначения.

4. Внедрение разработанных DSP-ядер в состав многоядерных микросхем сигнальных процессоров позволило обеспечить их производительность на уровне сопоставимом или превосходящем лучшие мировые аналоги. В частности, DSP-кластер QELcore-09™ на частоте 500 МГц обеспечивает производительность 12 Гфлоп/с.

5. Предложенные принципы и способы построения многоядерных систем на кристалле обеспечивают объединение DSP-ядер в многоядерные кластеры с высокой скоростью обмена данными и аппаратной синхронизацией вычислительных потоков. В 4-ядерном DSP-кластере QELcore-09™ обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральными процессором.

В соответствии с Государственной стратегией импортозамещения микроэлектронных компонентов проведенное исследование является критически важным -ввиду его направленности на создание высокопроизводительной отечественной элементной базы. Исследования проводились автором в рамках «Стратегии развития электронной промышленности России на период до 2025 года», утвержденной министром промышленности и энергетики РФ в 2007 г., а также «Приоритетных направлений развития науки, технологий и техники РФ».

Достоверность результатов работы обусловлена применением общепринятых математических методов оптимизации, математического моделирования, использованием систем автоматизированного проектирования, и подтверждается многолетним опытом эксплуатации DSP-ядер ELcore-xx™ в составе систем на кристалле, разработанных на основе теоретических и технических идей данной работы.

Внедрение результатов работы.

На основе полученных научных результатов автором была разработана серия DSP-ядер ELcore-xx™, на базе которой созданы микросхемы сигнальных процессоров семейства «Мультикор»: 1892ВМЗТ, 1892ВМ2Я, 1892ВМ4Я, 1892ВМ5Я , 1892ВМ7Я и др. Микросхемы сигнальных процессоров 1892ВМЗТ, 1892ВМ4Я, 1892ВМ5Я включены в «Перечень электрорадиоизделий, разрешенных к применению при разработке (модернизации), производстве и эксплуатации аппаратуры, приборов, устройств и оборудования военного назначения» (МОП 44 001.02-2009) МО РФ. Микросхемы семейства «Мультикор» были внедрены при разработке аппаратуры на 51 предприятии (см. Приложение 4). Среди них можно выделить системные концерны российской оборонной промышленности: ФГУП "НПО машиностроения", ОАО "Концерн "Созвездие", ОАО НПО "Алмаз" им. академика Расплетина, ОАО Концерн радиостроения "Вега", ФГУП ЦНИИ "Комета", ФГУП "НИИ "Вектор", ФГУП НПО "Орион", ФНПЦ «Раменское приборостроительное конструкторское бюро» и другие.

11 i

Основные научно-технические результаты работы, основанные на исследованиях автора, использованы при выполнении 11-ти ОКР и НИР, проводившихся на предприятии ГУЛ НПЦ «ЭЛВИС» в течение ряда лет (см. Приложение 2).

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

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

На защиту выносятся:

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

- математические соотношения для расчета оптимальной по производительности глубины конвейера DSP-ядра;

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

- комплексная методика оптимизации конвейера DSP-ядра по производительности с учётом статистических характеристик прикладных программ и временных характеристик технологического базиса и разработанная на ее основе серия масштабируемых DSP-ядер для обработки данных в форматах 8/16/32/64/128 разрядов для различных задач сигнальной обработки и технологических базисов;

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

Апробация работы. Основные результаты работы докладывались и обсуждались на: международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2004; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем - 2005», Истра; международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2006; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем - 2006», Истра, 2006; Всероссийской научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем - 2008», Истра.

По теме диссертации опубликовано 24 научных работы. Из них в ведущих рецензируемых журналах, входящих в перечень, утвержденный ВАК - 7, тезисов докладов всероссийских конференций -10,1 авторское свидетельство об изобретении. Без соавторов опубликовано 8 работ.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка использованной литературы и приложений. Объем основного текста диссертации - 170 страниц. В работе содержится 77 рисунков и 15 таблиц. Список литературы содержит 93 наименования.

Заключение диссертация на тему "Принципы построения и разработка DSP-ядер с оптимальным по производительности конвейером для вычислительных и управляющих систем"

Выводы

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

2. На основе выполненных оценок в рамках работ по созданию библиотеки процессорных ядер аппаратно-программной платформы «Мультикор» автором была разработана серия DSP-ядер ELcore-xx™ с различной структурой конвейера , для различных задач сигнальной обработки.

3. Разработанные DSP-ядра серии ELcore-xx™ имеют сравнительно короткий конвейер инструкций — от 3 до 7 фаз, с исполнительной частью от 1 до 3 фаз (для сравнения, конвейер процессора TS201 имеет 10 фаз с исполнительной частью 5 фаз). Это позволяет сократить потери, связанные с торможением конвейера при наличии в исполняемом приложении программных переходов и зависимостей по данным.

4. На основе DSP-ядер серии ELcore-xx™ в рамках платформы «Мультикор» было разработано и внедрено в серийное производство семейство многоядерных гетерогенных систем на кристалле - сигнальных процессоров 1892ВМЗТ (МС-12), 1892ВМ2Я (МС-24), 1892ВМ4Я (М-ЦОС), 1892ВМ5Я (ЦПОС), 1892ВМ7Я (МС-0428), NVCom-01. Микросхемы сигнальных процессоров 1892ВМЗТ, 1892ВМ4Я, 1892ВМ5Я включены в «Перечень электрорадиоизделий, разрешенных к применению при разработке (модернизации), производстве и эксплуатации аппаратуры, приборов, устройств и оборудования военного назначения» (МОП 44 001.02-2009) Министерства Обороны РФ.

5. Применение DSP-ядер серии ELcore-xx™ при создании перечисленных микросхем сигнальных процессоров позволило обеспечить их производительность на уровне ведущих мировых производителей - фирм Analog Devices и Texas Instruments. Так, изготовленный по 0,13-мкм технологии процессор NVCom-01 дает такую же производительность при вычислениях в формате плавающей точки, что и процессор TS201 фирмы Analog Devices - 3,6 Гфлоп/с; а при вычислениях в 16-разрядном формате фиксированной точки даже превосходит его -19,2 млрд.оп/с против 14,4 млрд.оп/с.

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

7. В результате применения предложенных принципов и способов построения многоядерных вычислительных систем были спроектированы 4-ядерный DSP-кластер QELcore-28™ для 5-ядерной системы на кристалле 1892ВМ7Я и QELcore-091M для 6-ядерной системы на кристалле СБИС МП. В DSP-кластере QELcore-09 ш на тактовой частоте 500 МГц обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральным процессором.

8. В разработанных DSP-кластерах используется метод аппаратной поддержки синхронизации вычислительных потоков, основанный на использовании буфера обмена XBUF. Буфер обмена XBUF представляет собой многопортовый регистровый файл и допускает одновременное чтение одной и той же ячейки со стороны нескольких абонентов. Механизм синхронизации основан на том, что каждая ячейка XBUF снабжена дополнительным битом состояния для сохранения информации о типе последней транзакции. В синхронном режиме для конкретного регистра XBUF обязательно должны чередоваться операции чтения записи, если какое-либо ядро пытается осуществить запись после записи или чтение после чтения - оно блокируется.

9. DSP-кластер QELcore-09™ , спроектированный по технологическим нормам 90 нм, работая на тактовой частоте 500 МГц, обеспечивают производительность 12 млрд. операций с плавающей точкой в секунду, что является на сегодняшний день наивысшим достижением среди отечественных сигнальных процессоров.

Заключение

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

Наиболее значимые результаты работы состоят в следующем.

1. Выведены математические соотношения, выражающие зависимость производительности DSP-ядра от числа фаз его конвейера при наличии в исполняемом приложении программных переходов и зависимостей по данным, и позволяющие произвести расчет оптимальной по производительности глубины конвейера. Полученные соотношения являются более точными, чем известные ранее. Для отдельных приложений повышение точности достигает 50%, что позволяет соответственно уменьшить аппаратные затраты на конвейеризацию при одновременном росте производительности 10% и более.

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

3. Впервые разработана комплексная методика оптимизации конвейера DSP-ядра по производительности с учётом как статистических характеристик исполняемых программ, так и временных характеристик технологического базиса, предназначенная для практического проектирования DSP-ядер. Разработанная методика позволяет определить оптимальную глубину конвейера DSP-ядра аналитическими методами, не прибегая к ресурсоемкому моделированию, тем самым сокращая сроки проектирования на 20-25%.

4. На основе предложенной методики разработана серия масштабируемых DSP-ядер ELcore-xx™ для обработки данных в форматах 8/16/32/64/128 разрядов с оптимальным по производительности конвейером для различных задач сигнальной обработки и технологических базисов. Разработанная серия DSP-ядер представляет собой библиотеку процессорных IP-ядер, многократно применяемых при проектировании многоядерных систем на кристалле различного назначения.

5. Внедрение разработанных DSP-ядер в состав многоядерных микросхем сигнальных процессоров обеспечивает их производительность на уровне сопоставимом или превосходящем лучшие мировые аналоги. В частности, DSP-кластер QELcore-09rM на частоте 500 МГц обеспечивает производительность 12 Гфлоп/с.

6. Проведен анализ и предложены способы построения многоядерных систем на кристалле с реконфигурируемыми потоками данных и управления на основе разработанных DSP-ядер, обеспечивающие возможность объединения DSP-ядер в многоядерные кластеры с аппаратными средствами синхронизации вычислительных потоков и высокой скоростью обмена данными. Так, в 4-ядерном DSP-кластере QELcore-091M обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральным процессором.

7. На основе разработанной автором серии DSP-ядер ELcore- XX™ были созданы микросхемы сигнальных процессоров семейства «Мультикор»: 1892ВМЗТ, 1892ВМ2Я, 1892ВМ4Я, 1892ВМ5Я , 1892ВМ7Яи др. Микросхемы сигнальных процессоров 1892ВМЗТ, 1892ВМ4Я, 1892ВМ5Я включены в «Перечень электрорадиоизделий, разрешенных к применению при разработке (модернизации), производстве и эксплуатации аппаратуры, приборов, устройств и оборудования военного назначения» (МОП 44 001.02-2009) Министерства Обороны РФ. Микросхемы семейства «Мультикор» внедрены на 51 предприятии.

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

1. Микропроцессоры. В 3-х кн. // Нестеров П.В.,.Шаньгин В.Ф, Горбунов В.Л.и др.; Под ред. Преснухина Л.Н. М.: "Высшая школа", 1986. Кн. 1: Архитектура и проектирование микроЭВМ. Организация вычислительных процессов. 495 с.

2. Таненбаум Э. Архитектура компьютера, 4-е изд. Спб.: Питер, 2003. - 704 с.

3. Столлингс В. Структурная организация и архитектура компьютерных систем. Проектирование и производительность. 5-е издание. Москва, 2002. 896 с.

4. Микропроцессоры и микропроцессорные комплекты интегральных микросхем. Под ред. Шахнова В.А. М.: "Радио и связь" ,1988. T.I, (Т.2) - 368 е., (368 с.)

5. Хамахер К., Вранешич 3., Заки С. Организация ЭВМ, 1-е изд. Спб.: Питер, 2003.-848 с.

6. Ульянов М.В. Архитектуры процессоров. М.: МГАПИ, 2002. - 68 с.

7. Микропроцессорные системы. Под ред. Пузанкова Д.В. «Политехника», С.Петербург, 2002.-935 с.

8. Современные высокопроизводительные компьютеры. Информационно-аналитический обзор. М.:ЦИТ, 1997.

9. Von Neumannn J. First Draft of a Report on the EDVAC. Moore School, University of Pensylvania, 1945.

10. Flynn M. Very high-speed computing system // In proceddings of IEEE. 1966. N 54. P.1901-1909.

11. Flynn M. Some Computer Organisations and Their Effectiveness // In proceddings of IEEE Trans. Computers. 1972. V.21. N 9. P.948-960.12. http://www.analog.com/13. http://www.ti.com/

12. Коуги П.М. Архитектура конвейерных ЭВМ // Пер. с англ.— М.: Радио и связь, 1985.-360 с.

13. Каган Б.М. Электронные вычислительные машины и системы. М.; Энергоатом-издат, 1991.-592 с.

14. Hartstein A. and Puzak T. R. The optimum pipeline depth for a microprocessor. //Proceedings of the 29th Annual International Symposium on Computer Architectures, pp. 7 13,2002.

15. Hrishikesh M., Jouppi N., Farkas K., Burger D., Keckler S. and Shivakumar P. The optimal logic depth per pipeline stage is 6 to 8 F04 inverter delays // Proceedings of the 29th Annual Int Symposium on Computer Architectures, pp.14 24, 2002.

16. Sprangle E. and Carmean D. Increasing processor performance by implementing deeper pipelines // Proceedings of the 29th Annual International Symposium on Computer Architectures, pp. 25 35, 2002.

17. Srinivasan V., Brooks D., Gschwind M., Bose P., Zyuban V., Strenski P. N. and Emma P. G. Optimizing pipelines for power and performanc. // Proceedings of the 35th Annual IEEE/ACM International Symposium on Microarchitecture, pp.333 -344, 2002.

18. Kunkel S.R. and Smith J.E. Optimal pipelining in supercomputers // Proceedings of the 13th Annual International Symposium on Computer Architectures, pp. 404 411, 1986.

19. Emma P.G., Davidson E.S. Characterization ob Branch and Data Dependencies in Programs for Evaluating Pipeline Performance // IEEE Trans. On Computers, Vol.C-36, N0.7, July 1987, pp.859-875.

20. Hartstein A., Puzak T.R. Optimum Power/Performance Pipeline Depth // Proceedings of the 36th International Symposium on Microarchitecture (MICRO-36'03), pp.117 -125, 2003.

21. MIPS32™ Architecture For Programmers. Volume I: Introduction to the MIPS32™ Architecture. MIPS Technologies. March 12, 2001.

22. Солонина А., Улахович Д., Яковлев JI. Алгоритмы и процессоры цифровой обработки сигналов. С-Пб, «БХВ-Петербург», 2002 г. 464 с.

23. TMS320C64x Technical Overview. Texas Instruments. SPRU395B January 2001.

24. TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide. Texas Instruments. SPRU732H October 2008.

25. TMS320DM6467 Digital Media System-on-Chip. Texas Instruments. SPRS403E -December 2007.

26. ADSP-219x/2192 DSP Hardware Reference Revision 1.1, April 2004 Part Number 82-002001-01 Analog Devices, Inc.

27. TigerSHARC®Embedded Processor ADSP-TS203S 2006 Analog Devices, Inc.

28. ADSP-TS201 TigerSHARC® Processor Programming Reference Revision 1.1, April 2005 Part Number 82-000810-01 Analog Devices, Inc.

29. ADSP-TS201 TigerSHARC® Processor Hardware Reference Revision 1.1, December 2004 Part Number 82-000815-01 Analog Devices, Inc.

30. Кривченко И. Системы на кристалле: общее представление и тенденции развития. Компоненты и технологии.№6, 2001г.

31. Бухтеев А. Методы и средства проектирования систем на кристалле. Chip News №4, 2003. с.4 -14.

32. РТМ «Сложно-функциональные блоки. Общие требования к разработке» », децимальный номер ШИЛГ 430109.004 РМ. ФГУП «НИИМА «Прогресс», Москва, 2002.

33. РТМ «Состав информации и форматы её передачи для цифровых СФ блоков», децимальный номер ШИЛГ 430109.002 РМ. ФГУП «НИИМА «Прогресс», Москва, 2002.

34. РТМ «Состав и форматы передачи информации для тестирования цифровых СФ блоков», децимальный номер ШИЛГ 430109.003 РМ. ФГУП «НИИМА «Прогресс», Москва, 2002.

35. Немудров В., Мартин Г. Проектирование систем на кристалле. Техносфера. 2004г., 216 с.

36. Michael J. Flynn, Patrick Hung, Kevin W. Rudd. Deep-Submicron Microprocessor Design Issues // IEEE Micro, Vol. 19, No. 4, July/Aug. 1999, pp. 11-22.

37. Marc Duranton. The challenges for high performance embedded systems // Proceedings of 9th EUROMICRO Conference on Digital System Design (DSD'06),2006,pp.3-7.

38. Borkar S. Design Challenges of Technology Scaling // IEEE Micro, Vol. 19, No. 4, July/Aug. 1999, pp. 23-29.

39. Ullman J.D. Computational Aspects of VLSI. // Computer Science Press, Rockville, Md., 1984, pp. 42-79.

40. Vikas Agarwal, Hrishikesh Stephen, Keckler W., Doug Burger. Clock Rate versus IPC: The End of the Road for Conventional Microarchitectures // Proceedings of the 27 Annual International Symposium on Computer Architecture, 2000,pp.248 259.

41. Беляев А.А. Организация программного конвейера DSP-ядер серии ELcore-xx™ IP-Библиотеки «МУЛЬТИКОР» // Проблемы разработки перспективных микроэлектронных систем. Сборник научных трудов. И1111М РАН, 2005. С. 508-511.

42. Artisan Components. 1st Silicon (Malaysia) Sdn. Bhd. 0.25mm Process 2.5-Volt // SAGETM Standard Cell. Library Databook. - September 2002. - Release 2.0.

43. Преснухин H., Воробьев H.B., Шишкевич A.A. Расчет элементов цифровых устройств. Москва, Издательство Высшая школа, 1991. 384 с.

44. Антонова С.С., Беляев А.А., Епанчинцев А.Г., Заболотный А.Е., Максимов В.А., Назаров С.И., Петричкович Я.Я. Динамический D-триггер с третьим состоянием по выходу. Авторское свидетельство SU №1774472 А1, 1992 г.

45. Петричкович Я.Я., Филатов В.Н., Заболотный А.Е., Максимов В.А. Конвейеризация суммирующих устройств // Электронная техника. Сер. 10. Микроэлектронные устройства, 1987, вып. 5/65/, с. 3-6.

46. Филатов В.Н., Петричкович Я.Я., Максимов В.А., Заболотный А.Е. Конвейеризация схем с помощью графов» // Электронная техника. Сер. 10. Микроэлектронные устройства, вып. 1/61/, 1987, с. 42-47.

47. Markovic D., Stojanovic V., Nikolic В., Horowitz М.А, and Brodersen R.W. Methods for true energy-performance optimization // IEEE J. Solid-State Circuits, vol. 39, pp. 1282-1293, Aug. 2004.

48. Chandrakasan A.P, Sheng S., Brodersen R.W. Low power CMOS digital design //IEEE J. Solid-State Circuits, vol. 27, pp. 473^184, Apr. 1992.58. http://www.elvees.ru

49. Солохина Т.В., Александров Ю.Н., Петричкович Я.Я. Сигнальные контроллеры компании «Элвис»: первая линейка отечественных DSP // Электроника: Наука, Технология, Бизнес. 2005. - №7. - С. 70-77.

50. Беляев А.А. Влияние программных переходов и зависимостей по данным в исполняемом программном коде на производительность конвейера DSP-ядра //Известия высших учебных заведений. Электроника. №3, 2009. М., МИЭТ, 2009 г.-С. 75 -80.

51. Беляев А.А. Неконвейеризуемые операции как фактор ограничения производительности DSP-ядра // Известия высших учебных заведений. Электроника. №4, 2009. М., МИЭТ, 2009 г. - С. 56 - 60.

52. Солохина Т.В., Петричкович Я.Я., Глушков А.В., Беляев А.А., и др. Время кентавров: Микросхемы серии Мультикор-llxx (MC-llxx) для встраиваемых и мобильных применений // Chip News. № 8(71). - 2002 г. - С. 10-17.

53. Александров Ю.Н., Беляев А.А., Глушков А.В., Петричкович Я.Я.,Солохина Т.В. и др. Новая отечественная платформа СБИС «МУЛЬТИКОР» для высокоточной скоростной обработки информации и управления объектами // Цифровая обработка сигналов», 2001,№ 3, с.25-38.

54. Солохина Т.В., Петричкович Я.Я., Александров Ю.Н., Герасимов Ю.М., Забо-лотнов И.В., Алексеев М.Н., Беляев А.А. и др. Микросхемы базовых серий «МУЛЬТИКОР». Сигнальный микроконтроллер 1892ВМ2Т (МС-24) // Chip News. № 2(95). - 2005 г. - С. 20-31.

55. Солохина Т.В., Петричкович Я.Я., Александров Ю.Н., Герасимов Ю.М., Забо-лотнов И.В., Алексеев М.Н., Беляев А.А. и др. Микросхемы базовых серий «МУЛЬТИКОР». Сигнальный микроконтроллер 1892ВМ2Т (МС-24) // Chip News. № 3(95). - 2005 г. - С. 20-26.

56. Петричкович Я.Я., Солохина Т.В. SoC серии «МУЛЬТИКОР» первый шаг и положительная динамика развития // Компоненты и технологии, №5, 2003г., с. 104-106.

57. Петричкович Я.Я., Солохина Т.В. SoC серии «МУЛЬТИКОР» первый шаг и положительная динамика развития // Компоненты и технологии, №6, 2003г., с. 140-143.

58. Беляев А.А. Влияние глубины конвейера на производительность процессора. // Известия высших учебных заведений // Электроника. №6 (80), 2009. М., МИЭТ, 2009 г.-С. 50-53.

59. Беляев А.А., Солохина Т.В., Юдинцев В.А. Современные устройства цифровой обработки сигналов. Вместе или врозь? // Электроника: Наука, Технологии, Бизнес. 1/2009, с.28-35.

60. Беляев А.А., Александров Ю.Н.,Глушков А.В.,Солохина Т.В.,Петричкович Я.Я. Отечественные трехядерные сигнальные микроконтроллеры с производительностью 1,5 GFLOPS // Электроника: Наука, Технологии, Бизнес. 6/2006, с.73-78.78. http://www.multicore.ru

61. Беляев А.А. Сигнальный микроконтроллер для видеоприложений. // Вопросы радиоэлектроники, Серия общетехническая, Выпуск 2, Москва, 2006г., с.48-58.

62. Петричкович Я.Я. Электронные системы обеспечения безопасности на основе интегральных интеллектуальных датчиков. Дисс. доктора техн. наук, Москва, 2006.-359 с.

63. Pennebaker W.B., Mitchell J.L. JPEG Still Image Data Compression Standard// VNR, New York, 1992.

64. Беляев А.А. Оптимизация по критерию быстродействия приложений для DSP-ядер ELcore-xx™ с различной глубиной конвейеризации // Вопросы радиоэлектроники. Серия ЭВТ, выпуск 3. Москва, 2008, С.99-112.