устройство для обработки матриц
Классы МПК: | G06F17/16 матричные или векторные вычисления |
Автор(ы): | Лапицкий Владимир Анатольевич[BY], Кухарев Георгий Александрович[BY], Грачев Валерий Анатольевич[BY], Семашко Александр Николаевич[BY], Липчанский Олег Николаевич[BY], Артюшин Алексей Альбертович[BY] |
Патентообладатель(и): | Минское высшее военное инженерное училище (BY) |
Приоритеты: |
подача заявки:
1991-08-16 публикация патента:
09.06.1995 |
Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано в специализированных системах предварительной обработки многомерных сигналов. Цель - расширение функциональных возможностей за счет вычисления квадратичной формы. Цель достигается тем, что в устройство, содержащее первую матрицу из n-запоминающих ячеек, вторую матрицу из (n - 1) вычислительных ячеек, n-ю вычислительную ячейку, введена дополнительная (n + 1)-я вычислительная ячейка, позволяющая выполнять операции: возведение в квадрат и суммирование с накоплением; а также n-я вычислительная ячейка дополнительно содержит сумматор и четыре мультиплексора. 2 з.п. ф-лы, 6 ил.
Рисунок 1
Формула изобретения
1. УСТРОЙСТВО ДЛЯ ОБРАБОТКИ МАТРИЦ, содержащее группу памятей, соединенных двусторонними связями с соответствующими блоками обработки группы и с первым дополнительным блоком обработки, соединенным двусторонними связями с первым блоком обработки группы, каждый блок обработки группы соединен двусторонними связями с предыдущим и последующим блоками обработки группы, вход первой памяти и выход последней памяти группы являются входом и выходом устройства, выход предыдущей памяти группы соединен с входом последующей памяти группы, отличающееся тем, что в устройство введен второй дополнительный блок обработки, причем вход первого дополнительного блока обработки является входом устройства, выход которого соединен с выходом второго дополнительного блока обработки, вход которого соединен с выходом последнего блока обработки группы. 2. Устройство по п.1, отличающееся тем, что второй дополнительный блок обработки содержит соединенные последовательно квадратор и сумматор, вход квадратора и выход сумматора являются входом и выходом блока. 3. Устройство по п.1, отличающееся тем, что первый дополнительный блок обработки содержит три регистра, пять мультиплексоров, два сумматора, узел извлечения корня, формирователь обратной величины, умножитель, формирователь знака числа, причем выход узла извлечения корня соединен с входами первого и второго мультиплексоров, выход первого мультиплексора через формирователь обратной величины соединен с входами третьего и четвертого мультиплексоров, выход третьего мультиплексора соединен с входом первого регистра, выход формирователя знака числа соединен с входами второго регистра, четвертого мультиплексора и первого сумматора, выход которого соединен с входом пятого мультиплексора, выходы которого и четвертого мультиплексора через умножитель соединены с входами третьего мультиплексора и второго сумматора, выход которого через второй мультиплексор соединен с входом третьего регистра, выходы с первого по третий регистров являются выходами блока, входы первого сумматора, формирователя знака числа и пятого мультиплексора, первого мультиплексора, второго сумматора и узла извлечения корня соединены с входами блока.Описание изобретения к патенту
Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано в специализированных системах предварительной обработки многомерных сигналов. Известно устройство для разложения Холецкого симметричной матрицы, содержащее первую матрицу из n запоминающих ячеек, вторую матрицу из (n 1) вычислительных ячеек и n-ю вычислительную ячейку [1]Однако недостатком этого устройства являются ограниченные функциональные возможности в задачах предварительной обработки сигналов, не позволяющие выполнить с помощью данного устройства целый ряд алгоритмов, связанных с вычислением квадратичной формы. Целью дополнительного изобретения является расширение функциональных возможностей устройства путем вычисления квадратичной формы. Поставленная цель достигается тем, что известное устройство для предварительной обработки информации дополнительно содержит вторые информационные вход и выход, (n + 1)-ю вычислительную ячейку (ВЯ), содержащую вход, выход, умножитель и накапливающий сумматор, причем вход (n + 1)-й ВЯ соединен с вторым выходом (n-1)-й ВЯ и с первым и вторым входами умножителя, выход которого соединен с входом накапливающего сумматора, выход которого подключен к выходу (n + 1)-й ВЯ, выход (n + 1)-й ВЯ соединен с вторым информационным выходом устройства, n-я вычислительная ячейка дополнительно содержит третий вход, второй сумматор и второй, третий, четвертый и пятый мультиплексоры, причем третий вход этой же ВЯ соединен с вторым информационным входом и первым входом второго сумматора, выход которого подключен к первому входу четвертого мультиплексора, второй вход второго сумматора соединен с выходом блока изменения знака, первый вход второго мультиплексора соединен с первым входом этой же ВЯ, второй вход пятого мультиплексора соединен с выходом умножителя, первый вход третьего мультиплексора соединен с выходом блока вычисления обратной величины, причем выход блока вычисления квадратного корня подключается к входу блока вычисления обратной величины через второй вход второго мультиплексора, выход блока вычисления обратной величины подключается к входу первого регистра через первый вход пятого мультиплексора, второй вход этой же ВЯ подключается к первому входу умножителя через второй вход четвертого мультиплексора, выход блока изменения знака подключается к второму входу умножителя через второй вход третьего мультиплексора, j-я вычислительная ячейка (j










А-1 матрица, обратная матрице А; при условии задании матрицы А (порядка n) и вектора Х размером n * 1. Одна из возможных стратегий нахождения согласно (1) представлена в таблице. Нахождение разложения матрицы А на множители (2) осуществляется аналогичным образом как в устройстве прототипа [1] за исключением того, что вычисленные элементы матрицы 1, не выводятся из запоминающих ячеек 3 и используются на втором шаге вычисления (таблица). Рассмотрим второй и третий шаги вычислений. Раскрывая (3), запишем














(5)
Система вида (3) и (5) решается методом прямой подстановки следующим образом:
Пусть



Z1 (X1 Y1,0)/l11. Далее, для каждого i



(6) что и дает решение системы линейных алгебраических уравнений (СЛАУ). Выражение со знаком суммы в представленном алгоритме (6) заменим рекуррентным выражением, связывающим вычисляемое значения yi,i-1 с номером такта и номером ячейки, в которой это значение вычисляется. В результате этого можно записать
Пусть



z1 (x1 y1,0)/l11.
Далее, для каждого i







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





(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) можно записать в следующем виде


(10) где z1 элементы вектора Z. Вычисление согласно (10) реализуется в (n + 1) ВЯ 27 с помощью умножителя 33 и накапливающего сумматора 34. Элементы zi поступают на вход умножителя 33 со входа 27.1, а результат вычислений поступает с выхода накапливающего сумматора 34 на выход ВЯ 27 27.2 и далее на второй информационный выход устройства 4.2. Результат на выходе устройства появится через один микротакт, после того как была решена в устройстве треугольная СЛАУ на втором шаге вычисления. Таким образом, выполняя последовательно в предлагаемом устройстве три вычислительные процедуры: разложение матрицы по методу Холецкого, решение треугольной СЛАУ и произведение матрицы-строки на матрицу-столбец, достигается цель расширения функциональных возможностей за счет решения задачи нахождения квадратичной формы. Предлагаемое изобретение позволяет достичь следующих технико-экономических преимуществ:
решить новый класс задач, связанных с решением СЛАУ и вычислением квадратичной формы;
линейная структура вычислительных ячеек позволяет реализовать предлагаемое устройство на современной элементной базе. В организации-заявителе было проведено моделирование на ППЭВМ типа IBM PC/AT предлагаемого устройства с учетом аппаратной реализации и создан макет устройства, реализованного с использованием ИМС микропроцессорного комплекта 1843.
Класс G06F17/16 матричные или векторные вычисления