устройство для умножения трех матриц

Классы МПК:
Автор(ы):, , ,
Патентообладатель(и):Якуш Виктор Павлович
Приоритеты:
подача заявки:
1990-12-04
публикация патента:

Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов. Цель изобретения - сокращение объема оборудования устройства. Цель достигается тем, что устройство содержит вычислительных модулей (m-фиксированное число 2устройство для умножения трех матриц, патент № 2024933 mустройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 ), причем основу оборудования каждого вычислительного модуля составляют умножитель и сумматор. В основу работы устройства положена параллельно-поточная организация вычислений. 4 ил., 2 табл.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10

Формула изобретения

УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ТРЕХ МАТРИЦ, каждая размерностью 1 устройство для умножения трех матриц, патент № 2024933P, P устройство для умножения трех матриц, патент № 2024933 Q, Q устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 соответственно, содержащее m(2 устройство для умножения трех матриц, патент № 2024933 m устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933) вычислительных модулей, причем первый информационный вход устройства подключен к первому информационному входу первого вычислительного модуля, первый и второй информационные выходы и настроечный выход i-го вычислительного модуля (i = устройство для умножения трех матриц, патент № 2024933) подключены соответственно к первому и второму информационным входам и настроечному входу (i+1)-го вычислительного модуля, первый информационный выход m-го вычислительного модуля является выходом устройства, синхровход которого подключен к синхровходам всех вычислительных модулей, отличающееся тем, что, с целью сокращения объема оборудования, в него введены две группы элементов ИЛИ, [P(Q+I)-2m] параллельных n-разрядных регистров и [P(Q+I)-2m] параллельных трехразрядных регистров (n - разрядность чисел), причем второй информационный вход устройства подключен к первым входам элементов ИЛИ первой группы, выходы которых подключены к второму информационному входу первого вычислительного модуля, второй информационный выход m-го вычислительного модуля подключен к информационному входу первого параллельного n-разрядного регистра, выход j-го параллельного n-разрядного регистра (j = 1устройство для умножения трех матриц, патент № 2024933 подключен к информационному входу (j+1)-го параллельного n-разрядного регистра, выходы разрядов [P(Q+I)-2m]-го параллельного n-рязрядного регистра подключены к вторым входам элементов ИЛИ первой группы, настроечный вход устройства подключен к первым входам элементов ИЛИ второй группы, выходы которых подключены к настроечному входу первого вычислительного модуля, настроечный выход m-го вычислительного модуля подключен к информационному входу первого параллельного трехразрядного регистра, выход j-го параллельного трехразрядного регистра подключен к информационному входу (j+1)-го параллельного трехразрядного регистра, выход [P(Q+I)-2m]-го параллельного трехразрядного регистра подключен к вторым входам элементов ИЛИ второй группы, синхровход устройства подключен к синхровходам всех регистров, причем каждый вычислительный модуль обладает возможностью реализации функций

u j+2 = устройство для умножения трех матриц, патент № 2024933 j ;

v j+2 = устройство для умножения трех матриц, патент № 2024933 j ;

w j+2 = устройство для умножения трех матриц, патент № 2024933 j ;

Aj+1 = устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933

cj = устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933

dj-1 = устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933

fj-2 = устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933

ej-1 = устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933

B j+2 = b j ;

устройство для умножения трех матриц, патент № 20249331j+1 = устройство для умножения трех матриц, патент № 20249331j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (0, 1, 1);

устройство для умножения трех матриц, патент № 20249332j+1 = устройство для умножения трех матриц, патент № 20249332j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (0, 0, 1);

устройство для умножения трех матриц, патент № 20249333j+1 = устройство для умножения трех матриц, патент № 20249333j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (0, 1, 0);

устройство для умножения трех матриц, патент № 20249334j+1 = устройство для умножения трех матриц, патент № 20249334j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (0, 0, 0);

устройство для умножения трех матриц, патент № 20249335j+1 = устройство для умножения трех матриц, патент № 20249335j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (1, 0, 1);

устройство для умножения трех матриц, патент № 20249336j+1 = устройство для умножения трех матриц, патент № 20249336j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (1, 0, 0);

устройство для умножения трех матриц, патент № 20249337j+1 = устройство для умножения трех матриц, патент № 20249337j = (устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j, устройство для умножения трех матриц, патент № 2024933j) = (1, 1, 0),

где устройство для умножения трех матриц, патент № 2024933 j, устройство для умножения трех матриц, патент № 2024933 j, устройство для умножения трех матриц, патент № 2024933 j - значения соответственно на первом, втором и третьем разрядах настроечного входа вычислительного модуля на j-м такте;

uj, vj, wj - значения соответственно на первом, втором и третьем разрядах настроечного выхода вычислительного модуля на j-м такте;

aj, bj - значения соответственно на первом и втором информационных входах вычислительного модуля на j-м такте;

Aj, Bj - значения соответственно на первом и втором информационных выходах вычислительного модуля на j-м такте.

Описание изобретения к патенту

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

Известно устройство для перемножения трех матриц FIxP x CPxQ x DQxJ, содержащее Р вычислительных модулей первого типа и Р вычислительных модулей второго типа, причем каждый вычислительный модуль первого типа содержит три регистра, два триггера, умножитель, сумматор, две группы элементов И, две группы элементов ИЛИ, элемент И и узел задержки, а каждый вычислительный модуль второго типа содержит три регистра, два триггера, умножитель, сумматор, шесть групп элементов И, три группы элементов ИЛИ и узел задержки.

Недостатком этого устройства является большой объем оборудования.

К наиболее близким по технической сущности к предлагаемому изобретению относится устройство для перемножения трех матриц FIxP x CPxQ x DQxJ, содержащее I + J + P + Q - 2 вычислительных модулей, причем каждый вычислительный модуль содержит четыре регистра, два узла задержки, три триггера, умножитель, сумматор, восемь групп элементов И, четыре группы элементов ИЛИ, два элемента И и два элемента НЕ.

Недостатком такого устройства является большой объем оборудования (содержит I + J + P + Q - 2 вычислительных модулей).

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

Цель достигается тем, что устройство для перемножения трех матриц AIxP, XPxQ, DQxJ, где I, J, P и Q - размерности матриц (фиг.1), содержит m(2устройство для умножения трех матриц, патент № 2024933 m устройство для умножения трех матриц, патент № 2024933 J) вычислительных модулей 5, P(Q+I)-2m параллельных n-разрядных регистров 6(n-разрядность чисел), P(Q + I) - 2m параллельных трехразрядных регистров 7, две группы элементов ИЛИ 8 и 9, причем первый информационный вход 1 устройства подключен к первому информационному входу вычислительного модуля 51, второй информационный вход 2 и настроечный вход 3 устройства подключены соответственно к первым входам групп элементов ИЛИ 8 и 9, выходы которых подключены соответственно ко второму информационному входу и настроечному входу вычислительного модуля 51, первый и второй информационные выходы, настроечный выход 5i-го вычислительного модуля (i = устройство для умножения трех матриц, патент № 2024933) подключены соответственно к первому и второму информационному входу, настроечному входу 5(i + 1)-го вычислительного модуля, первый информационный выход 5m-го вычислительного модуля является выходом 10 устройства, второй информационный выход 5m-го вычислительного модуля подключен к информационному входу параллельного n-разрядного регистра 61, выход 6i-го регистра (i = устройство для умножения трех матриц, патент № 2024933 ) подключен к информационному входу 6(i+ 1)-го регистра, выход 6(P(Q + I) - 2m-го регистра подключен ко второму входу группы элементов ИЛИ 8, настроечный выход 5m-го вычислительного модуля подключен к информационному входу трехразрядного параллельного регистра 71, выход 7i-го регистра (i = устройство для умножения трех матриц, патент № 2024933) подключен к информационному входу 7(i+1)-го регистра, выход 7(P(Q + I) - 2m)-го регистра подключен ко второму входу группы элементов ИЛИ 9, синхровход устройства подключен к синхровходам всех вычислительных модулей 5iрегистров 6i, 7i.

На фиг. 1 представлена структурная схема устройства для перемножения трех матриц; на фиг.2 - структурная схема устройства для I = 2, J = 4, P = 3, Q = 3 и m=2; на фиг.3 - схема вычислительного модуля 5; на фиг.4 - временная диаграмма работы вычислительного модуля в пределах одного такта.

Устройство для перемножения трех матриц (фиг.1) содержит первый 1 и второй 2 информационные входы, настроечный вход 3, синхровход 4, вычислительные модули 5i, n-разрядные параллельные регистры 6iтрехразрядные параллельные регистры 7i, группы элементов ИЛИ 8, 9 и выход 10.

Вычислительный модуль 5 (фиг.3) содержит первый 11 и второй 12 информационные входы, настроечный вход 13, регистры 14-18, умножитель 19, сумматор 20, триггеры 21-33, группы элементов И 34-46, группы элементов ИЛИ 47-51, элементы И 52-59, элементы НЕ 60-62, первый 63 и второй 64 информационные выходы, настроечный выход 65 и синхровход 66.

В основу работы устройства для перемножения матриц A = {aip} , X {xpq} , D = {dqj} i= устройство для умножения трех матриц, патент № 2024933, j = устройство для умножения трех матриц, патент № 2024933 , = устройство для умножения трех матриц, патент № 2024933, q = устройство для умножения трех матриц, патент № 2024933 положен следующий алгоритм

B= {bpj} = Xустройство для умножения трех матриц, патент № 2024933D, bpj=устройство для умножения трех матриц, патент № 2024933 xpqустройство для умножения трех матриц, патент № 2024933 dqj

Y= { yij} = Aустройство для умножения трех матриц, патент № 2024933B, yij=устройство для умножения трех матриц, патент № 2024933 aipустройство для умножения трех матриц, патент № 2024933 dpj который представляется рекуррентными соотношениями:

P = устройство для умножения трех матриц, патент № 2024933, j = устройство для умножения трех матриц, патент № 2024933, q = устройство для умножения трех матриц, патент № 2024933 :устройство для умножения трех матриц, патент № 2024933

b(p,j,0) = xpodoj, b(p,j,q) = b(p,j,q-1) + xpqустройство для умножения трех матриц, патент № 2024933 dqj ,

bpj= b(p,j,Q-1);

i = устройство для умножения трех матриц, патент № 2024933 , j = устройство для умножения трех матриц, патент № 2024933 , p = устройство для умножения трех матриц, патент № 2024933 :устройство для умножения трех матриц, патент № 2024933

y(i,j,0) = aioустройство для умножения трех матриц, патент № 2024933 boj, y(i,j,p) = y(i,j,p-1)+ aipустройство для умножения трех матриц, патент № 2024933bpj ,

yij = y(i,j, P-1).

Число m выбирается фиксированным, m = устройство для умножения трех матриц, патент № 2024933

Предполагается, что число Jm = J/m - целое. Если Jm не целое, то J выбирается таким, чтобы устройство для умножения трех матриц, патент № 2024933J/mустройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933, где устройство для умножения трех матриц, патент № 2024933 - ближайшее сверху целое. При этом матрица D дополняется нулевыми столбцами.

Вычислительный модуль 5 работает в семи режимах (фиг.3), которые задаются значениями управляющих сигналов устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 и устройство для умножения трех матриц, патент № 2024933 , подаваемыми соответственно на настроечные входы 131, 132 и 133.

Во всех режимах работы значение b, подаваемое на вход 12, выдается на выход 64 с задержкой на два такта. Управляющие сигналы устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 и устройство для умножения трех матриц, патент № 2024933 выдаются соответственно на выходы 651, 652 и 653 с задержкой на два такта. Информация, записанная в регистр 18i-й ((i = устройство для умножения трех матриц, патент № 2024933)устройство для умножения трех матриц, патент № 2024933), на очередном такте переписывается в 18i+1-й регистр. Управляющий сигнал устройство для умножения трех матриц, патент № 2024933itобеспечивает запись информации в регистр на t-м такте, а управляющий сигнал устройство для умножения трех матриц, патент № 2024933it - на (t + 1)-м такте.

В первом режиме работы подаются управляющие сигналы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 )= (0, 1, 1). При этом формируются сигналы устройство для умножения трех матриц, патент № 20249331 = 1 и устройство для умножения трех матриц, патент № 20249331 = 1. Сигнал устройство для умножения трех матриц, патент № 20249331открывает группу элементов И 40 и элемент 59. Элемент а, подаваемый на вход 11, через группы элементов И 40 и ИЛИ 49 подается на информационный вход регистра 17. Элемент записывается в регистр 17 по заднему фронту тактового импульса, проходящего через элемент И 59 на синхровход регистра 17. На первом такте сигнал устройство для умножения трех матриц, патент № 20249331 открывает группу элементов И 35, элемент а с выхода регистра 14 через группы элементов И 35 и ИЛИ 48 подается на первый вход умножителя 19, на его второй вход подается элемент b (с выхода регистра 15), на выходе умножителя 19 формируется значение аустройство для умножения трех матриц, патент № 2024933 b. Временная диаграмма работы в пределах одного такта приведена на фиг.4.

Во втором режиме работы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 ) = =(0,0,1) формируется сигнал устройство для умножения трех матриц, патент № 20249332= 1. Сигнал устройство для умножения трех матриц, патент № 20249332 открывает группы элементов И 34 и 38. Значение а с выхода регистра 14 через группы элементов И 34 и ИЛИ 47 подается на выход 63. Содержимое регистра 17 через группы элементов И 38 и ИЛИ 48 подается на первый вход умножителя 19, на второй вход которого подается значение b с выхода регистра 15. На выходе умножителя 19 формируется значение <Рег.17> х b.

В третьем режиме работы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 ) = =(0,1,0). Формируются сигналы устройство для умножения трех матриц, патент № 20249333 = 1 и устройство для умножения трех матриц, патент № 20249333= =1. По сигналу устройство для умножения трех матриц, патент № 20249333 в регистр 17 записывается элемент а. Сигнал устройство для умножения трех матриц, патент № 20249333 открывает группы элементов И 35 и 46. На выходе умножителя 19 формируется значение а. b, на выходе сумматора 20 - значение <Рег.18р >+ a .b.

В четвертом режиме работы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 ) = =(0,0,0). Формируется сигнал устройство для умножения трех матриц, патент № 20249334 = 1. Сигнал устройство для умножения трех матриц, патент № 20249334 открывает группы элементов И 34, 38 и 46. Значение а с выхода регистра 14 через группы элементов И 34 и ИЛИ 47 подается на выход 63. На выходе умножителя 19 формируется значение <Рег.17> x b, на выходе сумматора 20 - значение <Рег.8р> + <Рег.17 > .b.

В пятом режиме работы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 ) = =(1,0,1). Формируются сигналы устройство для умножения трех матриц, патент № 20249335 = 1 и устройство для умножения трех матриц, патент № 20249335 = =1. Сигнал устройство для умножения трех матриц, патент № 20249335 открывает группу элементов И 45. Содержимое регистра 18р через группы элементов И 45 и ИЛИ 50 записывается в регистр 181. Сигнал устройство для умножения трех матриц, патент № 20249335 открывает группы элементов И 34, 41 и элемент И 59. Значение а с выхода регистра 14 подается на выход 63. На выходе умножителя 19 формируется значение <18>. b, которое подается через группу элементов И 41 и ИЛИ 49 на информационный вход регистра 17 для записи на следующем такте.

В шестом режиме работы (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933) = =(1,0,0). Формируются сигналы устройство для умножения трех матриц, патент № 20249336 = 1 и устройство для умножения трех матриц, патент № 20249336 =1. Сигнал устройство для умножения трех матриц, патент № 20249336 открывает группу элементов И 45. В регистр 181 записывается содержимое регистра 18р. Сигнал устройство для умножения трех матриц, патент № 20249336 открывает группы элементов И 34, 37, 39, 44 и элемент И 59. На выход 63 подается значение а. На выходе сумматора 20 формируется значение< Рег.17 >+ <Рег.18> . b, которое через группы элементов И 39 и ИЛИ 49 подается на информационный вход регистра 17 для записи на следующем такте.

В седьмом режиме (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933) = (1,1,0). Формируются сигналы устройство для умножения трех матриц, патент № 20249337=1 и устройство для умножения трех матриц, патент № 20249337 = 1. Сигнал устройство для умножения трех матриц, патент № 20249337 открывает группу элементов И 45 и в регистр 181 записывается содержимое регистра 18р. Сигнал устройство для умножения трех матриц, патент № 20249337 открывает группы элементов И 36, 37, 39, 44 и элемент И 59. Содержимое регистра 17 через группы элементов И 36 и ИЛИ 47 подается на выход 63. На выходе сумматора 20 формируется значение <Рег. 17 >+ <Рег.18> . b, которое подается через группы элементов И 39 и ИЛИ 49 на информационный вход регистра 17 для записи на следующем такте.

Рассмотрим работу устройства (фиг.1)

Управляющие сигналы устройство для умножения трех матриц, патент № 2024933ig = (устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 , устройство для умножения трех матриц, патент № 2024933 ) , i = устройство для умножения трех матриц, патент № 2024933, j= устройство для умножения трех матриц, патент № 2024933 представляются в виде матрицы

устройство для умножения трех матриц, патент № 2024933 устройство для умножения трех матриц, патент № 2024933 и подаются на вход 3 в моменты времени

tустройство для умножения трех матриц, патент № 2024933= i P +j.

На вход 1 подаются элементы dqj в моменты времени

tустройство для умножения трех матриц, патент № 2024933= (l-1) P (Q+I)+ устройство для умножения трех матриц, патент № 2024933 ++Pq, где j = устройство для умножения трех матриц, патент № 2024933 + (l-1)m, устройство для умножения трех матриц, патент № 2024933 = устройство для умножения трех матриц, патент № 2024933, l = устройство для умножения трех матриц, патент № 2024933 .

На вход 2 подаются элементы xpq, aip в моменты времени

tустройство для умножения трех матриц, патент № 2024933= p + Pq , tустройство для умножения трех матриц, патент № 2024933= p+ P(Q+I-i-1).

На выходе 10 формируются элементы yi , устройство для умножения трех матриц, патент № 2024933 + (l -1 ) m в моменты времени t = yi,p+(l-1)m = =lP(Q + I) + m + устройство для умножения трех матриц, патент № 2024933 - P. i - 2.

На фиг. 2 приведена структура устройства с входным и выходным потоками данных для I = 2, J = 4, P = 3, Q = 3 и m = 2. Значения на входах и выходах состояния регистров вычислительных модулей 51 (табл. 1) и 52 (табл.2), состояния регистров 7 и 8 приведены в таблице, которая является временной диаграммой работы устройства.

Таким образом, предлагаемое устройство содержит меньший объем оборудования по сравнению с прототипом, т.е. предлагаемое устройство содержит m вычислительных модулей, а прототип - J вычислительных модулей (m устройство для умножения трех матриц, патент № 2024933J).

Наверх