RU1790786C - Device for matrix multiplication - Google Patents

Device for matrix multiplication

Info

Publication number
RU1790786C
RU1790786C SU904880893A SU4880893A RU1790786C RU 1790786 C RU1790786 C RU 1790786C SU 904880893 A SU904880893 A SU 904880893A SU 4880893 A SU4880893 A SU 4880893A RU 1790786 C RU1790786 C RU 1790786C
Authority
RU
Russia
Prior art keywords
input
output
register
information
module
Prior art date
Application number
SU904880893A
Other languages
Russian (ru)
Inventor
Роман Выжиковски
Юрий Станиславович Каневский
Мария Константиновна Клименко
Сергей Григорьевич Овраменко
Original Assignee
Киевский политехнический институт
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Киевский политехнический институт filed Critical Киевский политехнический институт
Priority to SU904880893A priority Critical patent/RU1790786C/en
Application granted granted Critical
Publication of RU1790786C publication Critical patent/RU1790786C/en

Links

Abstract

Устройство дл  умножени  матриц относитс  к автоматике и вычислительной технике и может быть использовано при построении специализированных, в том числе и систолических устройств, предназначенных дл  выполнени  операций над матрицами. Целью изобретени   вл етс  повышение быстродействи . Новым в устройстве дл  умножени  матриц, содержащем пхп вычислительных модулей первого 1 типа и блок 3 управлени ,  вл етс  введение вычислительных модулей 2 второго типа и два коммутатора 4, 5, которое позвол ет организовать непрерывную обработку трех матриц, за счет чего быстродействие повышаетс  в 2 раза. 2 з.п. ф-лы, 4 ил.The device for matrix multiplication relates to automation and computer engineering and can be used in the construction of specialized, including systolic, devices designed to perform operations on matrices. An object of the invention is to increase speed. New in the device for matrix multiplication, containing the PCP of the computing modules of the first type 1 and the control unit 3, is the introduction of computing modules 2 of the second type and two switches 4, 5, which allows the organization of continuous processing of three matrices, due to which the speed increases by 2 times. 2 s.p. f-ly, 4 ill.

Description

Изобретение относитс  к автоматике и вычислительной технике и может быть использовано при построении специализированных , в том числе и систолических устройств, предназначенных дл  выполнени  операций над матрицами.The invention relates to automation and computer technology and can be used in the construction of specialized, including systolic, devices designed to perform operations on matrices.

Целью изобретени   вл етс  повышение быстродействи  устройства.The aim of the invention is to increase the speed of the device.

На фиг. 1 представлена структурна  схема устройства дл  умножени  матриц; на фиг, 2 - структурна  схема вычислительного модул  первого типа; на фиг. 3 - структурна  схема вычислительного модул  второго типа; на фиг. 4 - структурна  схема блока управлени , вариант,In FIG. 1 is a block diagram of a device for matrix multiplication; on Fig, 2 is a structural diagram of a computing module of the first type; in FIG. 3 is a structural diagram of a computing module of the second type; in FIG. 4 is a block diagram of a control unit, an embodiment,

Устройство дл  умножени  матриц (фиг. 1) содержит пхп вычислительных модулей 1 первого типа, пхп вычислительных модулей 2 второго типа, блок 3 управлени , коммутаторы первой 4 и второй 5 групп.The device for multiplying the matrices (Fig. 1) comprises PCP computing modules 1 of the first type, PCP computing modules 2 of the second type, a control unit 3, switches of the first 4 and second 5 groups.

Вычислительный модуль первого типа (фиг. 2) содержит первый регистры 6, 7, умножитель 8, сумматор 9, регистр 10, триггер 11.The computing module of the first type (Fig. 2) contains the first registers 6, 7, a multiplier 8, an adder 9, a register 10, a trigger 11.

Вычислительный модуль второго типа (фиг. 3) содержит первый регистр 12, сумматор 13, умножитель 14, регистры 15, 16.The computing module of the second type (Fig. 3) contains the first register 12, adder 13, multiplier 14, registers 15, 16.

Блок 3 управлени  (фиг, 4) содержит элемент ИЛИ 17, счетчик 1.8, дешифратор 19, элемент НЕ 20, регистры 21.The control unit 3 (Fig. 4) contains an OR element 17, a counter 1.8, a decoder 19, an element NOT 20, registers 21.

Устройство предназначено дл  умножени  матриц АхВхС F, где А, В и С-матрицы размерности NxN, и может быть реализовано на следующих формулах:The device is designed to multiply the matrices AxBxC F, where A, B and C-matrices of dimension NxN, and can be implemented on the following formulas:

dij 2, aikbkj;dij 2, aikbkj;

k 1k 1

fis Ј dijCjsfis Ј dijCjs

где aik, bkj, CjS - элементы матриц А, В и С; dij - элементы промежуточной матрицы; fis элементы конечной матрицы F, Рассмотрим работу устройства. Дл  простоты описани  и без потери общности положим N 3. Условимс , что прием информации во все регистры осуществл етс  по переднему фронту синхроимпульса, то есть в начале такте. Считаем, что перед началом вычислений все регистры установлены в нулевое состо ние. Импульс пуска поступает на первый вход блока управлени  3 (вход запуска), через элемент ИЛИ 17 поступает на второй вход счетчика 18 (вход разрешени  записи всчетчик 18). Счетчик 18 работает в режиме вычитани . Дешифраторwhere aik, bkj, CjS are elements of the matrices A, B and C; dij are the elements of the intermediate matrix; fis elements of a finite matrix F, consider the operation of the device. For simplicity of description and without loss of generality, we set N 3. We agree that information is received in all registers along the leading edge of the clock pulse, i.e., at the beginning of the clock cycle. We assume that before the commencement of calculations, all registers are set to the zero state. The start pulse is supplied to the first input of the control unit 3 (start input), through the OR element 17 it is supplied to the second input of the counter 18 (recording enable input, the counter 18). Counter 18 operates in a subtraction mode. Decoder

19 дешифрирует состо ние нул . На первые входы вычислительных модулей первого типа первого столбца поступают элементы aik матрицы А по строкам, на вторые входы - элементы bkj матрицы В по столбцам. Элементы GJS матрицы С поступают на первые входы вычислительных модулей 2.1,1-2.п.1 по строкам19 decrypts the state of zero. The first inputs of the computing modules of the first type of the first column receive the elements aik of the matrix A in rows, the second inputs - the elements bkj of the matrix B in the columns. Elements of the GJS matrix C arrive at the first inputs of the computing modules 2.1,1-2.p.1 in rows

20twenty

Результирующа  матрица получена следующим образом;The resulting matrix is obtained as follows;

55

00

fn dnciifn dncii

f21 d22C21f21 d22C21

fai dsacsifai dsacsi

fl2 dnci2 f22 d22C22 f32 d33C32fl2 dnci2 f22 d22C22 f32 d33C32

fis dnci3fis dnci3

f23 d22C23f23 d22C23

f33 dsscssf33 dsscss

+ d21C21 + + d32C31 ++ d21C21 + + d32C31 +

+ di3cn ++ di3cn +

+ d21C22 + + d32C32 + + dl3C12 + + d21C23 + + d32C33 ++ d21C22 + + d32C32 + + dl3C12 + + d21C23 + + d32C33 +

+ di3Cis ++ di3Cis +

dsicsi; di2cn; d23C2i; d3iC32; di2ci2;dsicsi; di2cn; d23C2i; d3iC32; di2ci2;

d23C22Id23C22I

d3iC33;d3iC33;

dl2Cl3, d23C23.dl2Cl3, d23C23.

55

00

55

00

5 5

Нулевой такт. На первый и второй входы вычислительного модул  1.1.1 соответственно поступают элементы Ьц и an и записываютс  соответственно в регистры 6.1.1 и 7,1.1. На первый и второй входы вычислительного модул  1.2.1 соответственно поступают bi2 и 321 и записываютс  соответственно в регистры 6.2.1 и 7.2.1. На первый и второй входы вычислительного модул  1,3.1 соответственно поступают bis и аз1 и записываютс  соответственно в регистры 6.3.1 и 7.3.1.Zero beat. The first and second inputs of the computing module 1.1.1 respectively receive the elements bc and an and are recorded in registers 6.1.1 and 7.1.1, respectively. The first and second inputs of computing module 1.2.1 respectively receive bi2 and 321 and are recorded in registers 6.2.1 and 7.2.1, respectively. The first and second inputs of the computing module 1.3.1 respectively receive bis and az1 and are recorded in registers 6.3.1 and 7.3.1, respectively.

В первом такте с выходов регистров 6.1.1 и 7,1.1 элементы Ьц и an поступают на первый и второй выходы вычислительного модул  1.1.1 и на первый и второй входы умножител  8.1.1, с выхода которого произведение bnaii поступает в сумматор 9.1.1, где складываетс  с нулем и записываетс  в регистр 10.1.1. На входы вычислительного модул  1,1,1 поступают следующие элементы Ь21 и ai2 и записываютс  в регистры 6.1,1 и 7.1.1. На входы вычислительного модул  1.1.2 поступают элементы bi2 и 321 и запи- сывзютс  в регистры 6.1.2 и 7.1.2. На первый вход сумматора 9.2.1 вычислительного модул  1.2.1 поступает произведение 32ibi2, где складываетс  с нулем и записываетс  вIn the first cycle, from the outputs of the registers 6.1.1 and 7.1.1, the elements bc and an arrive at the first and second outputs of the computing module 1.1.1 and at the first and second inputs of the multiplier 8.1.1, from the output of which the product bnaii goes to the adder 9.1.1 where it is added to zero and written to register 10.1.1. The following elements b21 and ai2 arrive at the inputs of the computing module 1,1,1 and are recorded in the registers 6.1,1 and 7.1.1. Elements bi2 and 321 arrive at the inputs of computing module 1.1.2 and are written to registers 6.1.2 and 7.1.2. The first input of adder 9.2.1 of computing module 1.2.1 receives the product 32ibi2, where it is added to zero and written to

регистр 10.2.1. В регистры 6.2.1 и 7.2.1 соответственно записываютс  Ь22 и 322. Б регистры 6.2.2 и 7.2.2 вычислительного модул  1.2.2 соответственно записываютс  элементы bis и an. На первый вход сумматора 9.3.1 вычислительного модул  1.3.1 поступает произведение азтЬмз и складываетс  с нулем , результат записываетс  в регистр 10.3.1. В регистры 6.3.2 и 7.3.2 вычислительного модул  1.3.2 соответственно записываютс  элементы bi2 и аз1.register 10.2.1. In registers 6.2.1 and 7.2.1, respectively, b22 and 322 are written. B registers 6.2.2 and 7.2.2 of computing module 1.2.2 respectively write elements bis and an. The first input of the adder 9.3.1 of the computational module 1.3.1 receives the product aztmz and is added to zero, the result is written to register 10.3.1. The registers 6.3.2 and 7.3.2 of computing module 1.3.2 respectively record the elements bi2 and az1.

Во втором такте с выхода регистра 10.1.1 вычислительного модул  1.1.1 на второй вход сумматора 9.1.1 поступает произведение aiibn, на первый вход которого с выхода умножител  8.1.1 поступает 312021 и результат anbii+ai2bai снова записываетс  в регистр 10.1.1. В регистры 6.1.1 и 7.1.1 соответственно записываютс  элементы Ьзт и ai3. На выходе сумматора 9.1.2 вычислительного модул  1.1.2 будет сумма a2ibn+0, котора  записываетс  в регистр 10.1.2. В регистры 6.1.2 и 7.1.2 записываютс  Ь21 и 322. В регистры 6.1.3 и 7.1.3 вычислительного модул  1.1.3 записываютс  bis и 321. На входы сумматора 9.2.1 вычислительного модул  1.2.1 поступают произведени  aaibi2In the second clock, from the output of register 10.1.1 of the computing module 1.1.1, the product aiibn is received at the second input of adder 9.1.1, the first input of which from the output of the multiplier 8.1.1 receives 312021 and the result anbii + ai2bai is again written into register 10.1.1. In the registers 6.1.1 and 7.1.1, respectively, the entries bbt and ai3 are written. At the output of the adder 9.1.2 of the computing module 1.1.2, there will be the sum a2ibn + 0, which is written to register 10.1.2. L21 and 322 are written to the registers 6.1.2 and 7.1.2. Bis and 321 are written to the registers 6.1.3 and 7.1.3 of the computing module 1.1.3. The products aaibi2 are received at the inputs of the adder 9.2.1 of the computing module 1.2.1

И 322b22 И С его ВЫХОДа Сумма 32lbl2+322b22And 322b22 AND Since its EXIT Sum 32lbl2 + 322b22

записываетс  в регистр 10.2.1. В регистры 6.2.1 и7.2.1 записываютс 323иЬз2. На выходе суммзтора 9.2.2 вычислительного модул  1.2.2 по вл етс  сумма anbi3+0 и записываетс  в регистр 10.2.2. В регистры 7.2,2 и 6.2.2 записываютс  312 и D23. В регистры 7.2.3 и 6.2.3 вычислительного модул  1.2.3 записываютс  аз1 и Ьц. На входы сумматора 9.3.1 вычислительного модул  1,3.1 поступают произведени  азтЫз и аз2Ь23 и результат 33ibi3+332b23 записываетс  в регистр 10.3.1. В регистры 7.3.1 и 6.3.1 записываютс  азз и Ьзз. С выхода сумматора 9.3.2 asibi2+0 вычислительного модул  1.3.2 записываетс  в регистр 10.3.2. В регистры 7.3.2 и 6,3.2 записываютс  аз2 и D22. В регистры 7.3,3 и 6.3,3 вычислительного модул  1,3.3 записываютс  элементы an и bi2 соответственно. В третьем такте в сумматорэх 9.1.1- 9.1.п вычислительных модулей 1.1.1-1.1.П получаем первые элементы dij промежуточной матрицы D. Таким образом, с выхода сумматора 9.1.1 вычислительного модул  1.1.1 на третий выход поступает anbii+ai2b2i+ai3b3i dn и записывзетс  в регистр 12.1.1 вычислительного модул  12.1.1. На входы регистров 7,1.1 и 6.1.1 поступают элементы an и Ьц новых матриц А1 и В1. В регистр 15.1.1 со второго входа вычислительного модул  2.1.1 записываетс  элемент си матрицы С. С выхода сумматора 9.1.2 вычислительного модул  1,1.2 вwritten to register 10.2.1. 323 and b2 are recorded in registers 6.2.1 and 7.2.1. At the output of the totalizer 9.2.2 of the computing module 1.2.2, the sum anbi3 + 0 appears and is recorded in register 10.2.2. In registers 7.2,2 and 6.2.2, 312 and D23 are recorded. In registers 7.2.3 and 6.2.3 of computational module 1.2.3, az1 and bc are written. The inputs of the adder 9.3.1 of the computational module 1.3.1 are supplied with the products aztb3 and az2b23, and the result 33ibi3 + 332b23 is recorded in register 10.3.1. In the registers 7.3.1 and 6.3.1, azz and b3 are written. From the output of the adder 9.3.2, the asibi2 + 0 of the computing module 1.3.2 is written to the register 10.3.2. Az2 and D22 are recorded in registers 7.3.2 and 6.3.2. In the registers 7.3.3 and 6.3.3 of the computational module 1.3.3, the elements an and bi2 are recorded, respectively. In the third clock in the adders 9.1.1-9.1.p of the computing modules 1.1.1-1.1.P we get the first elements dij of the intermediate matrix D. Thus, from the output of the adder 9.1.1 of the computing module 1.1.1, the anbii + ai2b2i + ai3b3i dn and is written to register 12.1.1 of computing module 12.1.1. The inputs of the registers 7.1.1 and 6.1.1 receive the elements an and bc of the new matrices A1 and B1. In the register 15.1.1 from the second input of the computing module 2.1.1, an element of the si matrix C is written. From the output of the adder 9.1.2 of the computing module 1,1.2 in

регистр 10,1.2 записываетс  a2ibn+322b2L В регистры 7.1.2 и 6,1.2 соответственно за- писываютс  323 и Ьзь С выхода сумматора 9.1.3 вычислительного модул  1.1.3 в регистр 10,1,3. записывэетс  32ibi3+0. В регистры 7.1.3 и 6.1.3 записываютс  а22 и 023. В сумматоре 9.2.1 вычислительного модул  1.2.1 получаем a2ib 12+822022+823032 d22 и элемент d22 записывэетс  в регистр 12.2.1register 10,1.2 is written a2ibn + 322b2L In registers 7.1.2 and 6,1.2 respectively 323 and b3 are written from the output of the adder 9.1.3 of computing module 1.1.3 to register 10,1,3. 32ibi3 + 0 is recorded. A22 and 023 are written to the registers 7.1.3 and 6.1.3. In the adder 9.2.1 of the computational module 1.2.1, we get a2ib 12 + 822022 + 823032 d22 and the element d22 is written to the register 12.2.1

0 вычислительного модул  2,2.1. На входы регистров 7.2.1 и 6.2.1 поступают элементы новых матриц. В регистр 15.2.1 записываетс  - С21. С выхода сумматора 9.2.2 вычислительного модул  1.2.2 в регистр 10.2.20 computing module 2.2.1. The inputs of the registers 7.2.1 and 6.2.1 receive elements of new matrices. In register 15.2.1, C21 is recorded. From the output of the adder 9.2.2 computing module 1.2.2 in the register 10.2.2

5 записываетс  сумма anbi3+ai2b23. В регистры 7.2.2 и 6.2.2 записываютс  элементы ai3 и Ьзз. С выхода сумматора 9.2.3 вычислительного модул  1.2.3 в регистр 10.2.3 записываетс  аз1Ьц+0. В регистры 7.2.3 и5, the sum of anbi3 + ai2b23 is recorded. In registers 7.2.2 and 6.2.2, the elements ai3 and b3 are written. From the output of the adder 9.2.3 of the computing module 1.2.3, az1b + 0 is written in the register 10.2.3. To registers 7.2.3 and

0 6.2.3 записываютс  аз2 и Ь21. В сумматоре 9.3.1 вычислительного модул  1.3.1 получаем аз1Ь1з+аз2Ь23+аззЬзз йзз и элемент dss записываетс  в регистр 12.3.1 вычислительного модул  2.3.1. В регистры 7.3.1 и 6.3.10 6.2.3, az2 and b21 are recorded. In adder 9.3.1 of computational module 1.3.1, we obtain az1b1z + az2b23 + az3b3b3s3 and the element dss is written to register 12.3.1 of computational module 2.3.1. To registers 7.3.1 and 6.3.1

5 записываютс  элементы новых матриц. В регистр 15.3,1 записываетс сз1. Свыхода сумматора 9.3.1 вычислительного модул  1.3,2 в регистр 10.3.2 записываетс  аз1Ь12+аз2Ь22. В регистры 7,3.2 и 6.3.2 запи0 сываютс  азз и Ьз2. С выхода сумматора 9.3.3 вычислительного модул  1.3.3 в регистр 10.3,3 записываетс  anbi2+0. В регистры 7.3.3. и 6.3.3 записываютс  ai2 и . В четвертом такте в сумматоре 9.1,2 вы5 числительного модул  1.1.2 получаем сумму 32ibn+a22b2i+a23b3i d2i и элемент d2i записываетс  в регистр 12.1.2 вычислительного модул  2.1.2, В регистр 15.1.2 записываетс  С21. С выхода сумматора 9.1.35, elements of new matrices are recorded. In register 15.3.1, cs1 is written. The output of adder 9.3.1 of the computational module 1.3.2 is written in register 10.3.2 az1b12 + az2b22. In registers 7.3.2 and 6.3.2, azz and b2 are written. From the output of the adder 9.3.3 of the computing module 1.3.3, anbi2 + 0 is written to the register 10.3,3. To the registers 7.3.3. and 6.3.3 are written ai2 and. In the fourth cycle, in adder 9.1.2 of computational module 1.1.2, we obtain the sum 32ibn + a22b2i + a23b3i d2i and the element d2i is written to register 12.1.2 of computational module 2.1.2. C21 is written to register 15.1.2. From the output of the adder 9.1.3

0 вычислительного модул  1.1.3 поступает a2ibi3+a22D23 и записываетс  в регистр 10.1.3. В регистры 7.1.3 и 6.1.3 записываютс  323 и Ьзз. На входы умножител  14.1.1 вычислительного модул  2.1.1 поступают0 computing module 1.1.3 enters a2ibi3 + a22D23 and is written to register 10.1.3. 323 and b3 are written to the registers 7.1.3 and 6.1.3. The inputs of the multiplier 14.1.1 of the computing module 2.1.1 are

5 элементы dn и си, где происходйт умноже- ние dncn и произведение поступает в сумматор 13.1.1, где складывэетс  с нулем и dncn+0 записываетс  в регистр 16.1.1. В регистр 12.1.1 записываетс  элемент dn, а5 the elements dn and si, where dncn multiplication occurs and the product goes to the adder 13.1.1, where it is added to zero and dncn + 0 is written in register 16.1.1. In the register 12.1.1 the element dn is written, and

0 элементен передаетс  в вычислительный модуль 2.2.2 и записываетс  в регистр 15.2.2. В сумматоре 9.2.2 вычислительного модул  1.2.2 получаем anbi3+ai2b23+ai3b33 dis и элемент dis записываетс  в ре5 гистр 12.2.2. С выхода сумматора 9.2.3 вычислительного модул  1.2.3 получаем asibn+a32b22 и эта сумма записываетс  в регистр 10.2.3. В регистры 6.2.3 и 7.2.3 записываютс  Ьз1 и азз. В сумматоре 9.2.1 вычислительного модул  2.2.1 получаем сумму0 element is transferred to computing module 2.2.2 and is recorded in register 15.2.2. In adder 9.2.2 of computational module 1.2.2, we obtain anbi3 + ai2b23 + ai3b33 dis and the element dis is recorded in register 5 of register 12.2.2. From the output of adder 9.2.3 of computational module 1.2.3, we obtain asibn + a32b22 and this sum is written to register 10.2.3. In registers 6.2.3 and 7.2.3, b3 and azz are written. In the adder 9.2.1 of the computing module 2.2.1 we get the sum

J22C21+0, котора  записываетс  в регистр 10.2.1. В регистр 12.2.1 записываетс  daa. В сумматоре 9.2.1. В регистр 12.2.1 записываетс  d22. В сумматоре 9.3,2 вычислительного модул  1.3.2 получаетс  asib 12+аз2Ь22+аззЬз2 Оз2 и записываетс  в регистр 12.3.1 вычислительного модул  2.3.2. В регистр 15.3.2 записываетс  сз1. С выхода сумматора 9.3.3 вычислительного модул  1,3.3 поступает anbi2+ai2D22 записываетс  в регистр 10.3,3. В регистры 7.3.3 и 6,3,3 записываетс  атз и Ьз2. С выхода сумматора 13.3.1 вычислительного модул  2,3.1 поступает с ззсз1+0 и записываетс  в регистр 16.3.1. В регистр 12.3.1 записываетс  (J33.J22C21 + 0, which is written to register 10.2.1. In register 12.2.1, daa is written. In the adder 9.2.1. In register 12.2.1, d22 is written. In adder 9.3,2 of computational module 1.3.2, acib 12 + az2b22 + az3bz2 Oz2 is obtained and recorded in register 12.3.1 of computational module 2.3.2. Cs1 is written to register 15.3.2. From the output of the adder 9.3.3 of the computational module 1,3.3, anbi2 + ai2D22 is received and written to register 10.3,3. In registers 7.3.3 and 6.3.3, ac3 and b2 are written. From the output of the adder 13.3.1, the computational module 2,3.1 arrives from ssss1 + 0 and is recorded in register 16.3.1. Register 12.3.1 is written (J33.

В п том такте в сумматоре 9.1.3 вычислительного модул  1.1.3 получаем 32ibi3+a22b23+a23b33 d23 и элемент d23 записываетс  в регистр 12.1.3 вычислительного модул  2.1,3. В регистр 15.1. 3 записываетс  С21. С выхода сумматора 13.1.2 вычислительного модул  2.1.2 поступает diicn+d2iC2i и записываетс  в регистр 16.1.2 вычислительного модул  2.1.2. В регистр 12.1.2 записываетс -элемент dai. С выхода сумматора 13.1.1 вычислительного модул  2.1.1 выдаетс  dnci2+0 и записываетс  в регистр 16.1.1. В регистр 12.1.1 записываетс  dn. В сумматоре 9.2.3 вычислительного модул  1,2.3 получаем аз1Ьц+аз2Ь22+аззЬз1 (J31 и элемент dsi записываетс  в регистр 10,2.3 вычислительного модул  2.2.3, В регистр 15.2.3 записываетс  сз1, С выхода сумматора 13.2.2 вычислительного модул  2.2.2 выдаетс  dsscsi+discii и записываетс  в регистр 16.2.2. В регистр 12.2.2 записываетс  dis. С выхода сумматора 13.2.1 вычислительного модул  2.2.1 поступает d22C22+0 и записываетс  в регистр 16.2.1. В регистр 15.2.1 записываетс  саз. В сумматоре 9.3.3 вычислительного модул  1.3.3 получаем anbi2+ai2b22+ai3b32 di2 и элемент di2 записываетс  в регистр 12.3.3 вычислительного модул  2.3.3. В регистр 15.3.3 записываетс  си. С выхода сумматора 13.3.2 вычислительного модул  2.3.2 поступает d22C32+0 и записываетс  в регистр 16.3.2. В регистр 12.3,2 записываетс  d32. С выхода сумматора 13.3.1 вычислительного модул  2.3.1 поступает d33C32+0 и записываетс  в регистр 16.3.1. В регистр 15.3.1 записываетс  сзз.In the fifth cycle, in adder 9.1.3 of computational module 1.1.3, we obtain 32ibi3 + a22b23 + a23b33 d23 and element d23 is written to register 12.1.3 of computational module 2.1.3. To the register 15.1. 3, C21 is recorded. From the output of the adder 13.1.2 of the computing module 2.1.2, diicn + d2iC2i is received and recorded in the register 16.1.2 of the computing module 2.1.2. An element dai is written to register 12.1.2. From the output of the adder 13.1.1 of the computing module 2.1.1, dnci2 + 0 is output and is written to the register 16.1.1. Register 12.1.1 records dn. In adder 9.2.3 of computational module 1.2.3, we obtain az1b + az2b22 + az3bz1 (J31 and the element dsi are written to register 10.2.3 of computational module 2.2.3, cb1 is written to register 15.2.3. From the output of adder 13.2.2 of computational module 2.2 .2 is issued dsscsi + discii and written to register 16.2.2. Dis is written to register 12.2.2. From the output of adder 13.2.1 of computing module 2.2.1, d22C22 + 0 is received and written to register 16.2.1. To register 15.2.1 In adder 9.3.3 of computational module 1.3.3 we get anbi2 + ai2b22 + ai3b32 di2 and element di2 is written in register 12.3.3 of computational about module 2.3.3. It is written in the register 15.3.3. From the output of the adder 13.3.2 of the computing module 2.3.2, d22C32 + 0 is entered and is written in the register 16.3.2. In the register 12.3,2 is written d32. From the output of the adder 13.3. Computing module 2.3.1 1 receives d33C32 + 0 and is recorded in register 16.3.1.

В шестом такте в сумматоре 13.1.3 вычислительного модул  2.1.3 получаем первый окончательный результат d33C3i+di3Cn+d23C2i fai, который записываетс  в регистр 14.1.3. В регистр 12.1.3 записываетс  d23. С выхода сумматораIn the sixth cycle in the adder 13.1.3 of the computational module 2.1.3, we obtain the first final result d33C3i + di3Cn + d23C2i fai, which is recorded in register 14.1.3. In register 12.1.3, d23 is written. From the output of the adder

13.1,2 вычислительного модул  2,1.2 поступает dnci2+d2iC22 и записываетс  в регистр 16.1.2. В регистр 12.1.2 записываетс  d2i. С выхода сумматора 13.1.1 вычислительного модул  2,1.1 поступает dnci3 и записываетс  в регистр 16.1.1. В сумматоре 13.2.3 вычислительного модул  2.2.3 получаем dncn+d2iC2i+d3iC3i fn и результат fn записываетс  в регистр 16.2.3. В регистр13.1,2 of computational module 2.1.2 enters dnci2 + d2iC22 and is recorded in register 16.1.2. In register 12.1.2, d2i is written. From the output of the adder 13.1.1 of the computing module 2.1.1, dnci3 is received and is recorded in register 16.1.1. In adder 13.2.3 of computational module 2.2.3, we obtain dncn + d2iC2i + d3iC3i fn and the result fn is written to register 16.2.3. To register

0 15.2.3 записываетс  сз2. С выхода сумматора 13.2.2 вычислительного модул  2.2.2 поступает d33C32+disci2 и записываетс  в регистр 16.2.2, В регистр 15.2.2 записываетс  С13. С выхода сумматора 13.2.1 вычисли5 тельного модул  2.2.1 поступает d22C23+0 и записываетс  в регистр 16.2.1. В сумматоре 13.3.3 вычислительного модул  2.3.3 получаем d22C2i+d32C3i+di2Cn f2i, а результат записываетс  в регистр 16.3.3. В регистр0 15.2.3 is recorded sz2. From the output of the adder 13.2.2 of the computing module 2.2.2, d33C32 + disci2 is received and recorded in register 16.2.2, C13 is written in register 15.2.2. From the output of the adder 13.2.1 of the computing module 2.2.1, d22C23 + 0 is received and is recorded in register 16.2.1. In adder 13.3.3 of computational module 2.3.3, we obtain d22C2i + d32C3i + di2Cn f2i, and the result is written to register 16.3.3. To register

0 12.3.3 записываетс  di2. С выхода сумматора 13.3.2 вычислительного модул  2.3.2 поступает d22C22+d32C33 и записываетс  в регистр 16,3.2. В регистр 12.3.2 записываетс  d32. С выхода сумматора 13.3.1 вычисли5 тельного модул  2.3.1 поступает ds3C33+0 и записываетс  в регистр 16.3.1.0 12.3.3 is written di2. From the output of the adder 13.3.2 of the computing module 2.3.2, d22C22 + d32C33 is received and recorded in register 16.3.2. In register 12.3.2, d32 is written. From the output of the adder 13.3.1 of the computing module 2.3.1, ds3C33 + 0 is received and is recorded in register 16.3.1.

В седьмом такте в сумматоре 13.1.3 вычислительного модул  2.1.3 получаем d33C32+di3Ci2+d23C22 гзз и результат тзз за0 писываетс  в регистр 16.1.3, ас его выхода на выход устройства выдаетс  fsi. С выхода сумматора 13.1.2 вычислительного модул  2.1.2 поступает dnci3+d2iC23 и записываетс  в регистр 16.1.2, В сумматоре 13.2,3 вы5 числительного модул  2.2.3 получаем dnci2+d2iC22+d3iC32 fi2 и результат записываетс  в регистр 16.2.3, с выхода которого на выход устройства выдаетс  fn. В регистр 12.2.3 записываетс  dsi. С выхода суммато0 ра 13.2.2 вычислительного модул  2.2.2 поступает d33C33+di3Ci3 и записываетс  в регистр 16.2.2. В сумматоре 13.3.3 вычислительного модул  2.3,3 получаем d22C22+d32C32+di2Ci2 f22 и результат запи5 сываетс  в регистр 16.3.3, с выхода которого выдаетс  f2i. В регистр 12,3.3 записываетс  di2. С выхода сумматора 13.3.2 вычислительного модул  2.3.3 поступает d22C23+d32C33 и записываетс  в регистр 16.3.2.In the seventh cycle, in adder 13.1.3 of computational module 2.1.3, we obtain d33C32 + di3Ci2 + d23C22 GZZ and the result of TZZ0 is written to register 16.1.3, and its output to the output of the device is issued fsi. From the output of the adder 13.1.2 of the computational module 2.1.2, dnci3 + d2iC23 is received and written to register 16.1.2. In the adder 13.2.3 of the computational module 2.2.3, we obtain dnci2 + d2iC22 + d3iC32 fi2 and the result is written to the register 16.2.3, from the output of which fn is output to the output of the device. In register 12.2.3, dsi is written. From the output of the adder 13.2.2 of the computing module 2.2.2, d33C33 + di3Ci3 is received and recorded in register 16.2.2. In adder 13.3.3 of computational module 2.3.3, we obtain d22C22 + d32C32 + di2Ci2 f22 and the result is written into register 16.3.3, from the output of which f2i is output. In register 12,3.3, di2 is written. From the output of the adder 13.3.2 of the computational module 2.3.3, d22C23 + d32C33 is received and recorded in register 16.3.2.

00

В восьмом такте в сумматоре 13.1.3 вычислительного модул  2.1.3 получаем d33C33+disci3+d23C23 f33 и результат Тзз записываетс  в регистр 16.1.3, с выхода кото5 рого выдаетс  f32. В сумматоре 13,2.3 вычислительного модул  2.2.3 получаем dnci3+d2iC23+d2iC33 fi3 и результат запи- , сываетс  в регистр 16.2.3, с выхода которого выдаетс  fi2. В сумматоре 13.3.3 вычислительного модул  2.3.3 получаемIn the eighth cycle, in adder 13.1.3 of computational module 2.1.3, we obtain d33C33 + disci3 + d23C23 f33 and the result T3 is written to register 16.1.3, from the output of which f32 is output. In adder 13,2.3 of computational module 2.2.3, we obtain dnci3 + d2iC23 + d2iC33 fi3 and the result is written to register 16.2.3, from the output of which fi2 is output. In the adder 13.3.3 of the computing module 2.3.3 we get

d22C23+d32C33+ai2Ci3 f23 и результат записываетс  в регистр 14.3.3, с выхода которого выдаетс  f22.d22C23 + d32C33 + ai2Ci3 f23 and the result is written to register 14.3.3, the output of which is f22.

В дев том такте с выходов вычислительных модулей 2.1.3, 2.2.3 и 2.3.3 соответственно выдаютс  окончательные результатыIn the ninth cycle, the outputs of the computational modules 2.1.3, 2.2.3, and 2.3.3, respectively, give the final results

f33, f23, fl3На этом работа устройства по вычислению матрицы F АхВхС заканчиваетс .f33, f23, fl3 At this point, the operation of the device for calculating the matrix F AxBxC is completed.

Claims (3)

Формула изобретени  1. Устройство дл  умножени  матриц, содержащее пхп вычислительных модулей первого типа (п - размерность матриц) и блок управлени , первый, второй, третий и четвертый входы которого соединены соответственно с входом запуска, входом сброса , счетным входом и входом записи устройства, первый выход блока управлени  соединен с входом разрешени  записи (i,1)-ro вычислительного модул  первого типа (i 1, ..., п), вход синхронизации устройства соединен с входами синхронизации каждого из вычислительных модулей первого типа, отличаю щеес тем.что, с целью повышени  быстродействи , в него введены (пхп) вычислительных модулей второго типа и две группы из п коммутаторов кажда , причем первый и второй информационные входы (i,1)-ro вычислительного модул  первого типа соединены соответственно с выходами i-x коммутаторов первой и второй групп, i-ные информационные входы первой и второй групп устройства соединены соответственно с первым и вторым информационными входами i-x коммутаторов первой и второй групп, управл ющие входы которых соединены соответственно с вторым и третьим выходами блока управлени , i-й информационный вход третьей группы и вход логического нул  устройства соединены соответственно с вторым и первым информационными входами (М)-го вычислительного модул  второго типа, выход разрешени  записи (i,j)-ro вычислительного модул  первого типа 0 1, ..., п) соединен с входом разрешени  записи (i, j+1)-ro вычислительного модул  первого типа и (i.j)-ro вычислительного модул  второго типа, выход (i.n)-ro вычислительного модул  второго типа соединен с i-м выходом результата устройства, первые информационные выходы (i,l)-x вычислительных модулей первого и второго типов (1 1,.... п-1) соединены соответственно с первыми информационными входами (i+1, h)-x вычислительных модулей первого и второго типов (где h j+1 при (i+j) - четном или h j-1 при (i+j) - нечетном, причем h j при j 1, j п), вторые информационные входы (i,l)-x вычислительных модулей первого и второго типов соединены соответственно с вторыми информационными входами (i+1,s)-x вычислительных модулей первого и второго типов (где s j-1 при (i+j) - четномSUMMARY OF THE INVENTION 1. A device for matrix multiplication, comprising a first-type PC module of computational modules (n is the dimension of the matrices) and a control unit, the first, second, third and fourth inputs of which are connected respectively to the start input, reset input, counting input and recording input of the device, the first output of the control unit is connected to the write enable input (i, 1) -ro of the computing module of the first type (i 1, ..., p), the synchronization input of the device is connected to the synchronization inputs of each of the computing modules of the first type, distinguishing Especially because, in order to improve performance, (PCs) of the second type of computing modules and two groups of n switches each are introduced into it, the first and second information inputs (i, 1) -ro of the first type of computing module are connected respectively to the outputs ix switches of the first and second groups, the i-th information inputs of the first and second groups of the device are connected respectively to the first and second information inputs ix of the switches of the first and second groups, the control inputs of which are connected respectively to the second and third by the control unit moves, the ith information input of the third group and the logic zero input of the device are connected respectively to the second and first information inputs of the (M) -th computing module of the second type, the write enable output (i, j) -ro of the computing module of the first type 0 1 , ..., p) is connected to the write enable input of the (i, j + 1) -ro computing module of the first type and (ij) -ro computing module of the second type, the output (in) -ro of the computing module of the second type is connected to i- m output of the result of the device, the first information outputs (i, l) -x you illustrative modules of the first and second types (1 1, .... p-1) are connected respectively to the first information inputs of (i + 1, h) -x computing modules of the first and second types (where h j + 1 for (i + j ) - even or h j-1 for (i + j) - odd, and hj for j 1, j p), the second information inputs of (i, l) -x computing modules of the first and second types are connected respectively to the second information inputs ( i + 1, s) -x computing modules of the first and second types (where s j-1 with (i + j) - even или s j+1 при (i+j) - нечетном, причем s j при j 1, j п), третий информационный выход (i,j)-ro вычислительного модул  первого типа соединен с третьим информационным входом (i,j)-ro вычислительногоor s j + 1 for (i + j) - odd, with sj for j 1, j p), the third information output (i, j) -ro of the computing module of the first type is connected to the third information input (i, j) -ro computational 0 модул  второго типа.0 module of the second type. 2. Устройство по п. 1,отличающее- с   тем, что каждый вычислительный модуль первого типа содержит три регистра, умножитель , сумматор и триггер, причем инфор5 мационный вход первого регистра подключен к первому информационному входу модул , второй информационный вход которого подключен к информационному входу второго регистра, выход первого2. The device according to claim 1, characterized in that each computing module of the first type contains three registers, a multiplier, an adder and a trigger, wherein the information input of the first register is connected to the first information input of the module, the second information input of which is connected to the information input second register, first exit 0 регистра подключен к первому входу умножител  и первому информационному выходу модул , второй информационный выход которого подключен к выходу второго регистра и второму входу умножител , выход0 register is connected to the first input of the multiplier and the first information output of the module, the second information output of which is connected to the output of the second register and the second input of the multiplier, the output 5 которого подключен к входу первого слагаемого сумматора, вход второго слагаемого которого подключен к выходу третьего регистра , информационный вход которого подключен к выходу сумматора и третьему5 of which is connected to the input of the first term of the adder, the input of the second term of which is connected to the output of the third register, the information input of which is connected to the output of the adder and the third 0 информационному выходу модул , вход разрешени  записи которого подключен к входу разрешени  сброса третьего регистра и входу триггера, выход которого подключен к выходу разрешени  записи модул , вход0 to the information output of the module, the recording enable input of which is connected to the reset enable input of the third register and the trigger input, the output of which is connected to the write enable output of the module, input 5 синхронизации которого соединен с синх- ровходами всех резисторов.5 synchronization which is connected to the sync inputs of all resistors. 3. Устройство поп. 1,отличающее- С   тем, что каждый вычислительный модуль второго типа содержит три регистра, умно0 житель и сумматор, причем информационный вход первого регистра подключен к третьему информационному входу модул , первый информационный вход которого подключен к входу первого слагаемого сум5 матора, вход второго слагаемого которого подключен к выходу умножител , первый вход которого подключен к выходу первого регистра, второй вход умножител  подключен к выходу второго -регистра и второму3. The device pop. 1, characterized in that each computing module of the second type contains three registers, a multiplier and an adder, wherein the information input of the first register is connected to the third information input of the module, the first information input of which is connected to the input of the first term of the adder5, the input of the second term of which connected to the output of the multiplier, the first input of which is connected to the output of the first register, the second input of the multiplier is connected to the output of the second register and the second 0 информационному выходу модул , второй информационный вход которого подключен к информационному входу второго регистра , выход сумматора подключен к информационному входу третьего регистра, выход0 information output of the module, the second information input of which is connected to the information input of the second register, the output of the adder is connected to the information input of the third register, the output 5 которого подключен к первому информационному выходу модул , вход разрешени  записи которого соединен с входом записи первого регистра, вход синхронизации модул  соединен с синхровходами всех регистров .5 of which is connected to the first information output of the module, the recording enable input of which is connected to the recording input of the first register, the synchronization input of the module is connected to the sync inputs of all the registers. ГG лl L.L. сриг.цsrig.ts
SU904880893A 1990-11-05 1990-11-05 Device for matrix multiplication RU1790786C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU904880893A RU1790786C (en) 1990-11-05 1990-11-05 Device for matrix multiplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU904880893A RU1790786C (en) 1990-11-05 1990-11-05 Device for matrix multiplication

Publications (1)

Publication Number Publication Date
RU1790786C true RU1790786C (en) 1993-01-23

Family

ID=21544331

Family Applications (1)

Application Number Title Priority Date Filing Date
SU904880893A RU1790786C (en) 1990-11-05 1990-11-05 Device for matrix multiplication

Country Status (1)

Country Link
RU (1) RU1790786C (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР № 1363247, кл. G 06 F 15/347, 1986. Авторское свидетельство СССР № 1552200, кл. G 06 F 15/347, 1988. *

Similar Documents

Publication Publication Date Title
US4720780A (en) Memory-linked wavefront array processor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) Parallel processing system
JPS63167967A (en) Digital signal processing integrated circuit
RU1790786C (en) Device for matrix multiplication
RU1790785C (en) Device for matrix multiplication
JPH0331005B2 (en)
JPH06223166A (en) General processor for image processing
CA1273711A (en) Memory-linked wavefront array processor
RU1835548C (en) Appliance for matrix multiplication
SU1444759A1 (en) Computing apparatus
SU1476488A1 (en) Fast real fourier transform computer
RU2190874C2 (en) Arithmetic device for calculating fast fourier transformation
RU2116667C1 (en) Device which solves systems of linear algebraic equations
SU970358A1 (en) Device for squaring
SU1003080A1 (en) Conveyer device for computing sine and cosine functions
SU1587540A1 (en) Device for triangular decomposition of ribbon matrix
RU2006937C1 (en) Device for multiplication of matrices
RU1839262C (en) Device for multiplication of matrices
SU1405073A1 (en) Device for resolving a system of linear algebraic equations
SU1430965A1 (en) Device for computing convolution
SU1621022A1 (en) Multiplication device
RU2037199C1 (en) Device for inverting n x n matrices
SU1737462A1 (en) Device for performing operations on matrices
SU1741153A1 (en) Device for performing operations on matrices