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

 

Изобретение относится к области вычислительной техники и может быть использовано в специализированных вычислительных машинах и устройствах обработки сигналов для перемножения (n n)-матриц. Цель изобретения - сокращение аппаратурных затрат. Поставленная цель достигается тем, что устройство содержит m вычислительных моделей первого типа, и вычислительный модуль второго типа, причем каждый вычислительный модуль первого типа содержит умножитель, сумматор, две группы регистров, два триггера, две группы элементов И, группу элементов ИЛИ, элемент НЕ и элемент И, а вычислительный модуль второго типа содержит сумматор, группу регистров, группу элементов И и триггер. В основу работы устройства положена параллельно-поточная организация вычислений. Перемножение (n n) - матриц осуществляется с помощью фиксированного числа m вычислительных модулей (m < n). 4 ил., 1 табл.

Изобретение относится к области вычислительной техники и может быть использовано в специализированных вычислительных машинах и устройствах обработки сигналов для перемножения двух (nxn) матриц. Цель изобретения сокращение аппаратурных затрат. На фиг.1 представлена структурная схема устройства для перемножения двух (nxn) матриц; на фиг.2 структурная схема устройства для n 3; на фиг.3 схема вычислительного модуля первого типа; на фиг.4 схема вычислительного модуля второго типа. Устройство для перемножения двух (nxn) матриц (фиг.1) содержит первый 1, второй 2 и третий 3 информационные входы, первый 4, второй 5 и третий 6 настроечные входы, синхровходов 7, вычислительные модули первого типа 8i (i 1, m), вычислительный модуль второго типа 9 и выход 10. Вычислительный модуль 8 первого типа (фиг.3), содержит первый 11, второй 12 и третий 13 информационные входы, первый 14 и второй 15 настроечные входы, синхровход 16, умножитель 17, сумматор 18, регистры 19i (i 1, n-1), 20i (i 1,n), 21, 22, 23 и 24, триггеры 25 и 26, группы элементов И 27 и 28, группу элементов ИЛИ 29, элемент И 30, элемент НЕ 31, первый 32, второй 33 и третий 34 информационные выходы, первый 35 и второй 36 настроечные выходы. Вычислительный модуль 9 второго типа (фиг.4) содержит информационный вход 37, настроечный вход 38, синхровход 39, сумматор 40, регистры 41i (i 1, n2+1), триггер 42, группу элементов И 43 и выход 44. В основу работы устройства положен следующий алгоритм. Пусть требуется перемножить две матрицы Aaik} и Bbkj} результатом перемножения которых является матрица С А, Вcij} i, j, k . Обозначим P n/m, где n/m ближайшее целое сверху, m некоторое выбранное число, K n/m. Будем считать, что в матрицах А и В соответственно К столбцов и К строк (1 k K). Если K n, то следует добавить соответствующее число нулевых строк и столбцов, чтобы выполнилось равенство К n. Элементы матрицы С вычисляются по следующим выражениям: Cij=Sijq; =bkj, 1 i,j n, 1 q P, которые определяются рекуррентными соотношениями: 1 i,j n 1 q P; S((q-1)m)ijq 0; (q-1)m+1 k q m; S(k)ijq S(k-1)ijq+aik bkj. Sijq S(q m)ijq; C(1)ij Sij1; 2 q P; C(q)ij C(q-1)ij+Sijq. Cij Cij(P). Рассмотрим работу вычислительных модулей. Вычислительный модуль 8 первого типа (фиг.3) работает в четырех режимах. Режим работы задается управляющими сигналами и подаваемыми соответственно на настроечные входы 14 и 15. Во всех четырех режимах вычислительный модуль 8 наполняет общие следующие операции. Элемент а, подаваемый на вход 13, задерживается регистрами 19 на n-1 тактов и выдается на выход 34. Элемент b, подаваемый на вход 11, задерживается регистрами 21 и 33 на два такта и выдается на выход 32. На выходе сумматора 18 формируется значение c' c+a b, где c' и a b значения, подаваемые на входы сумматора 18, соответственно с выходов регистра 24 и умножителя 17. В первом режиме подаются управляющие сигналы (1.1). При этом группа элементов И 27 открыта, группа элементов И 28 закрыта, элемент И 30 открыт и в регистры 201 и 21 записываются соответственно элементы a и b. Во втором режиме подаются управляющие сигналы ( ) (1.0). Группа элементов И 27 открыта и в регистр 201 записывается элемент а. В регистре 23 хранится ранее записанный элемент b. В третьем режиме подаются управляющие сигналы ( ) (0.1). Элемент И 30 открыт и B регистр 23 записывается элемент b. В регистрах 20i(i=) информация переписывается из 20i-го регистра в 20i+1-й регистр. В четвертом режиме подаются управляющие сигналы ( ) (0.0). В этом режиме в регистре 23 хранится ранее записанный элемент 8 и в регистрах 20i(i= ) информация переписывается из 20i-го регистра в 20i+1-й регистр. Вычислительный модуль 9 второго типа (фиг.4) работает следующим образом. На вход 37 последовательно подаются значения Ci (i 1,2.), которые записываются в регистр 411. При нахождении триггера 42 в нулевом состоянии, группа элементов И 43 закрыта, на первый вход сумматора 40 подается элемент Сi, а на второй вход нулевое значение, на выходе сумматора 40 формируется значение элемент Ci, которое записывается в регистр 412. Таким образом, при нахождении триггера 42 в нулевом состоянии происходит последовательная запись элементов Ci в соответствующие регистры 41. При установлении триггера 42 в единичное состояние, группа элементов И 43 открыта, через которую на первый вход сумматора 40 подается содержимое c регистра 41 n2+1-го, на второй вход сумматора 40 подается содержимое ci регистра 411 и на выходе которого формируется значение ci+c'i, которое записывается в регистр 412 и подается на выход 44. Рассмотрим работу устройства для случая n 3 и m 2 (фиг.2). При этом P n/m и K m, P 4. На вход 3 элементы ai, p+(q-1)m подаются в моменты времени
ta i-1+(P-1+(q-1)m)n+(n-m)(q-1)n, где P и q . На вход 1 элементы bp+(q-1)mj подаются в моменты времени
tb (m-1)(n-1)+(q-1)n2-(m-1)+(j-1)n+(m-p). Управляющие сигналы ij ( , ) ij представляются в виде матрицы
которые подаются на входы 4 и 5 в моменты времени
t (m-1)(n-1)+i-1+(j+1)n+(q-1)n2. При перемножении двух матриц А и В на вход 2 постоянно подается нулевое значение. Если требуется перемножить матрицы А и В и сложить их с матрицей С, то на вход 2 подаются элементы матрицы Sijo(o)cij(o)в моменты времени
tC(o) (m-1)(n-1)+i-1+(j-1)n. На вход 6 подается последовательность управляющих сигналов
0(m-1)(n-1)+m 0(m-1)(n-1)+m+n2-1 1(m-1)(n-1)+m+n2
1(m+n)(n-1)+(K/m-1)n2+m+1. На выходе 10 формируются элементы Cij результирующей матрицы в моменты
tc (m-1)(n-1)+i+(j-1)n+(K/m-1)2n+m.
В соответствии с приведенными выражениями организация входного и выходного потоков данных для n 3 и m 2 приведена на фиг.2. В таблице приведены состояния триггеров, регистров и значения на выходах вычислительных модулей устройства. Рассмотрим работу устройства при формировании элемента С11 9. В вычислительном модуле 81 на втором такте формируется элемент S111(1) S111(0) + a11b11, на одиннадцатом такте элемент S112(3)S112(2) + a13 x b31. В вычислительном модуле 82 на третьем такте формируется элемент c(1)11 S(2)111 S(1)111 + a12b21, на двенадцатом такте элемент с(2)11 S(4)112 S(3)112. В вычислительном модуле 9 на тринадцатом такте формируется значение с11 с(1)11 + +с(2)11, которое выдается на выход 10 устройства. Аналогичным образом формируются остальные элементы cij. Последний элемент cnnформируется на ((m-1)n+P n2+1)-м такте.


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

УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ МАТРИЦ, содержащее m вычислительных модулей первого типа (m фиксированное число, m n, n размерность перемножаемых матриц), причем первый и второй информационные входы и первый настроечный вход устройства соединены соответственно с первым и вторым информационными входами и первым настроечным входом первого вычислительного модуля первого типа, первый и второй информационные входы и первый настроечный выход i-го вычислительного модуля первого типа (i 1, m 1) соединены соответственно с первым и вторым информационными входами и первым настроечным входом (i + 1)-го вычислительного модуля первого типа, синхровходы m вычислительных модулей первого типа соединены с синхровходом устройства, отличающееся тем, что, с целью сокращения аппаратурных затрат, в него введен вычислительный модуль второго типа, третий информационный вход которого соединен с третьим информационным входом m-го вычислительного модуля первого типа, третий информационный вход i-го вычислительного модуля первого типа соединен с третьим информационным выходом (i + 1)-го вычислительного модуля первого типа, второй настроечный вход устройства соединен с вторым настроечным входом первого вычислительного модуля первого типа, второй настроечный выход i-го вычислительного модуля первого типа соединен с вторым настроечным входом (i + 1)-го вычислительного модуля первого типа, третий настроечный вход устройства соединен с настроечным входом вычислительного модуля второго типа, информационный вход которого соединен с вторым информационным выходом m-го вычислительного модуля первого типа, а синхровход с синхровходом устройства, причем каждый вычислительный модуль первого типа реализует следующие функции:

где j, j значения управляющих сигналов a и b соответственно на первом и втором настроечных входах вычислительного модуля на j-м такте,
Uj+1 и Vj+1 значения управляющих сигналов U и V соответственно на первом и втором настроечных выходах вычислительного модуля на (j + 1)-м тактах,
Aj+n-1= aj ,
Bj+2 bi,
Cj+1 cj + d e,
где d = aj jVaj-n j,
где
e = bj jVbj-pj ,

aj, bj и cj значения соответственно на третьем, первом и втором информационных входах вычислительного модуля на j-м такте,
Aj, Bj и Cj значения соответственно на третьем, первом и втором информационных входах вычислительного модуля на j-м такте,
а вычислительный модуль второго типа реализует следующие функции:

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6



 

Похожие патенты:

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

Изобретение относится к вычислительной технике и может быть использовано при построении специализированных ЭВМ

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано в качестве звеньев спецпроцессора, вычисляющего значения функций методом непрерывных дробей Эйлера, или для определения значения выражения α = Z<SP POS="POST">2</SP>/(A + XY)

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

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

Изобретение относится к области вычислительной техники и может быть использовано в специализированных вычислительных системах для вычисления собственных значений матрицы (n n)

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

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

Изобретение относится к вычислительной технике и может быть использовано в системах интеллектуального анализа данных, в том числе при обработке и анализе геолого-геофизической информации и других данных, полученных при исследовании природных или социально-экономических объектов или явлений

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