Устройство для вычисления свертки
Иллюстрации
Показать всеРеферат
Изобретение относится к цифровой вычислительной технике и может быть использовано автономно или в составе ЭВМ в качестве вычислителя свертки. Цель изобретения - снижение аппаратурных затрат. Результат вычислений образуется через N циклов суммирования операндов, хранящихся в N-разрядных регистрах и подаваемых на информационные входы сумматоров, на управляющие входы которых подаются значения разрядов вторых сомножителей. Особенностью работы устройства является параллельно-поточная организация вычислений. 1 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК юу 4 G 06 F 15/347
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) .4450013/24-24 (22) 30.05,88 (46) 30. 12.89. Be . 48 (71) Институт проблем моделирования
s энергетике АН УССР (72) Г.Е.Пухов, А.И.Стасюк, В.С.Иазурчук, Г.С.Григорян и В.В.Болкисева (53) 681.385 (088.8) (56) Kung Н.T., Ruane L.ll., Yen I M.L.
А tvo level pipelined systolic array
for convolutions. Proc. Conf. on
VLSI syst and comput oct 1981.
Springer — Uerlag, 1981, р.255-264, fig ° 4.
Авторское свидетельство СССР
И 1401477, кл. G 06 F 15/347, 1986.
Изобретение относится к цифровым вычислительным машинам и может быть использовано в самых различных областях народного хозяйства, где имеется потребность в специализированных вычислителях на основе "тейлоровских" (Т) преобразователей.
Цель изобретения - снижение аппаратурных затрат .
На чертеже представлена схема устройства для вычисления свертки.
Устройство содержит правую треугольную матрицу вычислительных модулей - 1 (i,j), i,j=1,k+1, i+j =
=k+2,2k+2 (k+1 — размерность выходного вектора), выполненных в виде управляемых сумматоров, первую - 2 (i) и вторую -,3 (i) группы регистров, первую 4 (j) и вторую - 5 (j) группы информационных входов, первый - 6 и
„„80„„1532947 А1
2 (54) УСТРОЙСТВО ДЛЯ ВЦ4ИСЛЕНИЯ СВЕРТКИ (57) Изобретение относится к цифровой вычислительной технике и может быть использовано автономно или в составе ЭВИ в качестве вычислителя свертки. Цель изобретения - снижение . аппаратурных затрат. Результат вычислений образуется через и циклов суммирования операндов, хранящихся в и-разрядных регистрах и подаваемых на информационные входы сумматоров, на управляющие входы которых подаются значения разрядов вторых сомножителей. Особенностью работы устройства является параллельно-поточная организация вычислений. ил.
\ ЮЮ второй - 7 управляющие входы, группу выходов - 8 (i).
Управляемые сумматоры и регистры второй группы выполнены п-разрядными, фф регистры первой группы - 2п-разрядны- р ми (и - разрядность элементов входного вектора). 4ь
2п-разрядные регистры 2 предназначены для накопления промежуточных результатов вычислений и формирования в нем после и циклов окончательного результата умножения. и-разрядные регистры 3 предназначены для хранения старших и разрядов соответствующих 2п-разрядных регистров 2, которые являются значениями первых слагаемых управляемых и-разрядных сумматоров 1 диагонали треугольной матрицы управляемых и-разрядных сумматоров 1.
1532947
М
Z(k) =ZX(k-1) Y(1)
1=0
Y(0) Z(0) C 1 ) Е (,1 )
Y (2 ) = Z (2 ) (3) Y(k} Z(k) Матрица X(lj =
x(o)
Х(1) Х(0) е ° ° ° е ° е ее
X(k) Х(1 -1),...,Õ(1) Х(0) z(1) = () Обозначим Y(11=
Z (О)
Z(1) Y(0)
Y(1) Z (k) Y(k) е е ° е ° ° ° ° ° ° е ° ° е ° ° ° °
Управляемые и-разрядные сумматоры
1 предназначены для сложения двух
-разрядных слагаемых.
Операции свертки соответствует выражение
Х(О)
Х(1) Х(0)
Х(г) Х(1) Х(О)
Ф
° ° е e ° ° е ° ° e ° е е
X(k) XCk-1),...,X(1) X(0) 1 редставляет собой сокращенную леночную матрицу, столбцами которой являются векторы X(lj =Х(0) Х(1) Х(2), ...,X(k),ãäå 1=0,k, причем k-й столбец сдвинут на один элемент вниз 25 относительно k-1 -го столбца.
Сформируем вектор бинарных элементов из m-ых компонент элементов вектора Y(1), Y„=Y(0) У(1) 2 (2),. е ., Y(k), (4) где н=й1, а и-разрядность элемен- 35 тов вектора Y lj.
Тогда значения элементов вектора
Zf1j можно определить следующим об, разом:
5 40
Z (13 -2 Х.(1) 7„
К(1)=2 " ".ХЯ <„„+Z(1) (5) 7.(1)й2 Х (lj Y, +4 (11
Рассмотрим численный пример, когда
1с=О 3.
Элементы вектора Y(lj представим в двоичной форме с четырьмя разрядами .(п4) после запятой, а элементы век50 .тора Х (1) представим в десятичной
Форме.
Пусть X(0)=0.3 7(0)=0.1011
Х(1)0.2 7(1)=0.0101
Х(2)=0.7 Y(2) =0.11131
X(3) 0,6 Y(3)=0.1001
Согласно выражению (5) на первом шаге подучим или при k=o Z(0)=X(0)Y(0)
k=1 Z(1) =Х(1) Y(0)+Х(0) Y(1)
k=2 2(2) =Х(2) Y(0)+X(1) Y(1)+X(0) Y(2) (2)
° e ° ° e ° ° е ° ° е ° ° ° е ° ° ° ° ° e е ° 4
Z(k) =X(k) Y(0)+X(k-1) Y(1)+... +
+X(O)Y(k)
Выражение (2) можно представить в виде произведения
4.
ДлЯ k=O Z(0)=X(0)Y(0)=2 1.0 3=0,018;
4 . Ф
ДлЯ k=1 Z(1)=X(1)Y(0)+X(0)Y(1)
=2 (о,2 1+о,3 1)=о,о3, ((. для k=2 Z(2)=Х(2)Y(O)+X(1}Y(1) +
+xCo)Y(2}=0,О75;
4 Ф длЯ k=3 Z(3)=Х(3;.Т(0)+X(2)Y(1) +
+X(1) Y(2)+X(0) Y(3)-О, 11, Определим значения для k=O Z(O)=Z(0)+X(O)Y(O)=0,018+
+2 3 1 0,3=0,05625;
АпА k=1 X (l ) =#1) + tX(1) Y(O) +X(O) Y (1)) =
0,0925;
1 з з
ДлЯ k=2 Z (2) =Z (2)+ gx (2) Y (0)+X() ) Y (1)+
+x(o}Y(2)) =0,1625)1
2 ъ ф
ДлЯ 1с=З Е(3) =Z(3)+ iх(3) Y(0)+X(2)Y(1)+
3 з
+x(1) Y(2)+x(o) Y(3)) =о,1875.
Аналогичным образом определим значения
2 2 для k=0 Z(O)=Z(0)+X(0)Y(0)=0,05625;
2 2 2 для 1=1 ZP)=z(1)+X(1)Y(0)+X(0)Y(1)=
=О, 1675;
2 2 для k=2 Z(2) =Z(2)+X(2) Y(0)+X(1) Y(1)+
+X(0) Y(2) =О, 2875;
3 и для k=3 Z(3) =Е(3)+Х(3) У(0)+Х(2) Ф(1)+
+X(t) Y(2)+X(0} Y(3) =0,4125.
После последнего шага получим конечные значения элементов вектора
Z (11 для k=o Z(0} =Z(0)+X(0) Y(0) 0,20625;
5 15 для k=1 Z (1)=:7.(1)+X(l)7{0)+
+X(0)Y(1)= 0,2675; з Ф 4 для k=2 Z(2> =Z(2)+X (2) 7(0)+X(1) 7(1) (4
+X(0) Y(2)i=0, 7875; з (. а для 1<=3 Е(3)=2(3)+Х(3)7(0)+Х(2)7(1)+
Ф 4.
+X(f) Y(2)+X(0>Y(3> =0,9625.
Устройство работает следующим образом.
На входы первой группы информационных входов 4(1), 4(2), 4(3), 4(4) подаются значения переменных Х(0), Х(1), Х(2), Х(3) соответственно.
На входы второй группы информационных входов 5(1), 5(2), 5(3) 5(4) подаются значения младших разрядов (. (. Ф 4
Y(0}, Y(1), Y(2), Y(3) переменных
Y{0), 7{1), Y(2}, Y(3) соответственно. С подачей сигнала на второй управляющий вход 7 и в 2п»разрядных регистрах 2 образуются значения
Z(0) = 2 X(0)Y(0);
Z (1) =2 jX(1) Y (0) +X(0) 7 (1)j;
Z(2) =2 (Х(2) 7(0)+Х(1) 7(1)+
+Х(0) 7(2 )1;
Z(3) =2 (X(3) Y(0)+X{2) Y(1) + ф 4
+Х (1) 7 (2 ) +Х(0) 7 (3)j соответственно. Носле подачи сигнала на первый управляющий вход 6, старшие
4 разряда содержимого 2п-разрядных регистров 2 записываются в соответствующие и-разрядные регистры 3.
В начале второго цикла на входы второй группы информационных входов
5(1), 5(2), 5(3), 5(4) поступают эна3 3 чения следующих разрядов 7(p) 7(1), 3 з
Y(2 ), 7(3) переменных Y (О), Y(1), 7(2), Y(3) соответственно. С подачей сигнала нв второй управляющий вход 7в 2п-разрядных регистрах 2 образуются значения
2 (3 . Z(0) =Z(0)+2- *Х(0) 7(О};
Z(1) =Z(1)+2 3 1Х(1) Y(0)+X(0) Y(1)); г (t) 3 3
Z(2) =Z(2)+2- з (X(2 ) 7(o}+Х(1) 7(1)+ з
+Х(0) Y(2 )1
32947
6 г з
Е(3) =Е (3)+2 s (Х(3) Y(0)+Х(2 ) Y(1)+
+X (l ) Y (2 )+X(0) Y (3 )) соответственно. После подачи сигнала на первый управляющий вход 6 старшие
4 разряда содержимого 2п-разрядных регистров 2 записываются в соответствующие и-разрядные регистры 3.
10 Через четыре цикла на выходах
8(1), 8(2), 8(3), 8(4) образуются результаты вычислений Z(0) Z(1), Z(2 ), Z(3) соответственно. !
15 Формула и зобретения
Устройство для вычисления свертки, содержащее матрицу (i j}, i j=1 k+1, (k+1 - размерность выходного вектора) вычислительных модулей, причем выход (1,m)-го вычислительного модуля соединен с первым информационным входом (1, и(+1)-го вычислительного модуля, 1=2Дс+Г m=1,k, о т л и ч а ющ е е с я тем, что, с целью снижения аппаратурных затрат, матрица вычислительных модулей выполнена треугольной. (i+j=k+2, 2k+2), каждый вычислительный модуль выполнен в виде управляемого сумматора и в устройство дополнительно введены первая и вторая группы регистров, причем информационный вход i-ro регистра первой группы соединен с выходом (i,k+1)-го вычислительного модуля, а управляющие входы всех регистров первой группы соединены с первым управляющим входом устройства, выход i-го регистра первой группы является i-м выходом группы выходов устройства, выход i»»ro регистра второй группы соединен с первым информационным входом (i,1)-го вычислительного модуля, а информационный вход i-ro регистра второй груп" пы соединен с i-м выходом устройства, управляющие входы всех регистров второй группы соединены с вторым управляющим входом устройства, второй информационный вход (i, j)-ro вычисли5р тельного модуля соединен с 1-м входом первой группы информационных входов. устройства, а управляющий вход (i,j)ro вычислительного модуля соединен с и-и входом второй группы информационных входов устройства (n=i+ j-k-1).
1532947
$(() S(2) $(J) 1(4)
4Щ 4Щ 4ф
Составитель К Кухаренко редактор И.Недолуженко Техред И.Ходанич Корректор Т.Палий факаэ 810)/ 4 Тираж 668 Подписное фЯКИПЯ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101