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

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

CC BY
21
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИГНАЛЬНЫЙ ПРОЦЕССОР / РЕКОНФИГУРИРУЕМЫЙ ТРАКТ ОБРАБОТКИ ДАННЫХ / КОНВЕЙЕР КОМАНД / BYPASS-РЕГИСТР

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

Исследована проблема повышения производительности сигнальных процессоров с VLIW-архитектурой за счет применения тракта обработки данных с реконфигурируемой структурой на основе системы bypass-регистров. Рассмотрены способы реализации этого тракта в сигнальных процессорах семейства «Мультикор».The possibilities of the VLIW architecture signal processor performance growth due to the application of data-path with the configurable system of the bypass registers have been considered. The implementations of such data-path in signal processors of the "Multicore" series have been reviewed.

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

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

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

УДК 621.382.8

Построение реконфигурируемого тракта обработки данных в сигнальных процессорах с VLIW-архитектурой

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

Исследована проблема повышения производительности сигнальных процессоров с VLIW-архитектурой за счет применения тракта обработки данных с реконфигурируемой структурой на основе системы bypass-регистров. Рассмотрены способы реализации этого тракта в сигнальных процессорах семейства «Мультикор».

Ключевые слова: сигнальный процессор, VLIW-архитектура, конвейер команд, реконфигурируемый тракт обработки данных, bypass-регистр.

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

Повышение производительности сигнальных процессоров достигается посредством применения принципа параллелизма на разных уровнях архитектуры. Широко используемая в сигнальных процессорах VLIW-архитектура [1] обеспечивает параллелизм на уровне инструкций - это означает, что в рамках одной процессорной инструкции одновременно выполняется несколько не связанных друг с другом вычислительных команд или пересылок данных. Для упаковки в одной инструкции нескольких команд применяется длинное командное слово, благодаря чему и получила название данная архитектура: Very Long Instruction Word - «очень длинное слово инструкции».

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

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

В данной статье рассматриваются способы решения этой задачи на примере организации вычислительного тракта процессорных ядер сигнальной обработки (DSP-ядер) серии ELcore-хх платформы «Мультикор» [3].

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

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

DSP-ядра серии ELcore-хх имеют модифицированную гарвардскую архитектуру с раздельными пространствами памяти программ (PRAM) и данных (память данных, кроме того, разделена на две области -XRAM и YRAM), благодаря которой обеспечивается параллелизм при выборке команд и данных. Управление программной памятью, включая формирование адреса, организацию циклов и программных переходов, осуществляется с помощью программного адресного генератора PAG, входящего в состав устройства программного управления PCU. Формирование адресов памяти данных выполняют генераторы адреса памяти данных AGU и AGU-Y. Сформированные этими устройствами адреса подаются на адресные входы памяти программ и данных по шинам PAB, XAB и YAB, а данные - по шинам PDB, XDB и YDB. Декодирование инструкций, поступающих из программной памяти по шине PDB, производится с помощью программного декодера PDC.

Для встраивания DSP-ядра в систему-на-кристалле предусмотрено два шинных интерфейса - CDB и DDB, реализованных по протоколам соответственно AMBA AHB и AMBA AXI. Шина CDB предназначена для обеспечения доступа к адресуемым регистрам DSP-ядра со стороны центрального процессорного ядра (CPU), а по шине DDB производится загрузка и выгрузка обрабатываемых данных под управлением CPU или контроллера прямого доступа к памяти (DMA).

Для пересылок данных используются коммутаторы IDBS и EDBS, причем первый отвечает за обмены внутри DSP-ядра, а второй - за внешние обмены. Межрегистровые обмены выполняются по шине GDB, а пересылки данных - по шине IDB.

Вычислительные команды исполняются в тракте обработки данных ALU, в состав которого входят реконфигурируемый регистровый файл RF и операционные устройства: MS - умножитель/сдвигатель в формате с фиксированной точкой; FMU - умножитель в формате с плавающей точкой; AU - арифметико-логическое устройство; FASU -сумматор/вычитатель в формате с плавающей точкой.

В первых модификациях DSP-ядер серии ELcore-хх (ELcore-12, ELcore-24) процесс исполнения инструкций конвейеризован на три стадии (фазы).

1-я фаза (F): формирование адреса памяти программ, выборка инструкции из программной памяти;

2-я фаза (D): декодирование инструкции;

3-я фаза (E): чтение данных из RF, исполнение инструкции, запись данных в RF.

При этом собственно вычислительная операция выполняется в течение всего одной

3-й фазы и структура вычислительного тракта имеет вид, приведенный на рис.2.

Используемый в вычислительном тракте регистровый файл имеет девять портов: пять - по чтению и четыре - по записи. Порты D0, D1 применяются для извлечения входных операндов для операций умножения и сдвига, выполняемых соответственно

Рис. 1. Общая структурная схема DSP-ядер серии ELcore-xx

D6W

RF D6R

D5

DO D1 D2 D3 D4R D4W

I

ОР2 ОР1

(MS/FMU) (AU/FASU)

XDBW

XDBR

YDB IDB

Рис. 2. Структурная схема вычислительного тракта DSP-ядер ELcore-12, ELcore-24

D6W

RF D6R

D5

DO D1 D2 D3 D4R D4W

I та I I Regl I

£

OP2 OP1

(MS/FMU) (AU/FASU)

XDBW

YDB IDB

1

на операционных устройствах FMU и MS. Полученный результат записывается в нужный регистр через порт D2. Для операций сложения/вычитания и логических преобразований, выполняемых устройствами FASU и AU, входные операнды доставляются через порты D3, D4R, а результат записывается в регистровый файл через порт D4W (для некоторых операций также через порт D5). Порты D6R, D6W используются для межрегистровых пересылок и обменов с памятью по адресному указателю X. Порт D5 применяется для чтения данных из памяти по адресному указателю Y и для пересылок непосредственных данных в регистр RF.

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

Из-за сложной структуры регистрового файла время выборки данных из него составляет заметную величину, влияющую на производительность обработки. Эффективным способом ускорения выборки данных является применение так называемых обходных (bypass) регистров. Реализованная с применением таких регистров схема вычислительного тракта DSP-ядра ELcore-0226 приведена на рис.3. Использование bypass-регистров, наряду с другими мерами по ускорению процесса обработки, позволило поднять тактовую частоту этого ядра на 25% по сравнению с предшествующими модификациями (ELcore-12, ELcore-24).

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

1-я фаза (A):

2-я фаза (F):

3-я фаза (D):

4-я фаза (E):

5-я фаза (E1)

6-я фаза (E2)

7-я фаза (E3)

XDBR

Рис. 3. Структурная схема вычислительного тракта DSP-ядра ELcore-0226

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

декодирование инструкции, формирование блокировки;

чтение данных из ЯР;

исполнение инструкции;

исполнение инструкции, запись данных в RF.

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

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

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

1) число коммутационных устройств равно числу входов операционных устройств включая тракты пересылок (оно также равно числу выходов регистрового файла);

2) число мультиплексируемых входов коммутационных устройств равно произведению числа выходов операционных устройств ЖоМ, включая тракты пересылок (оно также равно числу входов регистрового файла) на число фаз исполнительной части конвейера Ыр.

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

Жмх ~ • Ыои N .

Учитывая, что и число входов, и число выходов операционных устройств прямо пропорционально числу параллельно выполняемых команд в инструкции Жуьг№, получаем, что сложность коммутационной логики возрастает пропорционально квадрату NvLIw, т.е. Жмх ~ N vLгw • N .

Таким образом, параллелизм операций в рамках одной инструкции типа УЫШ оказывается значительно более затратным с точки зрения аппаратной организации рекон-фигурируемого вычислительного тракта, чем конвейеризация.

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

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

Рис.4. Структурная схема вычислительного тракта Б8Р-ядер ELcore-09, БЬсоге-30, БЬсоге-30М

Литература

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

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

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

Статья поступила 24 ноября 2010 г.

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

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