Научная статья на тему 'ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХААРА ДЛЯ ДВУХЯДЕРНЫХ СПЕЦИАЛИЗИРОВАННЫХ ПРОЦЕССОРОВ'

ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХААРА ДЛЯ ДВУХЯДЕРНЫХ СПЕЦИАЛИЗИРОВАННЫХ ПРОЦЕССОРОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
58
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ANALOG DEVICES / ПРОЦЕССОРЫ ADSP-BF561 / ДВУХЪЯДЕРНЫЕ ПРОЦЕССОРЫ / СПЕЦИАЛЬНЫЕ ПРОЦЕССОРЫ / АРХИТЕКТУРА ПРОЦЕССОРА / АРХИТЕКТУРА ЯДРА ПРОЦЕССОРА / АРХИТЕКТУРА ПАМЯТИ / ЦОС / БЫСТРЫЕ ПРЕОБРАЗОВАНИЯ XААРА / ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ / КОЭФФИЦИЕНТ УСКОРЕНИЯ / КОЭФФИЦИЕНТ ЭФФЕКТИВНОСТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зайнидинов Хакимжон Насиридинович, Ибрагимов Санжарбек Салижанович

В данной статье обсуждается эффективность распараллеливания алгоритма быстрого преобразования Хаара, который широко используется в цифровой обработке сигналов на базе двухъядерных процессоров Blackfin ADSP-BF561 от Analog Devices. Приведены функциональные описания архитектуры двухъядерного процессора ADSP-BF561. Также описывается архитектура памяти и ядра процессора. Приведен параллельный алгоритм разработанный для быстрого преобразования Хаара по Эндрюсу. Рассмотрено создание программы параллельных вычислений для двухъядерных процессоров в среде разработки VsiualDSP++. В проекте приложения описывается структура взаимосвязи ядер при использовании общих данных. Приведены результаты времени, затраченного на расчет быстрого преобразования Хаара на основе значений, полученных аналитической функцией на одноядерных процессорах ADSP-BF533 и двухъядерных процессорах ADSP-BF561. На одноядерных и двухъядерных процессорах время выполнения программ сравнивается графически. Коэффициент ускорения и коэффициенты эффективности определялись по формулам для расчета коэффициента ускорения и коэффициента эффективности. Коэффициенты ускорения нанесены на графики.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PARALLEL FAST HAAR TRANSFORM ALGORITHM FOR DUAL-CORE SPECIALIZED PROCESSORS

This зфзук discusses the parallelization efficiency of the Fast Haar Transform Algorithm, which is widely used in digital signal processing based on Analog Devices' Blackfin ADSP-BF561 dual-core processors. Functional descriptions of the ADSP-BF561 dual-core processor architecture are provided. It also describes the architecture of the memory and processor core. A parallel algorithm developed for the fast Haar transform according to Andrews is presented. The creation of a parallel computing program for dual-core processors in the VsiualDSP ++ development environment is considered. The application project describes the core relationship structure using shared data. The results of the time taken to calculate the Fast Haar transform based on the values obtained by the analytic function on ADSP-BF533 single-core and ADSP-BF561 dual-core processors are given. On single-core and dual-core processors, program execution times are compared graphically. The acceleration factor and the efficiency factors were determined by the formulas for calculating the acceleration factor and the efficiency factor. Acceleration factors are plotted on graphs.

Текст научной работы на тему «ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХААРА ДЛЯ ДВУХЯДЕРНЫХ СПЕЦИАЛИЗИРОВАННЫХ ПРОЦЕССОРОВ»

Параллельный алгоритм быстрого преобразования Хаара для двухядерных специализированных процессоров

Х.Н. Зайнидинов1, С.С. Ибрагимов2

1Ташкентский университет информационных технологий 2Анджанский машиностроительный институт

Аннотация. В данной статье обсуждается эффективность распараллеливания алгоритма быстрого преобразования Хаара, который широко используется в цифровой обработке сигналов на базе двухъядерных процессоров Blackfm ADSP-BF561 от Analog Devices. Приведены функциональные описания архитектуры двухъядерного процессора ADSP-BF561. Также описывается архитектура памяти и ядра процессора. Приведен параллельный алгоритм разработанный для быстрого преобразования Хаара по Эндрюсу. Рассмотрено создание программы параллельных вычислений для двухъядерных процессоров в среде разработки VsiualDSP++. В проекте приложения описывается структура взаимосвязи ядер при использовании общих данных. Приведены результаты времени, затраченного на расчет быстрого преобразования Хаара на основе значений, полученных аналитической функцией на одноядерных процессорах ADSP-BF533 и двухъядерных процессорах ADSP-BF561. На одноядерных и двухъядерных процессорах время выполнения программ сравнивается графически. Коэффициент ускорения и коэффициенты эффективности определялись по формулам для расчета коэффициента ускорения и коэффициента эффективности. Коэффициенты ускорения нанесены на графики.

Ключевые слова. Analog Devices, процессоры ADSP-BF561, двухъядерные процессоры, специальные процессоры, архитектура процессора, архитектура ядра процессора, архитектура памяти, ЦОС, быстрые преобразования Хаара, параллельные алгоритмы, параллельные вычисления, параллельное программирование, коэффициент ускорения, коэффициент эффективности.

Введение

Сегодня технология цифровой обработки сигналов (ЦОС) становится неотъемлемой частью нашей повседневной жизни в результате быстрого развития информационных технологий и их широкого использования во всех областях. Устройства сигнальных процессоров и методы ЦОС используются в электронике, цифровом телевидении, мобильных телефонах, сейсмологии, автомобилестроении, медицине и других отраслях [1, 3, 11, 14]. В последние годы были разработаны многоядерные процессоры для решения проблемы увеличения мощности вычислительных систем в процессорах сигналов [2, 5]. В результате многоядерные сигнальные процессоры широко используются для повышения эффективности работы при обработке сигналов.

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

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

тщательно писать программы, которые работают на многоядерных процессорах [12, 13, 15].

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

В настоящей работе мы рассматриваем параллельное вычисление быстрого преобразования Хаара (БПХ), используемого для определения спектральных коэффициентов при ЦОС на базе двухъядерных сигнальных процессоров ADSP-bf561.

1. Архитектура процессора ADSP-BF561

Организация параллельных вычислений требует более глубокого понимания архитектуры процессора [2, 13]. Знакомство с архитектурой процессора поможет вам программировать и решать проблемы в параллелизме на основе возможностей этого процессора.

A. Архитектура процессора

Процессор ADSP-BF561 представляет собой симметричный двухъядерный 16-32-разрядный микропроцессор, принадлежащий к семейству процессоров Blackfin от Analog Devices. На основе MSA (Micro Signal Architecture), разработанной в сотрудничестве с корпорацией Intel, процессоры Blackfin объединяют в себе 32-разрядный набор команд, характерный для процессоров RISC, и

двойная функция обработки сигналов с двойным 16-разрядным умножением-накоплением (MAC). Эта комбинация процессоров Blackfin лучше работает как в программах обработки сигналов, так и в программах обработки управления. Также продукты из семейства процессоров Blackfin потребляют очень

мало электроэнергии. Такое сочетание высокой эффективности и низкого энергопотребления очень важно сейчас и в будущем для беспроводных, мобильных приложений обработки сигналов на портативных устройствах, подключенных к Интернету [2, 3, 6, 8, 9, 11].

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

контроллер

событий/ сторожевой таймер

интерфейс jtag

Blackfin CORE A

контроллер

событий/ сторожевой таймер

I

стаблизатор напряжения

Blackfin CORE B

ПАМЯТЬ ПАМЯТЬ ПАМЯТЬ ПАМЯТЬ

КОМАНД ДАННЫХ КОМАНД ДАННЫХ

L1 L1 L1 —ж—X— L1

ПАМЯТЬ L2 SRAM 128 Кбайт

ИНТЕРФЕЙС системных шин/ядра

внутренний

КОНТРОЛЛЕР IMDMA

ВНЕШНЯЯ ПАМЯТЬ

PPI PPI

UARTO IrDA

SPI

SPORTO

SPORT1

GPIO

ТАЙМЕРЫ

ПЕРИФЕРИЯ

Рис. 1. Функциональная блок-схема процессора АШР-Б^561

Команды процессора Б1аск/т оптимизированы так, что наиболее часто используемые команды представлены в 16-разрядном формате. Команды ЦОС кодируются 32-разрядными кодами как многофункциональные команды. Система внутренней шины и вычислительные блоки позволяют каждому ядру выполнять несколько команды за один такт, что увеличивает плотность кода [8].

Б. Архитектура памяти

В процессоре АБ8Р-ББ561 используется иерархическая трехуровневая модель памяти (Таблица 1). Память первого уровня Ь1 обычно

работает на полной скорости ядра с небольшой задержкой или без задержки, но размер памяти не очень велик. Каждое ядро Blackfin имеет собственную память L1 объемом 100 КБ. Объем памяти SRAM второго уровня составляет 128 КБ, и она интегрирована с ядром. Память l2 способна хранить общие команды и данные обоих ядер. Архитектура процессора включает специальные четырехканальные контроллеры DMA внутренней памяти для оптимизации обмена данными между памятью l1 и l2. Память третьего уровня l3 в иерархической модели памяти процессора Blackfin -это внешняя память.

Таблица 1

Иерархическая трехуровневая модель памяти

№ Тип памяти Размер памяти

Память первого уровня L1 (в каждом ядре)

i. SRAM/кэш команд 16 Кбайт

2. SRAM команд 16 Кбайт

3. SRAM/кэш данных 32 Кбайт

4. SRAM данных 32 Кбайт

5. Scratchpad SRAM-сверхоперативная память 4 Кбайт

Память второго уровня L2 SRAM

б. L2 SRAM 128 Кбайт

Память третьего уровня L3

7. SDRAM внешняя память 16-512 Кбайт

Область внешней памяти может представлять четыре банка SDRAM от 16 до 512 МБ и четыре асинхронных памяти (ROM, SRAM, EEPROM, flash) по 64 МБ каждый [2, 8].

C. Архитектура ядра процессора

Каждое ядро процессора Blackfin ADSP-BF561 состоит два 16-разрядных умножителя, два 40-разрядных аккумулятора, два 40-разрядных арифметико-логических устройства (АЛУ), четыре 8-разрядных видео АЛУ и 40-разрядное устройства сдвига [8]. Вычислительные устройства обрабатывают 8-разрядные, 16-разрядные или 32-разрядные данные из регистрового файла (Рис. 2) [4, 6, 8, 9].

АДРЕСНОЕ АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО

I3 L3 B3

I2 L2 B2

I1 L1 B1

I0 L0 B0

32

[32

32^' г

мз

M2

M1

M0

» ^ у

yDA^v

DAGO >

SP

FP

P5

P4 P3

P2

P1

P0

32

32

R7.H R7.L

R6.H R6.L

R5.H R5.L

R4.H R4.L

R3.H R3.L

R2.H R2.L

R1.H R1.L

R0.H R0.L

,32 '—А

ASTAT

I ITT

J J , J J,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

\ 1б / \ 1б /

■ I I .Л 'barrel

SHIFTER / \ 40

A0

"T

40,

40/

40

A1

X"

32

АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО ДАННЫХ

SEQUENCER

ALIGN

DECODE

LOOP BUFFER

УСТРОЙСВО УПРАВЛЕНИЯ

Рис. 2. Архитектура ядра процессоров ADSP-BF561

Вычислительный регистровый файл состоит из восьми 32-разрядных регистров. При выполнении

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

независимых 16-разрядных регистров. Для вычислительных операций все операнды берутся из файла регистра с несколькими ветвями и из полей констант. Каждый MAC может умножать шестнадцать 16-разрядных чисел и накопление результатов до 40-разряд за один такт. В этом случае могут использоваться отмеченные и немаркированные форматы [2, 3, 8, 9].

АЛУ выполняет обычный набор арифметических и логических операций с 16-разрядными или 32-разрядными данными. Он включает в себя множество специальных команд для ускорения различных задач обработки сигналов. Для некоторых команд двойные 16-разрядные операции АЛУ могут выполняться в регистрах как пара 16-разрядных операндов одновременно. С помощью обоих АЛУ можно выполнить четыре 16-разрядных операции [8,

9].

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

2. Алгоритм параллельного

ВЫЧИСЛЕНИЯ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХААРА

Алгоритм БПХ широко используется для определения спектральных коэффициентов при ЦОС. Алгоритм быстрого преобразования при ЦОС позволяет сократить количество арифметических операций и объем памяти [11].

Мы используем алгоритм БПХ по Эндрюсу для ЦОС на двухъядерном DSP. На рисунке 3 показан график БПХ предложенный Эндрюсом. На этом графике непрерывные линии соответствуют операциям сложения, а штриховые линии -операциям вычитания. Считывание входных сигналов обозначается массивом

Х(0),Х(1), ...,X(N - 1), а результат обозначается массивом С(0), С(1),..., C(N - 1).

На этом графике показан метод быстрых преобразований Хаара, предложенный Эндрюсом для условия с N = 16. Согласно графику, массив X образован суммой последовательных пар предыдущего массива X, а массив C равен разности

последовательных пар массива X на каждой итерации (формулы (1) и (2)).

Рис. 3. График быстрого преобразования Хаара, предложенный Эндрюсом

Х(0 = Х(20 + Х^ + 1) (1)

С^+5)=Х(20-Х(И + 1) (2)

сумма X, вычисленная на последней итерации, равна С(0)=Х(0)+Х(1) (3)

где I = 0 ...--1, ] = 1 ...к, количество итераций

определяется по формуле к = 1од2 N.

На основе графика, приведенного на Рис. 3, был разработан параллельный алгоритм для процесса вычисления БПХ на двухъядерных процессорах ашр-б^561 (Рис. 4).

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

adi_core_b_amЫeO [4].

процессоров Blackfin ADSP-BF561

3. ПАРАЛЛЕЛЬНОЕ

ПРОГРАММИРОВАНИЕ В СРЕДЕ РАЗРАБОТКИ VISUALDSP++

Существует несколько способов создания программного проекта для двухъядерных процессоров Blackfin ADSP-BF561 в среде разработки VisualDSP++. Из этих методов наиболее эффективным подходом к программированию является метод Single Application/Dual Core [4], поскольку он позволяет обоим ядрам эффективно использовать все области общей памяти. Общий код и общие данные могут храниться в общей памяти для предотвращения дублирования.

Программа включает в себя иерархию из пяти проектов, построенных как единую программу. Исполняемым проектом верхнего уровня в иерархии проектов содержит четыре под-проекты: ядро a, ядро b, внутренняя память l2 и внешняя память l3. Эти под-проекты относятся к типу «Библиотека dsp». Под-проекты создают отдельные файлы с именами corea.dlb, coreb.dlb, sml2.dlb и sml3.dlb [4]. Поскольку приложение разделено на отдельные библиотеки, становится проще организовать ту часть программы, которая находится в определенном ядре или в определенной общей памяти.

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

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

Рис. 5. Иерархия проектов

Многоядерное связывание. Подход «Single Application/Dual Core» использует расширенные инструменты связывания для разрешения взаимодействия между ядрами и общей памятью. Каждое ядро определяется директивой PROCESSOR и вместе определяется двумя областями памяти (внутренняя память L2 и внешняя память) и одной

директивой COMMONMEMORY (общая память). ✓-\

(Библиотеки процессоров)

V_/

Ядро B

Common memory (Общая память)

f-\

Clibs

(Общие библиотеки) ч_

Рис. 6. Двухъядерное соединение

И директива PROCESSOR, и область COMMONMEMORY могут связываться с библиотеками, как показано на Рис. 6. Библиотеки

Plibs представлены непосредственно в соответствии с директивами PROCESSOR. Объекты этих библиотек являются частными и представлены в частной памяти ядра A или ядра b. Библиотеки, показанные как CLib, представлены в области COMMONMEMORY. Объекты этих библиотек хранятся в общей памяти и могут быть доступны обоим ядрам. Если внешние данные связаны с использованием этих библиотек, эти данные представлены в области COMMON MEMORY и могут совместно использоваться ядром A и ядром B [4, 6].

Общий код и общие данные могут быть представлены в проекте sml2 во внутренней памяти L2 или в проекте sml3 во внешней памяти.

Чтобы разделить и использовать элементы данных между двумя ядрами, сначала необходимо определить общие элементы данных, которые используются вместе. В программном модуле атрибут файла определяется значением MustShare [4]. Общие элементы данных объявляются с помощью слова volatile.

#pragma file_attr("sharing=MustShare") #pragma section("l2_sram") volatile MyStruct SharedData;

4. Результаты

БПХ по Эндрюсу был рассчитан в среде разработки VsiualDSP++ с использованием языка программирования c++ на базе одноядерных процессоров Blackfin ADSP-BF533 и двухъядерных процессоров Blackfin ADSP bf-561. Для проведения расчетов были выбраны одинаковые частотные процессоры. То есть рабочая частота ядра процессора ADSP-BF533 составляет 600 МГц, а рабочая частота каждого ядра процессора adsp-bf561 - 600 МГц. Было проведено исследование значений аналитической функции y = ex, чтобы оценить время, затрачиваемое на вычисление БПХ на этих процессорах. Результаты исследования

представлены в Таблице 2.

Таблица 2.

Сравнение времени вычислений БПХ в программе, разработанной для одноядерных и двухъядерных процессоров в среде разработки VisualDSP ++

N - количество элементов во входном массиве ADSP-BF533 (сек.) ADSP-BF561 (сек.)

128 0,004501 0,002991

256 0,009149 0,006023

512 0,018393 0,012095

1024 0,036977 0,024218

2048 0,075372 0,049001

4096 0,152161 0,098509

8192 0,306368 0,197842

16384 0,621639 0,399376

Ядро A

-►

С использованием значений в Таблице 2, коэффициенты ускорения и эффективности рассчитываются по уравнениям (4) и (5) соответственно:

SP(N) = E(N) =

T±(N) Tp(N) Sp(N)

(4)

(5)

где:

Тг(Ю - время выполнения программы на одноядерном процессоре Blackfm ADSP-BF533;

ТР (Ы) - время выполнения программы на двухъядерном процессоре Blackfm ADSP-BF56l; P - количество ядер в процессоре; N - количество элементов во входном массиве.

и

о

<и а М

128 256 512 1024 2048 4096 8192 16384

—BF533 0,004501 0,009149 0,018393 0,036977 0,075372 0,152161 0,306368 0,621639

BF561 0,002991 0,006023 0,012095 0,024218 0,049001 0,098509 0,197842 0,399376

Рис. 7. График сравнения времени выполнения программ на одноядерных и двухъядерных процессорах

По мере увеличения значения N увеличиваются также коэффициенты ускорения и эффективности. При N = 16384 потребовалось 0,621639 секунды для вычисления на одноядерном процессоре ADSP-BF533 и 0,399376 секунды для выполнения

параллельных вычислений на двухъядерном процессоре ADSP-BF561. Коэффициент ускорения составлял 1557, а коэффициент полезного действия -0,7783. Результаты для коэффициента ускорения графически показаны на Рис. 8.

о а о

и

о

^

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т

н =

-

я -

Л

о

1,570 1,560 1,550 1,540 1,530 1,520 1,510 1,500 1,490 1,480 1,470

128 256 512 1024 2048 4096 8192 16384

1,505 1,519 1,521 1,527 1,538 1,545 1,549 1,557

S(N)

Рис. 8. График коэффициента ускорения вычислений в двухъядерном процессоре

р

Заключение

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

Для параллельного расчета БПХ на двухъядерном процессоре ADSP-BF561 при N = 16384 коэффициент ускорения увеличился до 1557, а коэффициент полезного действия - до 0,7783. Это означает, что увеличение количества аппаратных ядер, разработка подходящих оптимальных параллельных алгоритмов и эффективное использование ресурсов внутренней памяти сократят время, затрачиваемое на вычисление сигналов, и улучшат эффективность.

ЛИТЕРАТУРА

[1] Аллен Дж. Архитектура процессоров для цифровой обработки сигналов. М.: Техносфера, 2006, 279с.

[2] Сотников А. Особенности архитектуры и программирования двуядерных процессоров семейства Blackfin ADSP-BF561 // Компоненты и технологии. 2007. №6.

[3] Вальпа О.Д. Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++. - М.: Горячая линия-Телеком, 2007. - 270 с.

[4] VisualDSP++ 5.0 C/C++ Compiler and Library Manual for Blackfin Processors, Analog Devices, Inc. 2008.

[5] Гергель В.П. Высокопроизводительные вычисления для многоядерных многопроцессорных систем. Учебное пособие - Нижний Новгород; Изд-во ННГУ им. Н.И.Лобачевского, 2010.

[6] Сотников А. Проектирование с использование процессоров Analog Devices. Цифровой КИХ фильтр//Компоненты и технологии. 2010. № 10.

[7] Fayez Gebali. Algorithms and Parallel Computing. John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada 2011, 365p.

[8] ADSP-BF561 Blackfin® Processor Hardware Reference, Analog Devices, Inc. 2013.

[9] ADSP-BF533 Blackfin® Processor Hardware Reference, Analog Devices, Inc. 2013.

[10] Старченко А.В., Берцун В.Н. Методы параллельных вычислений: Учебник. - Томск: Изд-во Том. ун-та,

2013. - 223 с.

[11] ЗайнидиновХ.Н. Методы и средства обработки сигналов в кусочно-полиномиальных базисах. Ташкент

2014, 192с.

[12] Д.К. Андрейченко, В.М. Велиев, А.А. Ерофтиев, М.С. Портенко, Теоретические основы параллельного программирования. Саратов 2015. 282с.

[13] V. Rajaraman and C. Siva Ram Murthy. Parallel Computers: Architecture and Programming, Second Edition. PHI Learning Private Limited, Delhi 2016. 506p.

[14] Иванова В.Г., Тяжев А.И. Цифровая обработка сигналов и сигнальные процессоры. Учебное пособие. Самара: ПГУТИ, 2017. -252 с.

[15] Ф.М. Гафаров, А.Ф. Галимянов. Параллельные вычисления: учеб. пособие - Казань: Изд-во Казан. унта, 2018. - 149 с.

[16] Д.Л. Головашкин. Модели в теории параллельных вычислений: учеб. пособие - Самара: Изд-во Самарского университета, 2019. - 96 с.

[17] Волосова, А.В. Параллельные методы и алгоритмы: учебное пособие - М.: МАДИ, 2020. - 176 с.

Хакимжон Насиридинович Зайнидинов - доктор технических наук, профессор, заведующий кафедрой Информационных

технологий Ташкентского

университета информационных технологий имени Мухаммада ал-Хорезми.

E-mail: tet2001 @rambler.ru Санжарбек Салижанович

Ибрагимов - стажер-

исследователь, Андижанский машиностроительный институт. E-mail: sanjari07@yahoo.com

Статья получена 12.09.2020

Parallel Fast Haar Transform Algorithm for Dual-Core Specialized

Processors

H.N. Zainidinov1, S.S. Ibragimov2

'Tashkent University of Information Technologies 2Andzhan Machine-Building Institute

Abstract. This 3$3yK discusses the parallelization efficiency of the Fast Haar Transform Algorithm, which is widely used in digital signal processing based on Analog Devices' Blackfin ADSP-BF561 dual-core processors. Functional descriptions of the ADSP-BF561 dual-core processor architecture are provided. It also describes the architecture of the memory and processor core. A parallel algorithm developed for the fast Haar transform according to Andrews is presented. The creation of a parallel computing program for dual-core processors in the VsiualDSP ++ development environment is considered. The application project describes the core relationship structure using shared data. The results of the time taken to calculate the Fast Haar transform based on the values obtained by the analytic function on ADSP-BF533 single-core and ADSP-BF561 dual-core processors are given. On single-core and dual-core processors, program execution times are compared graphically. The

© ÄBTOMaraKa h nporpaMMHaa HH®eHepHfl. 2020, №4(34) http://www.jurnal.nips.ru

acceleration factor and the efficiency factors were determined by the formulas for calculating the acceleration factor and the efficiency factor. Acceleration factors are plotted on graphs.

Key words. Analog Devices, ADSP-BF561 processors, dual-c processor core architecture, memory architecture, DSP, fast Haar 1 programming, acceleration factor, efficiency factor.

-core processors, specialty processors, processor architecture, ' transforms, parallel algorithms, parallel computing, parallel

References

[1] Allen Dzh. Arkhitektura protsessorov dlya tsifrovoy obrabotki signalov. M.: Tekhnosfera, 2006, 279s.

[2] Sotnikov A. Osobennosti arkhitektury i programmirovaniya dvuyadernykh protsessorov semeystva Blackfin ADSP-BF561 // Komponenty i tekhnologii. 2007. №6.

[3] Val'pa O.D. Razrabotka ustroystv na osnove tsifrovykh signal'nykh protsessorov firmy Analog Devices s ispol'zovaniyem Visual DSP++. - M.: Goryachaya liniya-Telekom, 2007. - 270 s.

[4] VisualDSP++ 5.0 C/C++ Compiler and Library Manual for Blackfin Processors, Analog Devices, Inc. 2008.

[5] Gergel' V.P. Vysokoproizvoditel'nyye vychisleniya dlya mnogoyadernykh mnogoprotsessornykh sistem. Uchebnoye posobiye - Nizhniy Novgorod; Izd-vo NNGU im. N.I. Lobachevskogo, 2010.

[6] Sotnikov A. Proyektirovaniye s ispol'zovaniye protsessorov Analog Devices. Tsifrovoy KIKH fil'tr//Komponenty i tekhnologii. 2010. № 10.

[7] Fayez Gebali. Algorithms and Parallel Computing. John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada 2011, 365p.

[8] ADSP-BF561 Blackfin® Processor Hardware Reference, Analog Devices, Inc. 2013.

[9] ADSP-BF533 Blackfin® Processor Hardware Reference, Analog Devices, Inc. 2013.

[10] Starchenko A.V., Bertsun V.N. Metody parallel'nykh vychisleniy: Uchebnik. - Tomsk: Izd-vo Tom. un-ta, 2013. - 223 p.

[11] ZaynidinovKH.N. Metody i sredstva obrabotki signalov v kusochno-polinomial'nykh bazisakh. Tashkent 2014, 192s. [12] D.K. Andreychenko, V.M. Veliyev, A.A. Yeroftiyev, M.S. Portenko, Teoreticheskiye osnovy parallel'nogo programmirovaniya. Saratov 2015. 282 p.

[13] V. Rajaraman and C. Siva Ram Murthy. Parallel Computers: Architecture and Programming, Second Edition. PHI Learning Private Limited, Delhi 2016. 506 p.

[14] Ivanova V.G., Tyazhev A.I. Tsifrovaya obrabotka signalov i signal'nyye protsessory. Uchebnoye posobiye. Samara: PGUTI, 2017. -252 p.

[15] F.M. Gafarov, A.F. Galimyanov. Parallel'nyye vychisleniya: ucheb. posobiye - Kazan': Izd-vo Kazan. un-ta, 2018. - 149 p.

[16] D.L. Golovashkin. Modeli v teorii parallel'nykh vychisleniy: ucheb. posobiye - Samara: Izd-vo Samarskogo universiteta, 2019. - 96 p.

[17] Volosova, A.V. Parallel'nyye metody i algoritmy: uchebnoye posobiye - M.: MADI, 2020. - 176 p.

Xakimjon Nasriddinovich Zaynidinov - Doctor of Technical Sciences, Professor, Head of the Department of Information Technologies, Tashkent University of Information Technologies named after Muhammad al-Khorezmi. E-mail: tet2001 @rambler.ru

Sanjarbek Ibragimov

Andijan Institute.

E-mail: sanjari07@yahoo. com

Salijanovich

Research Assistant, Machine-Building

The paper has been received on 12/09/2020

i Надоели баннеры? Вы всегда можете отключить рекламу.