RU2037200C1 - Устройство для обработки матриц - Google Patents

Устройство для обработки матриц Download PDF

Info

Publication number
RU2037200C1
RU2037200C1 SU5009187A RU2037200C1 RU 2037200 C1 RU2037200 C1 RU 2037200C1 SU 5009187 A SU5009187 A SU 5009187A RU 2037200 C1 RU2037200 C1 RU 2037200C1
Authority
RU
Russia
Prior art keywords
input
output
multiplexer
adder
inputs
Prior art date
Application number
Other languages
English (en)
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 SU5009187 priority Critical patent/RU2037200C1/ru
Application granted granted Critical
Publication of RU2037200C1 publication Critical patent/RU2037200C1/ru

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано в специализированных системах предварительной обработки многомерных сигналов. Цель - расширение функциональных возможностей за счет вычисления квадратичной формы. Цель достигается тем, что в устройство, содержащее первую матрицу из n-запоминающих ячеек, вторую матрицу из (n - 1) вычислительных ячеек, n-ю вычислительную ячейку, введена дополнительная (n + 1)-я вычислительная ячейка, позволяющая выполнять операции: возведение в квадрат и суммирование с накоплением; а также n-я вычислительная ячейка дополнительно содержит сумматор и четыре мультиплексора. 2 з.п. ф-лы, 6 ил.

Description

Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано в специализированных системах предварительной обработки многомерных сигналов.
Известно устройство для разложения Холецкого симметричной матрицы, содержащее первую матрицу из n запоминающих ячеек, вторую матрицу из (n 1) вычислительных ячеек и n-ю вычислительную ячейку [1]
Однако недостатком этого устройства являются ограниченные функциональные возможности в задачах предварительной обработки сигналов, не позволяющие выполнить с помощью данного устройства целый ряд алгоритмов, связанных с вычислением квадратичной формы.
Целью дополнительного изобретения является расширение функциональных возможностей устройства путем вычисления квадратичной формы.
Поставленная цель достигается тем, что известное устройство для предварительной обработки информации дополнительно содержит вторые информационные вход и выход, (n + 1)-ю вычислительную ячейку (ВЯ), содержащую вход, выход, умножитель и накапливающий сумматор, причем вход (n + 1)-й ВЯ соединен с вторым выходом (n-1)-й ВЯ и с первым и вторым входами умножителя, выход которого соединен с входом накапливающего сумматора, выход которого подключен к выходу (n + 1)-й ВЯ, выход (n + 1)-й ВЯ соединен с вторым информационным выходом устройства, n-я вычислительная ячейка дополнительно содержит третий вход, второй сумматор и второй, третий, четвертый и пятый мультиплексоры, причем третий вход этой же ВЯ соединен с вторым информационным входом и первым входом второго сумматора, выход которого подключен к первому входу четвертого мультиплексора, второй вход второго сумматора соединен с выходом блока изменения знака, первый вход второго мультиплексора соединен с первым входом этой же ВЯ, второй вход пятого мультиплексора соединен с выходом умножителя, первый вход третьего мультиплексора соединен с выходом блока вычисления обратной величины, причем выход блока вычисления квадратного корня подключается к входу блока вычисления обратной величины через второй вход второго мультиплексора, выход блока вычисления обратной величины подключается к входу первого регистра через первый вход пятого мультиплексора, второй вход этой же ВЯ подключается к первому входу умножителя через второй вход четвертого мультиплексора, выход блока изменения знака подключается к второму входу умножителя через второй вход третьего мультиплексора, j-я вычислительная ячейка (j
Figure 00000001
) вместо второго и третьего мультиплексора 2 х 1 содержит мультиплексоры 3 х 1, причем третьи входы второго и третьего мультиплексоров подключены соответственно к четвертому входу сумматора.
На фиг. 1 представлена функциональная схема предлагаемого устройства; на фиг. 2 функциональная схема n-ой вычислительной ячейки; на фиг. 3 функциональная схема j-й вычислительной ячейки (j
Figure 00000002
); на фиг. 4 функциональная схема (n + 1)-й вычислительной ячейки; на фиг. 5 организация потоков информации в вычислительных ячейках; на фиг. 6 временная диаграмма работы вычислительных ячеек.
Устройство (фиг. 1) для предварительной обработки информации содержит два информационных входа 1.1 и 1.2, матрицу 2 из n запоминающих ячеек (ЗЯ) 3, два информационных выхода 4.1 и 4.2, n-ю ВЯ 5, матрицу 6 из (n 1) ВЯ 7, (n + 1)-ю ВЯ 27, причем первые вход и выход j-й (j
Figure 00000003
) ЗЯ 3 соединены с первыми выходом и входом соответственно (j 1)-й ВЯ 7, а первые вход и выход первой ЗЯ 3 соединены соответственно с первыми выходом и входом n-й ВЯ 5, второй выход j-й (j
Figure 00000004
) ЗЯ 3 подключен к второму входу (j + 1)-й ЗЯ 3, второй выход n-й ЗЯ 3 является первым информационным выходом 4.1 устройства, второй вход первой ЗЯ 3 является первым информационным входом 1.1 устройства, третий вход n-й ВЯ 5 является вторым информационным входом 1.2 устройства, выход (n + 1)-й ВЯ 27 является вторым информационным выходом 4.2 устройства, второй и третий выходы j-й (j
Figure 00000005
) ВЯ 7 подключены соответственно к второму и третьему входам (j + 1)-й ВЯ 7, а второй и третий выходы n-й ВЯ 5 подключены к второму и третьему входам первой ВЯ 7; четвертый вход j-й (j
Figure 00000006
) ВЯ 7 соединен с четвертым выходом (j + 1)-й ВЯ 7, четвертый выход первой ВЯ 7 подключен к второму входу n-й ВЯ 5, второй выход (n 1)-й ВЯ 7 подключен к входу (n + 1)-й ВЯ 27.
Вычислительная ячейка 5 с номероом n содержит (фиг. 2) первый вход 5.1, первый выход 5.2, третий выход 5.3, второй вход 5.4, третий вход 5.6, регистр 8, блок вычисления квадратного корня 9, мультиплексор 10, блок вычисления обратной величины 11, первый сумматор 12, регистр 13, умножитель 14, блок изменения знака числа 15, регистр 16, второй сумматор 28, мультиплексоры 29-32, причем вход 5.1 соединен с первыми входами сумматора 12, мультиплексора 29 и входом блока 9 вычисления квадратного корня, выход которого соединен с вторым входом мультиплексора 29 и первым входом мультиплексора 10; выход мультиплексора 29 соединен с входом блока 11 вычисления обратной величины, выход которого соединен с первым входом мультиплексора 30 и первым входом мультиплексора 32, второй вход которого подключен к выходу умножителя 14, а выход мультиплексора 32 соединен с входом регистра 13, выход которого является выходом 5.5 n-й ВЯ 5; второй вход мультиплексора 10 подключен к выходу сумматора 12, а выход мультиплексора 10 соединен с входом регистра 8, выход которого является выходом 5.2 n-й ВЯ 5; второй вход сумматора 12 соединен с выходом умножителя 14, первый вход которого соединен с выходом мультиплексора 31, а второй вход умножителя 14 соединен с выходом мультиплексора 30; третий вход 5.6 n-й ВЯ 5 соединен с первым входом мультиплексора 30 и первым входом сумматора 28, выход которого подключен к первому входу мультиплексора 31; второй вход мультиплексора 31 объединен с входом блока 15 изменения знака числа и является входом 5.4 n-й ВЯ 5; выход блока 15 изменения знака числа соединен с вторыми входами мультиплексора 30, сумматора 28 и входом регистра 16, выход которого является выходом 5.3 n-й ВЯ 5.
Вычислительная ячейка 7 с номером j (j
Figure 00000007
) содержит (фиг. 3) третий вход 7.1, первый вход 7.2, первый выход 7.3, третий выход 7.4, четвертый вход 7.5, второй выход 7.6, второй вход 7.7, четвертый выход 7.8, мультиплексоры 17-19, умножитель 20, сумматор 21, регистры 22-25 и мультиплексор 26, причем вход 7.2 подключен к первым входам мультиплексоров 17-18, выходы которых соединены соответственно с первыми входами умножителя 20 и сумматора 21; второй вход мультиплексора 17 объединен с третьим входом мультиплексора 18, вторым входом мультиплексора 26 и является входом 7.5 ВЯ 7, а второй вход мультиплексора 18 соединен с входом константы "0"; первый вход мультиплексора 26 подключен к выходу умножителя 20 и второму входу сумматора 27, выход которого соединен с входом регистра 22 и третьим входом мультиплексора 26, выход регистра 22 является выходом 7.3 ВЯ 7; выход мультиплексора 26 соединен с входом регистра 25, выход которого является выходом 7.8 ВЯ 7; второй вход умножителя 20 подключен к выходу мультиплексора 19, первый вход которого объединен с входом регистра 23 и является входом 7.7 ВЯ 7, а второй вход мультиплексора 19 объединен с входом регистра 24 и является входом 7.1 ВЯ 7; выход регистров 23-24 являются соответственно выходами 7.6 и 7.4 ВЯ 7.
Вычислительная ячейка 27 с номером (n + 1) (фиг. 4) содержит вход 27.1, выход 27.2, умножитель 33 и накапливающий сумматор 34, причем вход ВЯ 27.1 соединен с первым и вторым входами умножителя 33, выход которого соединен с входом накапливающего сумматора 34; выход накапливающего сумматора 34 соединен с выходом ВЯ 27.2 и является вторым информационным выходом устройства 4.2.
Устройство работает следующим образом.
Квадратичной форму можно записать в следующем виде
Ψ= Хт ˙ А-1˙Х, (1) где Т значок, обозначающий транспортирование;
А-1 матрица, обратная матрице А; при условии задании матрицы А (порядка n) и вектора Х размером n * 1.
Одна из возможных стратегий нахождения согласно (1) представлена в таблице.
Нахождение разложения матрицы А на множители (2) осуществляется аналогичным образом как в устройстве прототипа [1] за исключением того, что вычисленные элементы матрицы 1, не выводятся из запоминающих ячеек 3 и используются на втором шаге вычисления (таблица).
Рассмотрим второй и третий шаги вычислений.
Раскрывая (3), запишем
Figure 00000008
Figure 00000009
Figure 00000010
Figure 00000011
Figure 00000012
Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016
Figure 00000017
Figure 00000018
Figure 00000019
Figure 00000020
Figure 00000021

(5)
Система вида (3) и (5) решается методом прямой подстановки следующим образом:
Пусть ∀i ∈
Figure 00000022
yi,o= 0 тогда
Z1 (X1 Y1,0)/l11.
Далее, для каждого i ∈
Figure 00000023
вычислим
Figure 00000024

(6) что и дает решение системы линейных алгебраических уравнений (СЛАУ).
Выражение со знаком суммы в представленном алгоритме (6) заменим рекуррентным выражением, связывающим вычисляемое значения yi,i-1 с номером такта и номером ячейки, в которой это значение вычисляется. В результате этого можно записать
Пусть ∀i ∈
Figure 00000025
yi,o= 0 тогда
z1 (x1 y1,0)/l11.
Далее, для каждого i ∈
Figure 00000026
определим
Figure 00000027
Figure 00000028
Figure 00000029
Figure 00000030
Figure 00000031

(7) При этом n-я ВЯ 5 должна выполнять следующие функции:
zвых (xвх yвх)/lвх (8)
только для нечетных микротактов.
ВЯ 7 реализуют функции вида
Figure 00000032
Figure 00000033
Figure 00000034
Figure 00000035
Figure 00000036

(9)
для всех микротактов, кратных номеру i ВЯ 7.
Входы ВЯ 5 и ВЯ 7 5.1 и 7.1 соответственно предназначены для приема элементов матрицы L при их считывании по диагонали (фиг. 5); вход 5.6 ВЯ 5 для приема элементов вектора Х; входы 5.4 ВЯ 5 и 7.5 ВЯ 7 для приема yвх; входы 7.7 ВЯ 7 для приема zвх; входы 5.5 ВЯ 5 и 7.6 ВЯ 7 для выдачи zвых, входы 7.8 ВЯ 7 для выдачи yвых.
Треугольная СЛАУ в устройстве решается за один макротакт в течение (3n 2) микротактов.
Временная диаграмма, поясняющая организацию потоков данных в вычислительных ячейках для случая n 4, приведена на фиг. 6.
На третьем шаге вычисления в устройстве реализуется вычисление произведения матрицы-строки на матрицу-столбец. Выражение (4) можно записать в следующем виде
Ψ ZтZ
Figure 00000037
z 3 i
(10) где z1 элементы вектора Z.
Вычисление согласно (10) реализуется в (n + 1) ВЯ 27 с помощью умножителя 33 и накапливающего сумматора 34. Элементы zi поступают на вход умножителя 33 со входа 27.1, а результат вычислений поступает с выхода накапливающего сумматора 34 на выход ВЯ 27 27.2 и далее на второй информационный выход устройства 4.2. Результат на выходе устройства появится через один микротакт, после того как была решена в устройстве треугольная СЛАУ на втором шаге вычисления.
Таким образом, выполняя последовательно в предлагаемом устройстве три вычислительные процедуры: разложение матрицы по методу Холецкого, решение треугольной СЛАУ и произведение матрицы-строки на матрицу-столбец, достигается цель расширения функциональных возможностей за счет решения задачи нахождения квадратичной формы.
Предлагаемое изобретение позволяет достичь следующих технико-экономических преимуществ:
решить новый класс задач, связанных с решением СЛАУ и вычислением квадратичной формы;
линейная структура вычислительных ячеек позволяет реализовать предлагаемое устройство на современной элементной базе.
В организации-заявителе было проведено моделирование на ППЭВМ типа IBM PC/AT предлагаемого устройства с учетом аппаратной реализации и создан макет устройства, реализованного с использованием ИМС микропроцессорного комплекта 1843.

Claims (3)

1. УСТРОЙСТВО ДЛЯ ОБРАБОТКИ МАТРИЦ, содержащее группу памятей, соединенных двусторонними связями с соответствующими блоками обработки группы и с первым дополнительным блоком обработки, соединенным двусторонними связями с первым блоком обработки группы, каждый блок обработки группы соединен двусторонними связями с предыдущим и последующим блоками обработки группы, вход первой памяти и выход последней памяти группы являются входом и выходом устройства, выход предыдущей памяти группы соединен с входом последующей памяти группы, отличающееся тем, что в устройство введен второй дополнительный блок обработки, причем вход первого дополнительного блока обработки является входом устройства, выход которого соединен с выходом второго дополнительного блока обработки, вход которого соединен с выходом последнего блока обработки группы.
2. Устройство по п.1, отличающееся тем, что второй дополнительный блок обработки содержит соединенные последовательно квадратор и сумматор, вход квадратора и выход сумматора являются входом и выходом блока.
3. Устройство по п.1, отличающееся тем, что первый дополнительный блок обработки содержит три регистра, пять мультиплексоров, два сумматора, узел извлечения корня, формирователь обратной величины, умножитель, формирователь знака числа, причем выход узла извлечения корня соединен с входами первого и второго мультиплексоров, выход первого мультиплексора через формирователь обратной величины соединен с входами третьего и четвертого мультиплексоров, выход третьего мультиплексора соединен с входом первого регистра, выход формирователя знака числа соединен с входами второго регистра, четвертого мультиплексора и первого сумматора, выход которого соединен с входом пятого мультиплексора, выходы которого и четвертого мультиплексора через умножитель соединены с входами третьего мультиплексора и второго сумматора, выход которого через второй мультиплексор соединен с входом третьего регистра, выходы с первого по третий регистров являются выходами блока, входы первого сумматора, формирователя знака числа и пятого мультиплексора, первого мультиплексора, второго сумматора и узла извлечения корня соединены с входами блока.
SU5009187 1991-08-16 1991-08-16 Устройство для обработки матриц RU2037200C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU5009187 RU2037200C1 (ru) 1991-08-16 1991-08-16 Устройство для обработки матриц

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU5009187 RU2037200C1 (ru) 1991-08-16 1991-08-16 Устройство для обработки матриц

Publications (1)

Publication Number Publication Date
RU2037200C1 true RU2037200C1 (ru) 1995-06-09

Family

ID=21588820

Family Applications (1)

Application Number Title Priority Date Filing Date
SU5009187 RU2037200C1 (ru) 1991-08-16 1991-08-16 Устройство для обработки матриц

Country Status (1)

Country Link
RU (1) RU2037200C1 (ru)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР N 1401478, кл. G 06F 15/347, 1986. *
Авторское свидетельство СССР N 1737462, кл. G 06F 15/347, 1990. *

Similar Documents

Publication Publication Date Title
CN104915322B (zh) 一种卷积神经网络硬件加速方法
EP0083967B1 (en) Monolithic fast fourier transform circuit
CN101763338A (zh) 一种点数可变的混合基fft/ifft实现装置及其方法
US4769779A (en) Systolic complex multiplier
US20060020770A1 (en) Processing unit for broadcast parallel processing
JPH07117948B2 (ja) コンピユータ装置
US6003056A (en) Dimensionless fast fourier transform method and apparatus
US5422836A (en) Circuit arrangement for calculating matrix operations in signal processing
RU2037200C1 (ru) Устройство для обработки матриц
Bergland et al. A fast Fourier transform global, highly parallel processor
Hoyer et al. An algorithm for the two dimensional FFT
Penz et al. Digital signal processor accelerators for neural network simulations
Frank Exploiting parallelism in a switch-level simulation machine
Covert A 32 point monolithic FFT processor chip
Ralston Views: Discrete Mathematics: The New Mathematics of Science: The computer revolution has made discrete mathematics as indispensable as the calculus to science and technology
JPH07200539A (ja) 二次元dct演算装置
CN115033843B (zh) 基于三角脉动阵列的协方差矩阵计算的电路实现方法
Zakharov et al. Distributed image processing based on the same IP-cores in FPGA-architecture
JPH07239843A (ja) 並列演算処理装置
SU1501087A1 (ru) Устройство дл определени весовых функций
Gemmeke et al. Neural network chips for trigger purposes in high energy physics
SU1532947A1 (ru) Устройство дл вычислени свертки
RU2037197C1 (ru) Устройство для решения систем линейных алгебраических уравнений
Nutt An overview of a multi associative processor study
Toffoli et al. The CAM-7 multiprocessor: A cellular automata machine