RU2011221C1 - Device for multiplying matrixes - Google Patents
Device for multiplying matrixes Download PDFInfo
- Publication number
- RU2011221C1 RU2011221C1 SU5013894A RU2011221C1 RU 2011221 C1 RU2011221 C1 RU 2011221C1 SU 5013894 A SU5013894 A SU 5013894A RU 2011221 C1 RU2011221 C1 RU 2011221C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- group
- information
- register
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов для умножения матриц. The invention relates to computer technology and can be used in high-performance specialized computers and signal processing devices for matrix multiplication.
На фиг. 1 представлена структурная схема устройства для умножения матриц; на фиг. 2 - структурная схема устройства для умножения матриц для n = 4; на фиг. 3 - функциональная схема вычислительного модуля. In FIG. 1 is a structural diagram of a device for matrix multiplication; in FIG. 2 is a block diagram of a device for matrix multiplication for n = 4; in FIG. 3 is a functional diagram of a computing module.
Устройство для умножения матриц содержит первый 1, второй 2 и третий 3 информационные входы, вход логического нуля 4, первый 5 и второй 6 входы задания режима, синхровход 7, вычислительные модули 8i (i = 1, n) и выход 9. The device for matrix multiplication contains the first 1, second 2, and third 3 information inputs, a logic zero
Вычислительный модуль 8 (фиг. 3) содержит первый 10, второй 11 и третий 12 информационные входы, первый 13 и второй 14 входы задания режима, синхровход 15, умножитель 16, сумматор 17, первую группу 18 регистров 8, вторую группу регистров 19, первый 20, второй 21, третий 22 и четвертый 23 регистры, первый 24 и второй 25 триггеры, первую 26 и вторую 27 группы элементов И, группу элементов ИЛИ 28, элемент И 29, элемент НЕ 30, первый 31, второй 32 и третий 33 информационные выходы, первый 34 и второй 35 выходы задания режима. Computing module 8 (Fig. 3) contains the first 10, second 11 and third 12 information inputs, the first 13 and second 14 mode input inputs,
В основу работы устройства положен алгоритм умножения двух (n x n)-матриц, основанный на рекурентных соотношениях
сij (o) = 0, i, j = 1, n;
cij (k) = cij (k-1) + aik bkj, k, i, j = 1, n;
cij = cij (n), i, j = 1, n
Вычислительный модуль 8 (фиг. 3) обладает возможностью реализации следующих функций:
Vj+1 = αj
Wj+1 = βj
Aj+2 = aj
Bj+l = bj
cj+1 = cj+ dj lj,
dj=
ej= где αj и βj - значения управляющих сигналов соответственно на первом и втором входах задания режима вычислительного модуля на j-м такте;
Vj+1 и Wj+1 - значения управляющих сигналов соответственно на первом и втором выходах задания режима вычислительного модуля на (j + 1)-м такте;
aj, bj и cj - значения чисел соответственно на втором, первом и третьем информационных входах вычислительного модуля на j-м такте;
Aj, Bj и cj - значения чисел соответственно на первом, втором и третьем информационных выходах вычислительного модуля на j-м такте;
p = 0, n-1 - параметр, определяемый алгоритмом.The device is based on an algorithm for multiplying two (nxn) -matrices based on recurrence relations
with ij (o) = 0, i, j = 1, n;
c ij (k) = c ij (k-1) + a ik b kj , k, i, j = 1, n;
c ij = c ij (n) , i, j = 1, n
Computing module 8 (Fig. 3) has the ability to implement the following functions:
V j + 1 = α j
W j + 1 = β j
A j + 2 = a j
B j + l = b j
c j + 1 = c j + d j l j ,
d j =
e j = where α j and β j are the values of the control signals, respectively, at the first and second inputs of the job mode of the computing module on the j-th clock;
V j + 1 and W j + 1 are the values of the control signals, respectively, at the first and second outputs of setting the mode of the computing module at the (j + 1) -th clock cycle;
a j , b j and c j are the values of the numbers, respectively, at the second, first and third information inputs of the computing module on the j-th clock;
A j , B j and c j are the values of the numbers, respectively, at the first, second and third information outputs of the computing module on the j-th clock;
p = 0, n-1 is the parameter determined by the algorithm.
Вычислительный модуль 8 работает в четырех режимах, которые задаются комбинацией управляющих сигналов α и β , подаваемых соответственно на входы 13 и 14.
Во всех режимах элемент bj подается на вход 10, задерживается регистрами 18 на l тактов и выдается на выход 31 на (j + l + 1)-м такте; элемент aj подается на вход 11, задерживается регистрами 20 и 22 и выдается на выход (j + 2)-м такте; управляющие сигналы α, β задерживаются соответственно триггерами 24 и 25 на один такт и выдаются на выходы 34 и 35; на выходе сумматора 17 формируется значение с + a b (элемент c подается на вход 12).In all modes, the element b j is fed to input 10, delayed by
В первом режиме (α, β ) = (1,1). При этом элемент bj через группы элементов И 26 и ИЛИ 28 записывается в регистр 191; элемент ajзаписывается в регистр 21, т. к. элемент И 29 открыт и по заднему фронту тактового импульса осуществляется запись в регистр 21; на выходе сумматора 17 формируется значение cj + aj-bj, которое подается на выход 33.In the first mode (α, β) = (1,1). In this case, the element b j through the group of elements And 26 and OR 28 is recorded in the
Во втором режиме (α, β ) = (1,0). Элемент bj записывается в регистр 191. В регистре 21 хранится элемент aj-p (p = 0, n-1), записанный ранее на (j-p)-м такте. На выходе сумматора 17 формируется значение cj + aj-pbj.In the second mode (α, β) = (1,0). The element b j is written to register 19 1 . The
В третьем режиме (α, β ) = (0, 1). На выходе элемента НЕ 30 формируется единичный сигнал, который открывает группу элементов И 27, элемент bj-n с выхода регистра 19n-го через группы элементов И 27 и ИЛИ 28 записывается в регистр 191. На выходе сумматора формируется значение cj + aj bj-n.In the third mode (α, β) = (0, 1). At the output of element HE 30, a single signal is generated, which opens the group of elements AND 27, element b jn from the output of
В четвертом режиме (α, β ) = (0, 0). В регистр 191-й записывается элемент bj-n из регистра 19n-го. В регистре 21 хранится элемент aj-p. На выходе сумматора 17 формируется значение cj + + aj-p bj-n.In the fourth mode (α, β) = (0, 0). The
Рассмотрим работу устройства. Consider the operation of the device.
В исходном состоянии все регистры и триггеры вычислительных модулей 8 устанавливаются в нулевое состояние. На выходы 1, 2 и 3 подаются соответственно элементы bj= , k= , aik(i= , k= ) и bj= , k= в соответствующие моменты времени: t= -ni-k+nn/2-2n+1, i, k= ; t= nk+j+nn/2-1, j= , k= ; t= nk+j+nn/2-n2-2, j= 1, n, k= , n
На вход 4 постоянно подается нулевое значение.In the initial state, all the registers and triggers of the
На входы 5 и 6 подаются управляющие сигналы τij = (α, β) в виде матрицы
Элементы τij подаются в моменты времени
t= ni+j+nn/2-2n-1
На выходе 9 элементы cij формируются в моменты времени
t= ni≠j+nn/2-n-2.
Elements τ ij are given at time instants
t = ni + j + n n / 2 -2n-1
At the
t = ni ≠ j + n n / 2 -n-2.
Последний элемент cnn для n-нечетного формируется на (3/2·n2-n/2-1)-м такте, для n-четного - (3/2·n2-2)-м такте.The last element with nn for n-odd is formed at the (3/2 · n 2 -n / 2-1) -th beat, for n-even - at the (3/2 · n 2 -2)) -th beat.
На фиг. 2 приведена организация подачи входных и выходных потоков для n = 4. В таблице приведены состояния регистров, триггеров, значения на выходе сумматоров 17 и выходных 33 вычислительных модулей 81, 82, 83и 84 при вычислении элементов cij для n = 4. (56) Kung H. T. Leiserson C. E. Systolic Arrayt (for VLSI)-Sparse Matrix Proc. 1976, Society for Industrial and Applied Mathematicf, 1979, p. 262, fig 3-2.In FIG. Figure 2 shows the organization of input and output flows for n = 4. The table shows the status of registers, triggers, output values of
Авторское свидетельство СССР N 1619305, кл. G 06 F 15/347, 1991. USSR author's certificate N 1619305, cl. G 06 F 15/347, 1991.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5013894 RU2011221C1 (en) | 1991-07-03 | 1991-07-03 | Device for multiplying matrixes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5013894 RU2011221C1 (en) | 1991-07-03 | 1991-07-03 | Device for multiplying matrixes |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2011221C1 true RU2011221C1 (en) | 1994-04-15 |
Family
ID=21590214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5013894 RU2011221C1 (en) | 1991-07-03 | 1991-07-03 | Device for multiplying matrixes |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2011221C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU204544U1 (en) * | 2020-10-19 | 2021-05-31 | Федеральное государственное бюджетное образовательное учреждение высшего образования. "Юго-Западный государственный университет" (ЮЗГУ) | Device for multiplying 8-bit numbers |
-
1991
- 1991-07-03 RU SU5013894 patent/RU2011221C1/en active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU204544U1 (en) * | 2020-10-19 | 2021-05-31 | Федеральное государственное бюджетное образовательное учреждение высшего образования. "Юго-Западный государственный университет" (ЮЗГУ) | Device for multiplying 8-bit numbers |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kung et al. | A systolic 2-D convolution chip | |
US4320464A (en) | Binary divider with carry-save adders | |
Saligram et al. | Design of Reversible Multipliers for linear filtering Applications in DSP | |
Nayak et al. | High throughput VLSI implementation of discrete orthogonal transforms using bit-level vector-matrix multiplier | |
Gadda et al. | 64-bit ALU design using vedic mathematics | |
Bruguera et al. | Implementation of the FFT butterfly with redundant arithmetic | |
EP0517241A2 (en) | Interleaved multiplier accumulator | |
RU2011221C1 (en) | Device for multiplying matrixes | |
US3828169A (en) | Apparatus for digital frequency multiplication | |
RU2037199C1 (en) | Device for inverting n x n matrices | |
KR940001556B1 (en) | Digital signal processing apparatus | |
RU2037197C1 (en) | Device for solving systems of linear algebraic equations | |
RU2012048C1 (en) | Device for computation of two-dimensional discrete fourier transform | |
RU2116667C1 (en) | Device which solves systems of linear algebraic equations | |
RU2006937C1 (en) | Device for multiplication of matrices | |
RU2024933C1 (en) | Device for multiplying three matrices | |
Stewart et al. | The square root in signal processing | |
RU2024932C1 (en) | Device for multiplying three matrices | |
RU2294558C1 (en) | Logical computing device | |
RU2049351C1 (en) | Device for computation of two-dimension discrete fourier transform | |
Sýkora | A fast non-commutative algorithm for matrix multiplication | |
RU2012049C1 (en) | Device for solution of system of linear algebraic equations | |
Patel et al. | Vedic and conventional methods of N× N Binary Multiplication with hardware implementation | |
RU1778762C (en) | Matrix inversion device | |
SU1764058A1 (en) | Device for vector processing |