Научная статья на тему 'РЕАЛИЗАЦИЯ SIMD-РАСПАРАЛЛЕЛИВАНИЯ В СИГНАЛЬНЫХ ПРОЦЕССОРАХ ПЛАТФОРМЫ "МУЛЬТИКОР"'

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

CC BY
67
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DIGITAL SIGNAL PROCESSOR / SIMD ARCHITECTURE / VECTOR COMPUTATIONAL UNITS

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

На примере сигнальных процессоров серий 1891BMxx, 1892BMxx платформы «Мультикор» проведен сравнительный анализ двух подходов к реализации SIMD-распараллеливания в цифровых процессорах обработки сигналов. Первый подход связан с наращиванием числа процессорных элементов (вычислительных секций) процессора, второй - с увеличением размерности обрабатываемых векторов внутри одной секции.Two ways of the SIMD architecture implementation in the "Multicore" platform digital signal processors have been compared. One of them deals with an increasing number of the computational sections (processing elements), the other one applies an expanded number of the processed vector components.

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

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

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

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

МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

УДК 621.382.8

Реализация SIMD-распараллеливания в сигнальных процессорах платформы «Мультикор»

А.А. Беляев ОАО НПЦ «ЭЛВИС» (г. Москва)

На примере сигнальных процессоров серий 1891 BMxx, 1892BMxx платформы «Мультикор» проведен сравнительный анализ двух подходов к реализации SIMD-распараллеливания в цифровых процессорах обработки сигналов. Первый подход связан с наращиванием числа процессорных элементов (вычислительных секций) процессора, второй - с увеличением размерности обрабатываемых векторов внутри одной секции.

Ключевые слова: сигнальный процессор, архитектура SIMD, векторные вычислители.

Универсальный метод повышения производительности микропроцессоров состоит в применении принципа параллелизма на различных уровнях их архитектуры [1]. Одним из наиболее эффективных способов организации параллельных вычислений является архитектура SIMD [2, 3]. Суть SIMD-распараллеливания (SIMD - single instruction, multiple data) заключается в том, что одна и та же последовательность, или поток, команд выполняется одновременно над множеством потоков данных.

В классическом варианте SIMD-архитектуры один поток команд выполняется одновременно несколькими процессорными элементами, каждый из которых имеет собственную память данных. К числу процессоров с классической SIMD-архитектурой относятся сигнальные процессоры семейств SHARC (ADSP-21ххх) и TigerSHARC (ADSP-TSххх) фирмы Analog Devices [4]. Другой широко применяемый в настоящее время способ реализации SIMD-распараллеливания состоит в том, что в рамках одного вычислительного устройства вычислительная операция выполняется над векторами (упаковками) данных, содержащими несколько скалярных компонент. В качестве примеров такой архитектуры можно привести SIMD-расширения системы инструкций процессоров Intel - SSE, SSE2, SSE3 (Streaming SIMD Extension) [5], процессоров MIPS [6] и др. В отличие от классической архитектуры SIMD в этом случае имеет значение не количество процессорных элементов (вычислительных блоков), а возможность выполнять с их помощью векторные операции. Оба подхода реализованы в сигнальных процессорах платформы «Мультикор» [7, 8].

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

Входящее в состав сигнального процессора 1892ВМ2Я DSP-ядро ELcore-24TM имеет классическую архитектуру SIMD с двумя вычислительными секциями. Структурная схема DSP-ядра ELcore-24TM приведена на рис.1.

© А.А. Беляев, 2012

Рис.1. Структурная схема DSP-ядра ELcore-24 процессора 1892ВМ2Я (PAG - генератор адреса программной памяти; PRAM - память программ; PDC - декодер инструкций; AGU, AGU-Y - генераторы адреса памяти данных; XRAM0, YRAM0, XRAM1, YRAM1 - память данных; RF - регистровый файл; MS, FMU, AU, FASU - операционные устройства; EDBS, IDBS - коммутаторы шин данных; PAB, XAB, YAB - шины адреса; PDB, XDB0, YDB0, XDB1, YDB1, CDB, DDB, GDB, IDB - шины данных)

S1

S2

DSP-ядро ELcore-24TM содержит два вычислительных блока - ALU0 и ALU1, в состав каждого из которых входят реконфигурируемый регистровый файл RF и операционные устройства MS, FMU, AU, FASU. Каждый вычислительный блок может выполнять операции как над скалярами - 16/32-разрядными числами, так и над векторами -парами 16-разрядных чисел, упакованных в 32-разрядный формат. Таким образом, в данном процессорном ядре реализован как первый, так и второй способ SIMD-

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

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

D

15 0 15 0

15 0 15 0

1 Г 1 г 1 Г 1 г

\ X / \ X /

1 Г 1 Г

15 0 15 0

Рис.2. Работа ра ELc выполнении команды MPF2

вычислителя DSP-ядра ELcore-24TM при

Реализация SIMD-распараллеливания в сигнальных процессорах.

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

С целью дальнейшего повышения производительности в более поздних модификациях DSP-ядер серии ELcore-ххTM размерность обрабатываемых векторов была увеличена и система команд дополнена операциями с векторными данными, представленными в форматах 16/32/64/128 бит с фиксированной и плавающей точкой (IEEE-754). Возможности DSP-ядер серии ELcore-ххTM по обработке данных различных типов приведены в табл.1. В графах таблицы в виде п^Ж, где п - число компонент вектора, Ж - разрядность каждой компоненты, для всех используемых форматов указаны поддерживаемые скалярные (при п = 1) и векторные (при п > 1) типы данных.

Таблица 1

Скалярные и векторные типы данных, поддерживаемые Б8Р-ядрами серии ELcore-хxTM в различных форматах

Процессор DSP-ядро Форматы данных

16 бит 32 бита 64 бита 128 бит

1892ВМ3Т ББесге-14 1x16 1x32 - -

2x16

1892ВМ2Я ББесге-24 1x16 1x32 - -

2x16

1892ВМ4Я ББесге-26 1x16 1x32 - -

1892ВМ5Я 2x16

1892ВМ7Я ББесге-28 1x16 1x32 1x64 4x32

2x16 2x32 8x16

4x16 16x8

1891ВМ7Я ББесге-09 1x16 1x32 1x64 4x32

2x16 2x32 8x16

4x8 4x16 16x8

1892ВМ10Я ББссге-ЗОМ 1x16 1x32 1x64 4x32

1892ВМ11Я 2x16 2x32 8x16

4x8 4x16 16x8

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

Характеристики пиковой производительности DSP-ядер серии ELcore-хxTM - количество скалярных операций, выполняемых за один процессорный такт при работе с различными типами данных, приведены в табл.2.

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

Таблица 2

Характеристики производительности DSP-ядер серии ELcore-xxTM

DSP-ядро Количество Производительность, операций за такт

SIMD-секций float32 int64 int32 int16 int8

ELcore-14 1 3 - 4 8 18

ELcore-24 2 6 - 8 16 36

ELcore-26 2 6 - 8 16 36

ELcore-28 1 6 1 8 24 48

ELcore-09 1 6 1 8 24 48

ELcore-ЗОМ 1 8 1 8 24 48

Таким образом, опыт применения SIMD-распараллеливания в процессорах обработки сигналов серий 1891ВМхх, 1892ВМхх платформы «Мультикор» показывает, что использование векторных вычислителей позволяет уменьшить по сравнению с классической архитектурой SIMD длину программного кода, а также временные и энергетические затраты на его выполнение.

Литература

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

2. Flynn M. Very high-speed computing system // Proc. of IEEE. - 1966. - N 54. - P. 1901-1909.

3. Flynn M. Some Computer Organizations and Their Effectiveness // Proc. of IEEE Trans. On Computers. -1972. - Vol. 21. - N 9. - P. 948-960.

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

5. Intel®64 and IA-32 Architectures Software Developer's Manual. Intel Corporation, 2011.

6. MIPS32® Architecture For Programmers. Volume IV-e: The MIPS® DSP Application-Specific Extension to the MIPS64® Architecture. MIPS Technologies. April 06, 2010.

7. Петричкович Я.Я., Солохина Т.В. Цифровые сигнальные контроллеры «МУЛЬТИКОР» - новые отечественные серии систем на кристалле // Цифровая обработка сигналов и ее применение (DSPA-2004): докл. 6-й Междунар. конф. - М., 2004. - Т. 1. - С. 8-15.

8. http://multicore.ru

Статья поступила после доработки 17 ноября 2011 г.

Беляев Андрей Александрович - кандидат технических наук, начальник лаборатории ОАО НПЦ «ЭЛВИС» (г. Москва). Область научных интересов: микроэлектроника, сигнальные процессоры, многоядерные системы на кристалле, цифровая обработка сигналов, сжатие изображений. E-mail: bel@elvees.com

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