8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 19 20 21 22 23 24 25 ... 78

связи между данными. Более точно, рекурсии БПФ могут быть записаны как (с использованием вычислительной схемы "с замещением" [2])

x(m+1)(p) = х(т\р) + WNx<m\q),

x<m+1\q) = xlm\p) - Kx(m\q),

где p,q,r - параметры, изменяемые от стадии к стадии. Длина предполагаемой глобальной линии связи будет пропорциональна величине \р - q . На последней стадии достигается максимум длины, когда \р- q \ =N/2. (Например, для 1024-точечного БПФ эта максимальная величина равна 512.) Очевидно, алгоритм БПФ не может быть реализован в вычислителях со структурой локального типа, таких как систолические или волновые матрицы.

Более интересным примером является проектирование БИХ-фильтров. В общем случае БИХ-фильтр характеризуется следующей передаточной функцией:

n

H(z) =-•

i+ !>«*-

i= 1

Трансверсальный фильтр есть просто частный случай БИХ-фильтра, когда знаменатель в Я(г) равен 1. Соответствующий рекурсивный алгоритм часто записывают в виде разностного уравнения

yik) = V х(к - тЩт) + £ У(к ~~ т)а{т).(7Л)

т-1т~ 1

Эта форма представления включает в себя глобальную индексацию и, таким образом, ведет к реализации алгоритма глобального типа в канонической форме [3, 4], показанной на рис. 7.2,а. Тем не менее эта схема легко может быть преобразована в схему локального типа; следовательно, также может быть преобразован и алгоритм, представленный уравнением (7.1).

Видоизмененная схема показана на рис. 7.2,6. Для проверки того, что схема на рис. 7.2,а определяется той же самой передаточной функцией, что и схема на рис. 1.2,6, просто проверим передаточные функции у IN) fzyfj(.N) (z) и jv (АО (z)/£/(A0 (г ) .Очевидно, они не изменяются при модификации. По индукции, для i -N-l, N- 2, . . . , 1 можно показать неизменность передаточных функций Г (О (л) /(О (г), ц/0°) (z)/l70) (2), что и завершает доказательство. Следует отметить, что при видоизмененной прямой форме всегда имеются устройства задержки между сумматорами и поэтому требуются только локальные связи.

7.3.2. Систолическая матрица для ЬИХ-фильтрапии

Покажем, что видоизмененная форма представления в действительности эквивалентна схеме систолической матрицы (рис. 7.3,с), за исключением масштаба времени. Так как задержка в половину единицы времени (г"1/2) не является общепринятой, дальнейшим шагом (рис. 7.3,е) является Изменение масштаба времени введением

» • • Xj «2Tg xf *£q

4*

1 V>

н-0

a)

... х3хгх, xe* -+>jHZD

<?УоУг№з""*-"ft

Рис. 7.2. Прямая форма проектирования БИХ-фильтра, требующая глобальных связей (о), и видоизмененная прямая <Ьорма с локальными связями (б)

переменной z по формуле z~42=z*~1. При этом элемент задержки г", умножитель и сумматор в каждой секции, ограниченной штриховыми линиями на рис. 1.2,6, образуют ПЭ "скалярного произведения" [5] (рис. 7.3,б). Полная схема систолической матрицы, реализующей БИХ-фильтр, показана на рис. 7.3,е. Заметим, что из-за изменения масштаба времени входные данные {хЛ должны чередоваться с "пустыми" тактами (см. рис. 7.3,в), а скорость обработки становится равной 0,5 Т~1,

Имея теперь локализованную матрицу, можно, в свою очередь, вывести локальную версию алгоритма (7.1). Обозначая верхним индексом временную переменную, а нижним индексом - пространственную, соответствующие движения данных в указанной систолической структуре можно представить следующими рекуррентными выражениями локального типа [при а (0) -Ь (0) -0] :

п

„Лч i - к /..1 .1. vk

(7.2 а) (7.2 6) (7.2в)

и+1 я

справедливыми для всех и, кроме и =0, когда

AT*+1 =

(7.2 г) 137


а)

X хМ=х*

Г z"*=z*+ax*

"---

хн

/7-

* * - ~ш.

Ц2 Ь->

YN

2

О

в)

Рис. 7.3. Изменение единицы времени z42=?~i , ч

систолический матричный процессор для BHX-bTpaVeT"0"11460""3 № "

Начальные условия имеют вид

z°=o, г°=о.

Граничными являются условия

ZN+1 =0- ул<+1 =0-Входная последовательность записывается как

Х2*-1=х(к),(7.3 а)

выходная последовательность

yf=y(k).(7.3 6)

Интересно, что корректность систолической матрицы может быть легко установлена путем выполнения z-преобразования выражений (7.2) и (7.3) и некоторых тривиальных алгебраических преобразований.

Заметим, что скорость обработки указанного систолического процессора равна 0,5т""1 (т.е. результат на выходе появляется только в один из каждых двух временных тактов). Эта скорость меньше той, которая получается при прямой форме реали-138

зации (1,0 У"1), поскольку только на передачу данных (А-»А ) требуется затратить один полный такт времени - столько же, сколько на операции умножения и сложения, что является ненужным расточительством. Имеется два способа решения этой проблемы. Первый состоит в использовании многоскоростной систолической матрицы, а второй - в использовании волновой матрицы, основанной на асинхронном, управляемом данными вычислении.

7.3.3.Многоскоростная систолическая матрица

Многоскоростная систолическая матрица представляет собой обобщенную систолическую матрицу, в которой различные потоки данных могут передаваться через матрицу с различной скоростью, что позволяет выполнять различные основные операции за различное время. Если в примере с БИХ-фильтром принять Д за единицу времени при передаче данных, а Т - при умножении-сложении, то при z -преобразовании появятся две различные переменные Zj"1 и zj1, соответствующие задержкам Д и Т в схеме, приведенной на рис. 7.2,в, z~1/2 в прямых цепях (для X) заменится на z\~x, в цепях обратной связи (для Y и Z) - на zj1. Такое изменение приводит к многоскоростной систолической матрице, показанной на рис. 7.3,а, б. В этой схеме данные X движутся ритмично со скоростью 1/Д, а данные Y и Z - со скоростью 1 /7". Поскольку передаточной функцией процессорной матрицы будет ll(z " ), где z" =z1*1 +z J1, то входные {а0, Х\, х2 , •} и выходные {У о, У и У г ,} последовательности движутся со скоростью 1/(7"+Д).

В соответствии с теорией реализации многоскоростных систем [18] одной и той же передаточной функции H(z" ) соответствует множество структур многоскоростных матриц. Это обстоятельство стоит подчеркнуть в связи с тем, что одни структуры могут быть в цифровом исполнении лучше других [18].

Многоскоростная систолическая матрица на самом деле представляет собой не что иное, как синхронизированную версию волновой матрицы (см. подразд. 7.3.4). Такая матрица может применяться при совмещенной порязрядной и пословной систолической или волновой обработке. Хорошим примером этого служит (синхронная) волновая матрица, реализующая алгоритм CORDIC для QR-разложения [12], где в квадратной процессорной матрице вертикальным волновым фронтом распространяются слова (многоразрядные), в то время как по горизонтали распространяются отдельные разряды. (В этом случае распространяемые по горизонтали разряды управляют углами поворота в алгоритме CORDIC [19].)

7.3.4.Волновая матрица БИХ-фильтра

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


6)

l27ZZ:VT ~Управляемая данными

на время становится излишней. Непосредственным преимуществом этой модели является то, что передача данных (Х-*Х) занимает время, незначительное по сравнению с временем, необходимым для арифметической обработки. Точнее, достигаемая пропускная способноть при волновой обработке приблизительно равна 1,0Г"1 (т.е. в два раза выше, чем в чисто систолической матрице, предоставленной на рис. 7.3).

Теперь мы имеем другой способ представления рекурсии. Для этого верхний индекс А (в круглых скобках) будем интерпретировать как номер волнового фронта (или номер рекурсии), так как индекс времени больше не нужен. Новое представление (7.1), имеет вид (в предположении, что в(0) =/; (0) =0)

у<*> = *<*>ад + Y»+1»f(7.4а)

Z№> = Ха(п) + Zif+V,(7.4 б)

Х(к) = Х(к) + Zf.(7.4 в)

Согласно (7.4в)инициируется в ведущем ПЭ (н = 0) и распрост-

раняется вправо по процессорной матрице, активизируя операции (7.4 а) 140

(7.4 6) во всех управляемых данными ПЭ. Как показано на рис. 7.4, обновленные данные {Y{k)+l, Zjf] ,} подаются в обратном направлении для следующей рекурсии (или для следующего волнового фронта).

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

BEGIN

FETCH

X,

RIGHT;

FLOW

X,

LEFT;

MUL

X,

b. D;

MUL

X,

a. E;

FETCH

Y.

RIGHT;

ADD

Э,

Y, Y;

FETCH

z.

RIGHT;

ADD,

E

Z, Z;

FLOW

Y,

LEFT;

FLOW

Z.

LEFT;

END

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

7.4. ВОЛНОВАЯ МАТРИЧНАЯ ОБРАБОТКА

С точки зрения нисходящего проектирования следует учитывать тот факт, что громадное большинство алгоритмов обработки сигналов обладает упомянутыми свойствами рекурсивности и локальности. В самом деле, большая часть вычислительных потребностей для обработки сигналов и прикладных математических проблем может быть сведена к основным матричным операциям и другим родственным алгоритмам [10, 11]. Свойственный этим алгоритмам параллелизм требует намного большей производительности параллельных вычислений, чем та, которую способна обеспечить одномерная матрица. Первым важным архитектурным достижением в этой области являются двумерные систолические структуры для матричного умножения, обращения матриц и т.п. (полный обзор читатель найдет в [6]).

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



0 ... 19 20 21 22 23 24 25 ... 78