автореферат диссертации по , 05.00.00, диссертация на тему:Модель для оптимизации архитектуры многоядерного цифрового сигнального процессора под выполнение спектрального анализа в радиолокации

кандидата технических наук
Кучинский, Александр Сергеевич
город
Москва
год
2009
специальность ВАК РФ
05.00.00
Автореферат по  на тему «Модель для оптимизации архитектуры многоядерного цифрового сигнального процессора под выполнение спектрального анализа в радиолокации»

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

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

Кучинский Александр Сергеевич

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

Специальность 05.12.14 -«Радиолокация и радионавигация»

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

1 о ЛЕК 2009

Москва - 2009

003487933

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

Научный руководитель: к. т. н., Александров Юрий Николаевич Официальные оппоненты: д.т.н., профессор Сазонов Владимир Васильевич

Защита состоится «25» декабря 2009 г. в 11 часов 00 минут в на заседании диссертационного совета Д850.012.01 при ГУП НПЦ «СПУРТ» по адресу: 124460, г.Москва, Зеленоград, 1-й Западный проезд, д. 4.

С диссертацией можно ознакомиться в библиотеке ГУП НПЦ «СПУРТ», с авторефератом - на сайте www.spurtm.ru

к.т.н., с.н.с. Титов Михаил Петрович

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

государственное унитарное «Научно-исследовательский «Субмикрон»,

предприятие институт г. Москва

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

Ученый секретарь диссертационного совета к.т.н., с.н.с.

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

Актуальность проблемы

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

Наиболее важной и трудоемкой задачей в радиолокационной обработке, с точки зрения вычислительной сложности, является задача спектрального анализа. Для ее решения необходимо применять специализированные процессоры - цифровые сигнальные процессоры (Digital Signal Processor далее - DSP). Существуют и появляются новые задачи, в которых требования к быстродействию этих процессоров растут, так как увеличиваются потоки входных данных для радиолокационной обработки, и быстродействия существующих процессоров уже недостаточно. В качестве примера вычислительно-сложной задачи в радиолокации, можно привести спектральный анализ сигналов большого размера, применяющийся в радиолокаторах с синтезированной апертурой. Объем вычислений в таких системах достигает миллиардов операций в секунду, особенно в космических локаторах, где скорость движения антенны относительно исследуемой поверхности достаточно высокая и спектральный анализ сигналов большого размера, необходимо проводить с минимальными временными задержками, что в конечном итоге уменьшает общее время реакции системы на изменение радиолокационной обстановки.

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

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

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

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

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

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

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

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

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

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

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

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

Методы исследования

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

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

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

анализа в радиолокации.

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

1.Для системного решения задачи создания высокоскоростного процессора ЦОС, разработано программное обеспечение, с помощью которого проведен многокритериальный анализ работы моделей многоядерных DSP, при решении задач спектрального анализа в радиолокации.

2. Впервые предложена методика создания высокоуровневых моделей многоядерных систем ЦОС с оперативным регулированием параметров структурных блоков, для оценки влияния изменения параметров системы на ее работу.

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

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

5. Разработана программа обработки радиолокационной информации, для вычисления скорости сближения и дальности до поверхности спутника Марса - Фобоса, для космического аппарата «Фобос-Грунт».

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

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

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

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

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

Программа обработки радиолокационной информации предназначенная для модуля УЦОС для ДИСД-ФГ, космического аппарата «Фобос-Грунт», может успешно применяться в различных летательных аппаратах, в качестве основного или дублирующего средства определения скорости движения и высоты полета. В частности, в настоящее время рассматриваются варианты установки модулей ДИСД на

стратегические ракетоносцы Ту-95, Ту-160, а также на вертолеты.

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

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

Внедрение результатов работы. С использованием проведенных в диссертации исследований были созданы многоядерные процессоры NVCom-01 и Mforce-01, с общим пространством памяти вычислительных ядер, на основе разработанной в ГУП НПЦ «ЭЛВИС» отечественной платформы проектирования систем на кристалле «Мультикор», что подтверждено актами о внедрении соответствующих изделий на предприятии ГУП НПЦ «ЭЛВИС» г. Москва. В рамках работы над диссертацией, разработана библиотека спектральных преобразований для процессоров серии «Мультикор», которая широко используется пользователями процессоров этой серии, при разработке программного обеспечения для ЦОС. Разработана и успешно внедрена программа обработки радиолокационной информации в модуле УЦОС для ДИСД-ФГ, космического аппарата «Фобос-Грунт» по заказу ОАО «Концерн радиостроения «Вега», что подтверждается соответствующими актами о внедрении.

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

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

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

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

3. Библиотека функций спектрального анализа, для отечественных DSP процес соров серии «Мультикор», позволяет выполнять спектральные преобразовани сигналов за минимальное время на данном типе процессоров;

4. Программа обработки радиолокационной информации в модуле УЦОС дл «ДИСД-ФГ», проекта «Фобос-Грунт», для получения данных о пространственноГ

б

ориентации и навигационных параметрах космического аппарата «Фобос-Грунт» во время посадки на поверхность спутника Марса - Фобоса.

Апробация работы

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

- 1-я Всероссийская научно-техническая конференция "Проблемы разработки перспективных микро- и наноэлектронных систем - 2005" МЭС-2005, Истра;

- 2-я Всероссийская научно-техническая конференция "Проблемы разработки перспективных мнкро- и наноэлектронных систем - 2006" МЭС-2006, Истра;

- 13-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2007», Москва, МИЭТ;

- 14-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2008», Москва, МИЭТ;

- 8-я международная научно-техническая конференция «Цифровая обработка сигналов и её применение-DSPA-2006», Москва, ИПУ РАН;

- 9-я международная научно-техническая конференция «Цифровая обработка сигналов и её применение - DSPA-2007», Москва, ИПУ РАН;

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

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

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

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

На сегодняшний момент наиболее перспективной для исследований является область проектирования DSP процессоров с параллельной многоядерной архитектурой. Действительно, ведь алгоритмы спектральных преобразований не имеют

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

- быстрое создание модели процессора;

- разработка программы ЦОС, в рамках функционала модели;

- высокая скорость моделирования по сравнению с другими средствами;

- исследование особенностей вычислителей и пропускной способности каналов обмена данными;

- оптимизация шинной организации для работы с памятью;

- анализ загрузки процессоров, и разделения задач;

- анализ блокировок обращений к данным на линиях связи.

В качестве основного вычислительного устройства для создания модели выбрана базовая архитектура вычислительных ядер DSP процессоров серии «Мульти-кор». Система его инструкций обеспечивает одновременное выполнение в течение одного командного цикла до двух вычислительных операций (в том числе и операций с плавающей точкой) и до двух 32-битных пересылок. Достигается это наличием многопортового регистрового файла, оригинальной архитектуры арифметико-логического устройства, предусматривающей принцип параллелизма на уровне инструкций, а также 64-разрядной внутренней памятью программ и данных, позволяющей использовать в системе инструкции типа Very Long Instruction Word (далее VLIW-инструкции). В системе команд есть векторные инструкции, необходимые для программировании методов спектрального анализа. Базовое ядро DSP, процессоров «Мультикор» позволяет, оставаясь в рамках одной системы инструкций, наращивать количество вычислительных секций (по SIMD-типу), увеличивая тем самым общую производительность системы.

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

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

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

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

Имеется многоядерная система, J — {J\,Jы\. состоящая из N узлов, а также конечный набор / = {/,,/2,..,/£} задач спектрального анализа, каждый из которых характеризуется переменным рангом (числом параллельных ветвей в программе), г, -rj-ri, i=l,...,L и временем решения = , каждую задачу

г,

будем представлять в виде совокупности параллельных ветвей h ~ U^

р=1

Имеется конечный набор типов вычислительных задач спектрального анализа Р = {РиР2,..,Рк} -так что V/f е 1, 3 PkeP, i = 0,...L-\, к = О,...К -1, то есть существует соответствие между задачей и ее типом. Каждый из типов задач Рк, характеризуется вычислительной сложностью Ук ), при заданном наборе входных данных . Каждый узел многоядерной системы, характеризуется вычислительным ресурсом Rj, а общий вычислительный ресурс системы можно оценить как сумму

N

вычислительных ресурсов ее узлов: ^ = . Введем эти характеристики таким

7=0

образом, что время вычисления некоторой вычислительной задачи ^, распределенной для решения на вычислитель Jj :

t =

(I)

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

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

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

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

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

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

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

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

Представим сигнал размером N в виде матрицы, размером N~т- п.

Общее время выполнения вычислений можно записать, как:

Тх = Ти+Тт+Ты ="1-Тп+п-Тт+п-Ты ,где: (2)

с ~т'Т„ - время выполнения ш преобразований по столбцам, где Т-п -время выполнения преобразования размером п;

Т[К — п ' Тт - время выполнения п преобразований по строкам, где Тт _ время выполнения преобразования размером т;

T\muit ~ п 'Ты - время умножения п строк, размером ш, на ш поворачиваю

щих множителей, где Т\т - время выполнения одного такого умножения;

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

Ю

ние в этом случае равно:

с т • Тп + п ■ Тт + п ■ ТЬп

р р р

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

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

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

кам обращений и т.д. Теоретически, при максимальном ускорении эффективность равна:

5„

= 1 (4)

ЕР =

р Р

Из соотношений (2), (3) и (4) видно, что нам необходимо, разработать программы . параллельных вычислений алгоритмов спектральных преобразований, с наименьшим временем исполнения частей алгоритмов, чтобы сократить общее время вычислений в ядрах. Для увеличения ускорения, необходимо задействовать в вычислениях большее число процессоров, чтобы эффективность, стремилась к максимальной. Другими словами нам надо найти компромиссный вариант вычислений, с учетом сбалансированных показателей ускорения и эффективности, и времени выполнения преобразований на ядрах. Также отметим, что алгоритмы спектральных преобразований линейны, то есть в них отсутствуют ветвления по условиям, возможно с помощью одной программы, производить вычисления на одном ядре, с множеством столбцов и с помощью другой программы на другом ядре вычислить преобразование по строкам, и умножение на поворачивающие множители. Возникает преимущество использования многоядерных процессоров с архитектурами вычислительных ядер организованных по принципу 81МЭ (мы выбрали в качестве базового ядра, ядро Е1соге, процессоров серии «Мультикор», в котором есть возможность не изменяя системы команд, масштабировать производительность путем 81МО расширения).

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

х[0Щ — x[k-1][0]

• *

х[0]|М] — x|k-1][M]

Core 4 i-

Х[0][0] — Х|И][0]

* *

Х[0][И| X[k-1)[l-1]

x[m-k|[n-U --- x[m-k][n-l]

* *

x[m-k][n-1] x[m-1J[n-1]

Cote

X[m-k)[n-l] --- X[m-11M

• ;

X[m-k]|rv1] X[m-1][rv1]

x[0][0] x|k-1J|0]

; *

x[0)[l-1] — x|k-t][M]

Core

XPM Х(к-1И

• •

X[0]J-1) --- X[k-1J[M

Рисунок 2. Реализация локального преобразования размером N на одном процессоре

Оценим время выполнения алгоритма, без наложения блоков обрабатываемых данных. Представим массив размером N в виде матрицы, размером Ы = т-п, разобьем матрицы на блоки размером М-к-1. Количество таких блоков определяется, N

как целое число г-—.

М

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

При реализации преобразования на многоядерной системе, воспользуемся блочным подходом к вычислениям. Размер блоков может быть подобран таким образом, чтобы общее количество базовых подзадач совпадало с числом процессоров р. Так, например, если определить размер блочной решетки как /? = ¡ ц, то

5 ч

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

нота

/'^КИ!;*'

40jp.il

• • •

х[0][п-|] - - - х[к-11[П-1)

-

хР1[п-1! ...

Соге[0)[0] Соге[э-1][0]

• :

СогеЦ)][ч-1] Соге[э-1][ч-1]

х[т-кЦ01 к1т-1Ц01

• :

х1т-кЦ1-1] х1т-1Ц|-11

• « •

х(т-к][п-1) х|т-1)[п-1)

1

х1т-к)[п-1) х1т-1]1п-1]

Х[0](0) Х|ИН0| Х1т-к)[01 Х[т-1][01

; • • • -

Х10Ю-11 Х1к-щи] х[т-к][1-1] Х(т-1][|-1]

• • • • • •

Х10][п-1] ... Х[к-1][п-1] Х1т-к][п-1] Х1т-1][п-1]

; . . « 1 Е

Х101Ш-1) ХГк-1][п-1] х|т-кЦп-1] Х[т-1][п-1]

Рисунок 3. Реализация локального преобразования размером N на мио-гоядерпой системе

Ускорение в этом случае равно:

р Тр Ти

(5)

Из соотношения 5 видно, что если г=р, то ускорение максимальное $р — р. Эффективность в этом случае равна:

р

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

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

Далее проведен анализ реализации радиолокационной обработки, на современных DSP. В настоящее время, наиболее интересными разработками в области создания DSP процессоров, отличаются несколько отечественных и зарубежных компаний, к ним относятся «Texas Instruments», «Analog Devices» и отечественная компания ГУП НПЦ «ЭЛВИС», создавшие серии широко известных процессоров «С6000», «TigerSharc» и «Мультикор». Выберем для анализа сигнальные процессоры:

- «TMS320C6701» (серия «С6000»), от «Texas Instruments»;

- «ADSP-TS101» и «ADSP-TS201» (серия «TigerSharc»), от «Analog Devices»;

- «МС-24» и «МС-0226» (серия «Мультикор»), от ГУП НПЦ «ЭЛВИС».

Для первоначального анализа архитектуры и вычислительных возможностей возьмем алгоритм радиолокационной обработки применяемый в ДИСД-ФГ, для космического аппарата «Фобос-Грунт». В таблице 1 приведены скоростные характеристики различных DSP при реализации этой обработки.

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

24

мк

11, 15,

103,

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

Этапы вычислений

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

TMS320C6701

циклы

ADSP-TS101

циклы

ADSP-DS201

циклы

МС-0226

циклы

МС-

циклы

Пссопая обработка

3547

29,6

1272

4,2

1286

2,1

506

50,6

1145

Обнаружение

1704

14,2

4458

14,9

5489

9,1

795

8,0

1536

БПФ-1024

23120

192,7

13441

34,9

13681

17,7

Переход к действительному сигналу

5352

1058

8,8

1057

3,5

1057

53,6

10300

лей. Процессоры имеют большой объём внутренней памяти (160 Кбайт) и характеризуется высокоэффективной SIMD-архитектурой и «настроенностью» на выполнение быстрого преобразования Фурье (далее БПФ). Все команды процессора, за исключением команд перехода, выполняются за один такт, а программный конвейер состоит из трех стадий против десяти у зарубежных процессоров, но из-за этого проявляется самый серьезный недостаток процессора - относительно невысокая тактовая частота (100 МГц).

Программный код контроллеров «МУЛЬТИКОР» оказывается значительно короче, чем для DSP TS201s или TMS3206701. Это существенно снижает требования к объему встроенной памяти программ, которая является одним из ценообразую-щих факторов в современных процессорах. По абсолютным временным показателям контроллеры «МУЛЬТИКОР» уже вполне конкурентоспособны лидерам рынка при меньших тактовых частотах и более простой технологии изготовления.

Так, процессор МС-24, уступая TS201 по тактовой частоте в 6 раз, проигрывает последнему по скорости выполнения отдельных операций в 1,5-3 раза. Это говорит о том, что, даже не достигая предельно возможных значений тактовой частоты, что доступно лишь компаниям с собственным микроэлектронным производством, старшие представители процессоров семейства «Мультикор», по меньшей мере, не уступят лучшим зарубежным аналогам, - что и подтверждается по мере появления новых контроллеров.

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

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

Устройство УЦОС для ДИСД-ФГ входит в состав космического аппарата «Фо-

Гдунтозаборкое устройство \

устройство \ : Возвращаемый

бос-Групт», разработанного в Научно-производственном объединении им. С.А. Лавочкина, головной организации отечественной космической промышленности. Космический аппарат "Фобос-Грунт" предназначена для доставки образцов грунта естественного спутника Марса - Фобоса на Землю для изучения его в лабораторных условиях, а также для исследования Фобоса как небесного тела.

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

- выборку цифровых отсчетов сигналов;

- выполнение параллельно двух БПФ;

- пороговую обработку и обнаружение полезного сигнала;

- вычисление параметров - частоты Доплера, фазы задержки отраженного сигнала;

- восстановление однозначной дальности во всех лучах;

- расчет углов наклона космического аппарата к нормали;

- расчет скорости сближения с поверхностью Фобоса.

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

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

Разработанное программное обеспечение предоставляет широкие возможности для моделирования различных архитектур многоядерных процессоров с произвольным числом вычислительных ядер. При этом моделируемая система с помощью графического интерфейса пользователя собирается из определенного набора стандартных элементов, между которыми задаются связи, после чего производится более детальная настройка каждого элемента системы и связей между ними. Программа моделирования позволяет симулировать работу как симметричных систем с общей или разделенной памятью, так и структур с ассиметричным доступом к памяти, а так же структур, комбинирующих в себе эти подходы. Для создания систем с общей памятью в набор стандартных элементов, из которых собирается моделируемая система, введены специальные модули арбитража, организующие доступ нескольких ведущих устройств к одному ведомому. В качестве средств обмена данными между ядрами могут быть использованы каналы прямого доступа к памяти Direct Memory Access (далее DMA), обменный буфер, либо общая память, если система собрана как система с общей памятью. В каждый функциональный модуль встроены мониторы, собирающие информацию о характере работы устройства. Результатом работы программы является информация об общем времени выполнения программ, времени простоя ядер, наличии конфликтов между элементами структуры, о причинах простоя, а так же количественные оценки загруженности шин. Это дает разработчику системы исчерпывающую информацию, необходимую, как для оптимизации программ и алгоритмов под конкретную архитектуру, так и для оптимизации самой многоядерной архитектуры.

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

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

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

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

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

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

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

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

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

- количество тактов, потребовавшихся для выполнения задачи;

- информация о времени работы и простое каждого вычислительного ядра процессора;

- соотношение времени простоя, вызванного внутренними блокировками кон-

вейера ко времени простоя из-за конфликтов при обращении к памяти;

- информация о плотности обращений к каждому блоку памяти со стороны процессорных элементов и DMA.

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

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

Таблица.2. Описание структур многоядерных систем для моделирования работы программ

Структурные модули Количество структурных модулей Межмодульные связи

Двухъядериаи система

Модуль арбитра 2 Блохи 0-15, для арбитра 0, и блоки 16-31, для арбитра 1.

Внутренняя память 32 блока по 4К 32-разрядных слов Блоки 0-15, для шины 0, и блоки 16-31, для шины 1.

Шина данных 2 По одной на каждый модуль от Внешнего канала DMA.

Каналы DMA 1 Соединен с внешними шинами данных.

Трехъядернап система

Модуль арбитра 3 Блоки 0-9, для арбитра 0, и блоки 10-19, для арбитра 1, блоки 20-29, для арбитра 2.

Внутренняя память 30 блоков по 4К 32-разрядных слов Блоки 0-9, для шины 0, и блоки 10-19, для шины 1, блоки 20-29, для шины 2.

Шина данных 3 По одной на каждый модуль от Внешнего канала DMA.

Каналы DMA 1 Соединен с внешними шинами данных.

Четырехъядерная система

Модуль арбитра 4 Блоки 0-7, для арбитра 0, и блоки 8-15, для шины 1, блоки 16-23, для шины 2, и блоки 24-31, для шины 3.

Внутренняя память 32 блока по 4К 32-разрядных слов Блоки 0-7, для шины 0, блоки 8-15, для арбитра 1, блоки 16-23, шины арбитра 2, и блоки 24-31, для арбитра 3.

Шина данных 4 По одной на каждый модуль от Внешнего канала DMA.

Каналы DMA 1 Соединен с внешними шинами данных.

Для анализа реализации возьмем алгоритм, занимающий важную роль в радиолокации - алгоритм БПФ. Данный алгоритм относится к глобальным алгоритмам ЦОС. Для моделирующей задачи выберем реализацию алгоритма БПФ, основан-

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

Для последующей оценки ускорения и эффективности реализации алгоритма на моделях многоядерных DSP, оценим время выполнения преобразования БПФ, размером 16384, на одноядерном процессоре. Будем использовать для вычислений базовую операцию бабочка, размером 4. Таким образом при матричном подходе, вычисления разбиваются на 7 последовательных этапов. Минимальное количество тактов, которое получается, если все арифметические действия выполнять параллельно с обращениями к памяти, можно оценить как:

Tt = n-m-K-N = 2 - 2-7-16384 = 458752 (7)

п = 2, соответствует 2-м обращениям к памяти (чтение исходного отсчета и запись в память результата);

m = 2, из-за того что сигнал комплексный и состоит из мнимой и действительной частей;

К = 7, соответствует количеству этапов при вычислениях, так как 4 " 16384 .

N=16384, количество отсчетов в исходном сигнале;

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

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

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

1. Определим множество значений количества тактов затраченное на выполнение алгоритма;

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

3. Определим параметры, изменение которых не ведет к изменению количества тактов затраченных на выполнение алгоритма;

Рисунок 5. Схема вычислений алгоритма БПФ для двухъядерной системы

Минимальное количество тактов, которое требуется программе для исполнения программы БПФ-16384, на двухъядерной системе равно 235979 тактов. Это время, достигается со следующими параметрами системы, представленными в строке 1, таблицы 2. Изменение какого-либо из параметров ведет к увеличению задержек, при работе с памятью, а соответственно количества тактов, для выполнения алгоритма БПФ на модели реальной двухъядерной системы. Промоделировав все возможные ситуации с помощью циклического запуска моделируемой программы БПФ, проводим анализ, в котором оценивается доля влияния каждого из параметров, динамически меняющихся в модели двухъядерного системы от запуска к запуску. Наиболее сильное влияние, для выполнения БПФ на двухъядерной системе, оказывают 3 параметра.

1. Буферизация чтения;

2. Группировка адресов памяти по блокам;

3. FIFO амортизация, при обращениях к памяти;

Результаты моделирования представлены в таблицах 3. В таблице 3, в строке с номером позиции «1» - представлено наиболее оптимальное сочетание параметров модулей многоядерной системы, т.е. для системы с такими параметрами, необходимо меньше всего тактов на выполнение программы БПФ-16384 на двухъядерной системе. В строках, с номерами позиций больше или равно «2», показано влияние изменения одного параметра системы, относительно оптимальной, на количество тактов требуемое для вычисления БПФ.

Таблица 3. Количество тактов для выполнения программы БПФ на модели двухъядерного процессора, с изменяющимися параметрами

Поз. Арбитр Буф. записи Буф. чтения Лимит Групп., блоков Обращ., к одной группе FIFO CLK

1 Циклический 0, 1 1 0-5 2 0 1 235929

12 Циклический 0, 1 0 0-5 2 0 1 515348

4 Циклический 0, 1 1 0-5 3 0 1 241709

2 Циклический 0, 1 1 0-5 4 0 1 237979

7 Циклический 0, 1 1 0-5 5 0 1 245851

8 Циклический 0, 1 1 0-5 6 0 I 265359

5 Циклический 0,1 1 0-5 7 0 1 242451

3 Циклический 0, 1 1 0-5 2 1 1 239649

10 Циклический 0, 1 1 0-5 2 0 0 274157

11 Статический 0,1 1 0-5 2 0 0 348090

9 шах блокировок 0, 1 1 0-5 2 0 0 267001

6 min обращений 0, 1 1 0-5 2 0 0 245156

Из 5, 6 и 7 следует, что ускорение вычислений двухъядерного процессора, по сравнению с одноядерным можно вычислить как:

_ 458752 .ол

Бг =-= 1,94 ш

235929 ^

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

Далее по такому же принципу проведем анализ реализации БПФ-16384, на системе с тремя вычислительными ядрами. Принцип организации вычислений схож с двухъядерной, за тем лишь исключением ,что этап умножения на поворачивающие множители, выполняется на отдельном ядре процессора. Минимальное количество тактов, которое требуется для исполнения БПФ-16384, на трехъядерной системе равно 178739 тактов, что на 57190 тактов меньше, чем для двухъядерной системы. Наиболее сильное влияние на количество тактов, для выполнения БПФ на трехъядерной системе, оказывают 3 параметра.

1. Буферизация записи;

2. Буферизация чтения;

3. Группировка адресов памяти по блокам;

Аналогично приведению результатов в таблице 3, составим таблицу 4.

Таблица 4. Количество тактов для выполнения программы БПФ на модели трехъядерного процессора, с изменяющимися параметрами

Поз. Арбитраж Буф., записи Буф., чтения Лимит Групп., блоков Обращ., к одной группе FIFO CLK.

1 Статический 1 1 0-5 , 2-6 1 1 178739

2 Cycle 1 1 0-5 2-6 1 1 178753

4 max блокировок 1 1 0-5 2-6 1 178856

5 min обращений 1 1 0-5 2-6 1 1 178895

7 Статический 0 1 0-5 2-6 1 1 261276

8 Статический 1 0 0-5 2-6 1 1 275430

9 Статический 0 0 0-5 2-6 1 1 357934

3 Статический 1 1 0-5 2-6 0 1 178843

6 Статический 1 1 0-5 2-6 1 0 179608

Из 5, 6 и 7 следует, что ускорение вычислений на трехъядерном процессоре, по сравнению с одноядерным можно вычислить как:

_ 458752

о,--— ¿,э / (о\

178739

Из 9 видно, что полученное значение ускорения, позволяет проводить вычисления на 86% эффективнее одноядерного процессора, но является хуже чем на двухъ-ядерном (97%).

Минимальное количество тактов, которое требуемое для исполнения программы БПФ-16384 на четырехъядерном процессоре, равно 150413 тактов, что на 28326 тактов меньше, чем для трехъядерной системы. Это время достигается со следующими параметрами системы, представленными в строке 1, таблицы 4. Изменение какого-либо из параметров ведет к увеличению задержек, при работе с памятью, а соответственно количества тактов, для выполнения алгоритма БПФ на модели реальной четырехъядерной системе. Промоделировав все возможные ситуации с помощью циклического запуска моделируемой программы БПФ, возможно, провести анализ, в котором оценивается доля влияния каждого из параметров, динамически меняющихся в модели четырехъядерной системы. Наиболее сильное влияние на количество тактов, для выполнения БПФ на четырехъядерной системе, те же параметры, что и на трехъядерной, а именно:

1. Буферизация записи;

2. Буферизация чтения;

3. Группировка адресов памяти по блокам;

Результаты моделирования представлены в таблице 5. В ней, в строке с номером позиции «1» - представлено наиболее оптимальное сочетание параметров модулей многоядерной системы, т.е. для системы с такими параметрами, необходимо меньше всего тактов на выполнение программы БПФ на трехъядерной системе. В строках, с номерами позиций больше или равно «2», показано влияние изменения одного параметра системы, относительно оптимальной конфигурации, на количество тактов требуемое для вычисления БПФ.

Таблица 5. Количество тактов для выполнения программы БПФ на мо-

Поз. Арбитраж Буф., записи Буф., чтения Лимит Групп., блоков Обращ. к одной группе FIFO CLK

1 Статический 1 1 0-5 2-6 1 1 150413

2 Статический 1 1 0-5 2-6 1 1 151753

4 max блокировок 1 0 0-5 2-6 1 1 156856

5 min обращений 1 1 0-5 2-6 1 1 157895

7 Циклический 0 1 0-5 2-6 0 1 160276

В Циклический 1 0 0-5 2-6 1 1 163430

9 Статический 0 0 0-5 2-6 1 1 167934

3 Статический 1 0 0-5 2-6 0 1 153843

6 Статический 1 1 0-5 2-6 1 0 158608

Из 5 и 6 и 7 следует, что ускорение вычислений на трехъядерном процессоре,

по сравнению с одноядерным можно вычислить как:

= <10>

Из 10 видно, что полученное значение ускорения, позволяет проводить вычисления на 76% эффективнее одноядерного процессора, но является хуже чем на трехъядерном (86%). <

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

Для доказательства эффективности использования программы моделирования работы многоядерного процессора, ее можно сравнить со стандартным RTL-симулятором многоядерного процессора, который используется в настоящее время в ГУП НПЦ "ЭЛВИС", RTL-симулятор NCSIM фирмы «Cadence». Настроив параметры моделируемой архитектуры под конкретный разрабатываемый процессор, было проведено сравнительное моделирование. В таблице 6 показано время моделирования на разработанной программе моделирования и RTL-симуляторе.

Таблица 7. Время моделирования различных тестов на разработанном

Тест Симулятор RTL-модель

Двумерное ДКП-8х8, блок CIF 10 сек 10-15 минут

БПФ-16384 27-30 сек 54 - 60 мин

Проведенные сравнения показали, что при настройке всех параметров под RTL-модель разрабатываемого многоядерного процессора, расхождение оценок производительности, полученных на симуляторе, с результатами моделирования на RTL-модели составляют не более 2-3%. Таким образом, применение разработанной программы заметно ускоряет процесс выбора оптимального архитектурного решения для проектируемой системы т.к. отсутствует необходимость разработки RTL для каждого варианта и значительно ускоряется процесс моделирования.

23

Таблица 6. Сводная таблица по результатам анализа реализации БПФ-16384 па мцогоядерных DSP___

Кол-во ядер Параметры работы Практика Теория

Количество тактов 458752 458752

шах ускорение вычислений 1 1

1 шах эффективность использования 100% 100%

min ускорение вычислений 1 1

min эффективность использования 100% 100%

Результат динамического анализа 100% -

Количество тактов 232929 229376

max ускорение вычислений 1,94 2

2 max эффективность использования 97% 100%

min ускорение вычислений 0,73 2

min эффективность использования 36% 100%

Результат динамического анализа 62% -

Количество тактов 178739 152917

max ускорение вычислений 2,56 3

3 max эффективность использования 85% 100%

min ускорение вычислений 1,01 3

min эффективность использования 33% 100%

Результат динамического анализа 52% -

Количество тактов 150413 114688

max ускорение вычислений 3,05 4

4 max эффективность использования 76% 100%

min ускорение вычислений 1,22 4

min эффективность использования 30% 100%

Результат динамического анализа 46% -

Ускорение от количества ядер

4,5 п----------------

0,5 О

1 2 Количество ядер 3 4

- ■—max достигнутое ускоренно —W— max теоретическое ускорение -Hi— min достигнутое ускорение

Рисунок 6. Графики ускорения при распараллеливании вычислений

\

Эффективность использования процессоров

120% -,................................................. ........................-.........................-.......-......................................

20%

0% ----

1 2 Количество ядер 3 4

max достигнутая эффективность —и-max теореттмеская эффективность - »- min достигнутая эффективность [

Рисунок 7. Графики эффективности использования процессора при распараллеливании вычислений

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

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

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

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

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

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

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

- разработаны программы спектральных преобразований и проведено исследование особенностей их реализации на современных DSP процессорах;

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

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

систем ЦОС с оперативным регулированием параметров структурных блоков;

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

- разработана библиотека спектрального анализа для процессоров серии «Мультикор»;

- разработана программа вычисления навигационных параметров для УЦОС, входящего в состав ДИСД-ФГ, проекта «Фобос-Грунт».

Основные результаты опубликованы в работах

1. Кучинский A.C. Оценка быстродействия алгоритмов БПФ с помощью симулятора многоядерной системы // Вопросы радиоэлектроники -2008. С. 113-120.

2. Кучинский A.C. Прикладная библиотека функций спектрального анализа для разработки программного обеспечения на процессорах серии «Мультикор» // Микроэлектроника и информатика-2007. Тезисы докладов С. 154.

3. Кучинский A.C., Путря Ф.М. Программная модель для многокритериальной оценки производительности многоядерных вычислительных систем // Микроэлектроника и информатика-2008. Тезисы докладов. С. 207.

4. Кучинский A.C., Путря Ф.М. Симулятор многоядерной вычислительной системы и примеры его применения // Электроника, известия ВУЗов. Электроника №2 2008. С 72-77.

5. Кучинский A.C., Александров Ю.Н., Никольский В.Ф., Чупринов A.A., Грачев Р.В., Миронова Ю.В. Библиотека прикладных функций в составе среды MCStudio™ для разработки программного обеспечения «систем на кристалле» серии «Мультикор» // Труды Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем 2005», С. 516 - 522.

6. Кучинский A.C., Александров Ю.Н., Солохина Т.В., Зинченко О.Н., Ко-лобанова Е.С. Характеристики сигнальных контроллеров серии «Мультикор» по выполнению алгоритмов БПФ в реальном времени и их применение в радиолокации // Труды Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем 2006», С.408-411.

7. Свидетельство о регистрации программы для ЭВМ № 2008613850 от 12 августа 2008г. Правообладатели: ЗАО «ЭЛВИИС». Авторы: Петричкович Я. Я., Сомиков В. П., Солохина Т.В., Никольский В. Ф., Крымов A.A., Янакова Е.С., Кучинский A.C.

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

Заказ № . Уч.-изд. л. Тираж 100 экз. Формат 60484 1/16.

Отпечатано в типографии ИПК МИЭТ.

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