Введение к работе
Актуальность работы. Модернизация отечественной экономики, перевод её на рельсы инновационного развития предполагает создание современной микропроцессорной элементной базы для вычислительных систем и систем управления различного назначения, в том числе цифровых процессоров обработки сигналов - DSP (Digital Signal Processors). Важнейшим требованием и направлением совершенствования DSP-процессоров является повышение их производительности, которое достигается не только за счёт лучшей технологии производства, но и за счёт совершенствования архитектуры.
В разработку теории и практики построения вычислительных систем и микропроцессорной техники существенный вклад внесли известные российские ученые: С.А.Лебедев, В.М.Глушков, В.С.Бурцев, Б.А.Бабаян, Л.Н.Преснухин, Ю.В.Гуляев, А.И.Галушкин, В.Б.Бетелин, К.А.Валиев, В.А.Шахнов, В.П.Корячко и другие. В разработке новых архитектур процессоров, а также в области практической реализации их в виде интегральных схем участвовали отечественные предприятия: ИТМ ВТ им. С.А.Лебедева, НИИСИ РАН, НИИМА "Прогресс", НТЦ «Модуль», ЗАО «МЦСТ», ГУЛ НИЦ «ЭЛВИС» и многие другие.
Одним из наиболее эффективных и широко применяемых архитектурных методов повышения производительности является конвейерная обработка команд. Общая идея конвейера связана с разбиением процесса обработки данных на этапы и организацией их параллельного во времени выполнения. Тем самым реализуется принцип параллелизма (или «совмещение операций») на уровне команд. Принцип совмещения операций был выдвинут академиком С.А.Лебедевым и впервые реализован в машине М20 в 1956 году. В дальнейшем эта идея получила развитие в трудах многих отечественных и зарубежных учёных и была успешно реализована в многочисленных устройствах цифровой обработки данных.
Однако на практике существует проблема падения производительности конвейера, связанная с наличием в исполняемых приложениях программных переходов и зависимостей по данным, приводящих к длительным простоям конвейера. По этой причине при разработке DSP-процессоров актуальной является задача построения оптимального по производительности конвейера инструкций с учетом статистических характеристик исполняемых программ. Сложность задачи ещё более возрастает при реализации сигнальных процессоров в виде DSP-ядер для многоядерных систем на кристалле в связи с необходимостью учета временных характеристик исполь-
зуемого технологического базиса.
Поэтому объектом исследования в данной работе являются ядра процессоров сигнальной обработки (DSP-ядра) для многоядерных систем на кристалле, а предметом исследования - принципы построения и разработка DSP-ядер с оптимальным по производительности конвейером инструкций.
Целью диссертационной работы является разработка принципов построения оптимального по производительности конвейера DSP-ядра с учётом как статистических характеристик исполняемых программ, так и временных характеристик используемого технологического базиса, и создание на этой основе серии масштабируемых DSP-ядер для вычислительных и управляющих систем.
Для достижения этой цели необходимо решить следующие задачи:
Вывести математическую зависимость производительности DSP-ядра от числа фаз (глубины) его конвейера при наличии в исполняемом приложении программных переходов и зависимостей по данным, а также соотношения для расчета оптимальной по производительности глубины конвейера.
Разработать методику определения статистических характеристик программной трассы (относительных частот программных переходов и зависимостей по данным) посредством построения и редукции графа зависимостей по данным.
Разработать комплексную методику оптимизации конвейера DSP-ядра по производительности с учётом статистических характеристик исполняемых программ и временных характеристик используемого технологического базиса.
На основе комплексной методики выполнить разработку серии масштабируемых DSP-ядер с оптимальным по производительности конвейером для различных задач сигнальной обработки и различных технологических базисов.
Провести анализ и разработать принципы и способы построения многоядерных систем на кристалле с реконфигурируемыми потоками данных и управления на основе разработанных DSP-ядер, внедрить разработанные ядра в состав многоядерных систем на кристалле и экспериментально определить достигаемую ими производительность.
Методы исследования. Для решения поставленных задач использовались теория оптимизации, теория программирования, теория графов, алгоритмы цифровой обработки сигналов, теория и методы проектирования интегральных схем.
Научная новизна. При выполнении диссертационной работы получены следующие новые научные результаты.
Выведены математические соотношения, выражающие зависимость производительности DSP-ядра от глубины его конвейера при наличии в исполняемом приложении программных переходов и зависимостей по данным.
Выведены математические соотношения для расчета оптимальной по производительности глубины конвейера.
Разработана методика определения статистических характеристик программной трассы посредством построения и редукции графа зависимостей по данным. Предложены и теоретически обоснованы правила редукции графа зависимостей.
Впервые разработана комплексная методика оптимизации конвейера DSP-ядра по производительности с учётом как статистических характеристик исполняемых программ, так и временных характеристик технологического базиса, предназначенная для практического проектирования DSP-ядер.
Проведен анализ, предложены принципы и способы построения многоядерных систем на кристалле с реконфигурируемыми потоками данных и управления и аппаратными средствами синхронизации вычислительных потоков на основе разработанных DSP-ядер.
Практическая значимость работы состоит в следующих достижениях.
Применение полученных в работе теоретических результатов позволило повысить, по сравнению с известными ранее методами, точность определения оптимальной глубины конвейера DSP-ядра. Для отдельных приложений повышение точности достигает 50%, что позволяет соответственно уменьшить аппаратные затраты на конвейеризацию при одновременном росте производительности на 10% и более.
Разработанная методика позволяет определить оптимальную глубину конвейера DSP-ядра аналитическими методами, не прибегая к ресурсоемкому моделированию, тем самым сокращая сроки проектирования на 20-25%.
Разработанная автором серия DSP-ядер ELcore-xx представляет собой библиотеку процессорных IP-ядер, многократно применяемых при проектировании многоядерных систем на кристалле различного назначения.
Внедрение разработанных DSP-ядер в состав многоядерных микросхем сигнальных процессоров позволило обеспечить их производительность на уровне сопоставимом или превосходящем лучшие мировые аналоги. В частности, DSP-кластер QELcore-09 на частоте 500 МГц обеспечивает производительность 12 Гфлоп/с.
5. Предложенные принципы и способы построения многоядерных систем на кристалле обеспечивают объединение DSP-ядер в многоядерные кластеры с высокой скоростью обмена данными и аппаратной синхронизацией вычислительных потоков. В 4-ядерном DSP-кластере QELcore-09 обеспечивается скорость обмена 80 Гбайт/с внутри кластера и 8 Гбайт/с - с центральными процессором. Достоверность результатов работы обусловлена применением общепринятых математических методов оптимизации, математического моделирования, использованием систем автоматизированного проектирования, и подтверждается многолетним опытом эксплуатации 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 предприятии. Среди них можно выделить системные концерны российской оборонной промышленности: ФГУП "НПО машиностроения", ОАО "Концерн "Созвездие", ОАО НПО "Алмаз" им. академика Расплетина, ОАО Концерн радиостроения "Вега", ФГУП ЦНИИ "Комета", ФГУП "НИИ "Вектор", ФГУП НПО "Орион", ФНПЦ «Раменское приборостроительное конструкторское бюро» и др.
Личный вклад автора. Все выносимые на защиту научные положения, проведенные в рамках диссертационной работы теоретические и экспериментальные исследования, разработка и внедрение выполнены автором лично.
Кроме того, автор участвовал в подготовке и проведении приемо-сдаточных испытаний изготовленных микросхем, в разработке программной, текстовой и конструкторской документации, а также проводил сопроводительные работы в местах эксплуатации изделий, созданных на базе изготовленных микросхем.
На защиту выносятся: - математические соотношения, выражающие зависимость производительности
DSP-ядра от глубины конвейера и статистических характеристик (относительных частот программных переходов и зависимостей по данным) программной трассы;
математические соотношения для расчета оптимальной по производительности глубины конвейера DSP-ядра;
методика определения статистических характеристик программной трассы посредством построения и редукции графа зависимостей по данным;
комплексная методика оптимизации конвейера DSP-ядра по производительности с учётом статистических характеристик прикладных программ и временных характеристик технологического базиса и разработанная на ее основе серия масштабируемых DSP-ядер для обработки данных в форматах 8/16/32/64/128 разрядов для различных задач сигнальной обработки и технологических базисов;
принципы и способы построения многоядерных систем на кристалле с реконфи-гурируемыми потоками данных и управления и аппаратными средствами синхронизации вычислительных потоков на основе разработанных DSP-ядер и внедрение разработанных ядер в состав ряда многоядерных систем на кристалле.
Апробация работы. Основные результаты работы докладывались и обсуждались на: международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2004 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем», Истра, 2005 г.; международной научно-технической конференции «Современные телевизионные технологии. Состояние и направления развития», Москва, 2006 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем», Истра, 2006 г.; Всероссийской научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем», Истра, 2008 г.
По теме диссертации опубликовано 24 научных работы. Из них в ведущих рецензируемых журналах, входящих в перечень, утвержденный ВАК - 7, тезисов докладов всероссийских и международных конференций - 10 , 1 авторское свидетельство об изобретении. Без соавторов опубликовано 8 работ.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка использованной литературы и приложений. Объем основного текста диссертации - 170 страниц. В работе содержится 77 рисунков и 15 таблиц. Список литературы содержит 93 наименования.