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

 

Устройство для операций над матрицами относится к автоматике и вычислительной технике и может быть использовано при построении специализированных, в том числе и систолических устройств. Целью изобретения является расширение функциональных возможностей за счет частичного выбора ведущего элемента при вычислении выражений вида + D (с помощью алгоритма Фаддеева), где X n, г, ft n, X г - матрицы. Устройство для операций над матрицами содержит n Ar операционных блоков и блок синхронизации . 4 ил.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (5ц5 G 06 F 15/347

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4847777/24 (22) 09.07,90 (46) 30.12.92. ьюл. М 48 (71) Киевский политехнический институт им.

50-летия Великой Октябрьской социалистической революции (72) Р.Выжиковски, Ю.С.Каневский, M.Ê.Êëèìåíêî и О.В.Масленников (56) 1. Авторское свидетельство СССР

N. 1443003, кл. G 06 F 15/347, 1988.

2. Авторское свидетельство СССР

М 1226484, кл. 6 06 F 15/347, 1986. (54) УСТРОЙСТВО ДЛЯ ОПЕРАЦИЙ НАД

МАТРИЦАМИ

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

Известно устройство для операций над матрицами, содержащее связанные соответствующим образом и операционных блоков (где и — порядок обрабатываемых матриц), и-1 элементов задержки и распределитель импульсов, подключенный к управляющим входам всех операционных блоков (1). Устройство позволяет выполнять LU разложение либо обращение исходной матрицы, или решать систему из и линейных алгебраических уравнений методом Жордана-Гаусса с периодом 2п тактов.

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

„,5U„„1784997 А1 (57) Устройство для операций над матрицами относится к автоматике и вычислительной технике и может быть использовано при построении специализированных, в том числе и систолическйх устройств. Целью изобретения является расширение функциональных возможностей за счет частичного выбора ведущего элемента при вычислении выражений вида СА В+ D (с помощью ал-1 горитма Фаддеева), где A(n Х n), B(n,К г), С(р $ n). D(p 5 r) — матрицы. Устройство для операций над матрицами содержит и Нг операционных блоков и блок синхронизации, а ил, Наиболее близким к предлагаемому изобретению по технической сущности является устройство для умножения матрицы на вектор, содержащее и последовательно соединенных процессорных элементов и блок управления, соединенный с первым 4 процессорным элементом (2). Оно выбрано CO в качестве прототипа. Фь

Недостатком прототипа являются его () небольшие функциональные возможности. © . Целью изобретения является расширение функциональных возможностей устройства за счет частичного выбора ведущего элемента при вычислении выражений вида

СА В + D, где A(n g n), Bfn gr), С(р n) и

D(p Х г) — матрицы (в част н ом случае, и ри г = 1, р = 1 матрицы С, В и матрица D могут быть векторами размерностью и и скаляром соответственно).

На фиг. 1 представлена структурная схема устройства для операций над матрицами; на фиг. 2 — структурная схема первого операционного блока (ОБ); на фиг. 3 — структур1784997 .наясхема1-гооперационногоблока(1=2,й+г); подключен к первому информационному на фиг. 4 — структурная схема возможного входу коммутатора 8, выход которого подварианта построения блока синхрониза- ключен к первым информационным входам ции. второго коммутатора 11, третьего коммутаустройство для операций над матрица- 5 тора 12 и узла сравнения 10, выход которого ми содержит ОБ 1.1-1.(n+ r) и блок синхро- подключен к первому входу элемента И 13, низации 2, причем вход запуска устройства выход которого подключен к первому входу подключен ко входу запуска блока синхро- элемента ИЛИ 5, выход которого > подклюнизации2,первыйивторойвйходыкоторого чен к управляющим входам коммутаторов подключены соответственно к первому и вто- 10 11 и 12 и ко входу третьего элемента задерp6t4y управляющим входам первого ОБ, с жки14,выходкотброгоподключенковтороперввго no (n+ r)-й входы элементов обрабо- му выходу ОБ 1 1, выход коммутатора 11 тываемыуматриц устройства подключены со- подключен к информационному входу узла ответственно к первым йнформационным задержки6, первыйвыходкоторогоподклювходам ОБ 1.1-1.(n + i), первый, второй и 15 чен ко входу четвертого элемента задержки третий выходы ОБ 1.а (где а - 1, ..., n+ r - 1) 17, выход которого. пбдключен iкки 7, счетчика 9, приэтом каждый ОБ1l(i=2, n+r) первый коммутатор 8, счетчик 9; узел срав- содержит первый элемент задержки 20; нения 10, второй 11 и третий 12 коммутато- первый 21 и второй 22 коммутаторы, второй ры, элемейт И 13, третий элемент задержки 45 элемент задержки 23, первый. узел задерж14, второй регистр 15, делитель 16, четвер- ки 24, второй 25 и первый 26 регистры, третый элемент задержки 17, первый фетистр тий элемент задержки 27, счетчик 28, 18,третий регистр19, причем первыйуправ- сумматор 29, умножитель 30, четвертый реляющий вход ОБ 1.1 подключен. ко входу гистр 31, третий коммутатор 32, четвертый первого элемента задержки 3, выход кото- 50 элемент задержки 33, второй узел задержки рого .. подключен к информационному входу 34, третий регистр 35, причем в каждом ОБ триггера 4, к первому входу элемента ИЛИ . 1.l первый управляЮщий вход ОБ подклю5, к первому управляющему входу узла за- чен ко входу первого элемента задержки 20, держки 6 и к первому выходу ОБ 1,1, второй выход которого подключен к первомууправуправляющий вход которого подключен ко 55 зияющему входу первого узла задержки 24 и входу второго элемента задержки 7, выход к первому: выходу ОБ 1,1, второй управляюкоторого подключен к управляющему входу щий вход которого подключен к управляюпервого коммутатора 8, ко входу режима щим входам первого 21 и второго 22 счетчика 9 и к четвертому выходу ОБ 1.1, коммутатора и ко входу второго элемента 23 первый информационный вход которого задержки, выход которого подключен ко

1784997

10

2) обращение матрицы

25

35

40 регистров 25, 31 и 35

50 второму выходу ОБ 1Л, первый информационный вход которого подключен к первому информационному входу третьего коммутатора 32, выход которого подключен к первым информационным входам коммутаторов 21 и 22, выход коммутатора 21 подключен к информационному входу узла задержки 24, первый и второй выходы которого подключены соответственно к первому информационному входу сумматора 29 и ко входу третьего элемента задержки 27, выход которого подключен ко входу записи/считывания первого регистра 26 и ко входу декремента счетчика 28, информационный выход которого подключен ко второму управляющему входу узла задержки 24, выход коммутатора 22 подключен к информационному входу регистра 26 и к информационному входу второго регистра 25, выход которого подключен ко вторым информационным входам коммутаторов 21 и 22, выход регистра 26 подключен к первому информационному входу умножителя 30, выход которого подключен ко второму информационному входу сумматора 29, информационный выход которого подключен к информационным входам третьего регистра 35 и второго узла задержки 34, второй информационный вход

ОБ 1.i подключен ко второму информационному входу умножителя 30 и к информационному входу четвертого регистра 31, выход которого подключен к третьему выходу ОБ

1,i, третий, четвертый и пятый информационные входы которого подключены соответственно. ко второму информационному входу коммутатора 32, к информационному входу счетчика 28 и к управляющему входу узла задержки 34, выход которого подключен к шестому выходу ОБ 1.!„четвертый выход и третий управляющий вход которого подключены соответственно к выходу регистра 35 и ко входу четвертого элемента задержки 33, выход которого подключен к управляющему входу коммутатора 32, ко входу режима счетчика 28 и к пятому выходу

ОБ 1.i, вход синхронизации которого подключен ко входам синхронизации узлов задержки, сумматора, умножителя, счетчика и регистра 26 и ко входам записи/считывания

Устройство для операций над матрицами предназначено для вычисления с помощью алгоритма Фаддеева выражения вида X = СА B + Р, где в общем случае

A(nХп)={ац), В=(n )(rj={Ьи,), С(р gnj-{сц), D(p Х n) - {б1к) — матрицы, представленные в виде объединенной матрицы: причем суть алгоритма сводится к тому, что после обнуления в объединенной матрице нижнего левого квадранта (т.е. элементов матрицы — С), в правом нижнем квадранте (на месте матрицы Р) получаем искомый результат Х(р 3. r) (см. J,G, Nash, S.Hansen, modified algorithm for c0ncurrent execution

of linear algebra operations // lEEE Trans.

Comp., v. 37, N. 2, Febr. 1988, р. 130)..

Фактически это выражение К - СА B + D позволяет решать дополнительно еще несколько задач, а именно;

1) решение системы линейных алгебраических уравнений с несколькими (или одной, в зависимости от размерности В/ правыми частями:

X=A B при C= t, D-0;

Х= А при С = В = j, Р = 0;,3) умножение матриц (или матрицы на вектор, в зависимости от размерности В) Х= С В при А=), D=0;

4) умножение со сложением матриц

X=C В+Р при А=1;

5) адаптивная фильтрация, при которой используется выражение

Х = CA + D при В = I, где l — единичная матрица.

Обнуление нижнего левого квадранта объединенной матрицы можно осуществить, применяя исключение Гаусса, до приведения матрицы А к верхнетреугольному виду. Тогда автоматически на место матрицы -С получится нулевая матрица. При этом, с целью обеспечения численной устойчиво5 сти вычислений, преобразование матрицы А выполняется по алгоритму исключения Га усса с частичным выбором ведущего элемента по столбцу. Это означает, что íà i-м шаге (l - 1, n - 1) алгоритма Гаусса исключению элементов ale (i = i + 1, n), принадлежа-! щих исходной матрице А = А (при i = 1) или уже частично преобразованной матрице А (при! > 1), предшествует последовательное сравнение их с элементом а;, и,если оче..I

5 редной элемент I ail I > 1 аи I, осущестi I вляется перестановка j-й и I-й строк. т.е, i-я строка становится j-й, и наоборот. В противном случае перестановка строк не происходит, Только после окончания всех (на данном

1784997 шаге) операций сравнения и перестановок блока 2 — по переднему фронту синхроим(т.е. процесса выбора ведущего элемента) пульса, т.е. в начале такта. Условимся также, начинается процесс исключения элементов что изменение состояния счетчиков 9 и 28

ale и преобразования строк с (I+ 1)-й по п-ю происходит по положительному перепаду матрицы А (а в нашем случае еще и В), 5 сигнала на их декрементирующих входах, I заключающийся в попарном суммировании Считаем, что перед началом вычислений каждой из этих строк с I-й строкой (объеди- (m + 1)-е, в разряды всех регистров узла 6.1 ненной матрицы в нашем случае), пред- установлены в нулевое состояние, варительно умноженной на коэффициент

Импульс пуска, поступающий на вход

my - -аи /ац. Однако поскольку в объединен- 10 запуска устройства, устанавливает в едининой матрице под матрицей А находится мат- цу RS-триггер 40, а также поступает на вход рица -С, которую необходимо привести к режима счетчика 36, в который записываетнулевой матрице, никаких перестановок ся значение (n+ р - 1) - 4, и (через элемент строк матриц С и 0 со строками матриц А и ИЛИ 39) на вход режима счетчика 37.

В производить нельзя. Вследствие этого ус- 15 В первом такте по переднему фронту тройствоосуществляет выбор ведущегоэле- синхроимпульса в счетчик 37 записываетмента среди элементов I-ro столбца ся информация с выхода счетчика 36, т.е. матрицы А (йа I-м шаге), а процесс исключе- (n + р - 1), и:на выходе отрицательногоо ния осуществляетсреди элементов 1-го стол- . переноса счетчика 37 — единица а также

1 ! бца матриц А и С, т.е. среди элементов 20 устанавливаются в единицу элементы эаI-ro столбца асей объединенной матрицы держки 3,1, 7.1 и 14Л, после чего в счетчик (I = 1, л -1). Отметим также, что все признаки 9.1 записцвается значение (и - 1) =.2. Кроме перестановки строк запоминаются и пере- того, элемент а 1 = ац. исходной матрицы даются между ОБ в качестве элементов поступает на первый вход блока 1.1 и, пройнижйей треугольной матрицы перестановок 25 дя через коммутаторы l1,1 и 12,1, записываV=(v>ij. Отметим также, что за и-1 шагов, ется в конце такта в регистр 19.1 (на алгоритма Гаусса обнуляются и -1 столбцОв управляющих входах обоих коммутаторовобъединенной матрицы. Однако для пол- единицы), а единица с выхода элемента за учения правильного результата необходи- держки 3.1 записывается в (m+ 1)-й разряд, мо обнулить и п-й столбец матрицы С. 30 первого регистра (Р1) узла 6,1.

Поэтому в данном случае алгоритм Гаусса Во втором такте Счетчик 37 уменьшает имеет и-й шаг, на котором отсутствует про- . свое значение на единицу; В блоке 1,1 нэ цесс выбора ведущего элемента (элемент выходе элемента, задержки 3.1 — нуль, на а " сразу становится ведущим, т.K. årîéåñ" выходе триггера 4Л,появляется единица, чем сравнивать), а процесс. исключения про-: 35 содержимое (m+ 1)-ro разряда Р1 узла 6.1 изводится аналогично предыдущим шагам переписывается в Р2 узла 6.1. Элемент алгоритма; а2 = a2 поступает. через коммутатор 8.1 на .1

Поступление исходных данных органи- входы коммутаторов 11.1 и 1Ц.,и узла сравзовано следующим. образом, На I-й вход нения 10.1,:на другие входы которых постуустройства {I = 1, flj каждый такт поступает 40 лает а11 . пусть I аи 1 t а211 I. Тогда элемент l-.го столбца обьединенной матри" "нуль с выхода узла сравнения 10.1 (признак цы,начинаясэлементааяизакенчивая-Cpi, перестановки строк) поступает через элена (n + k)-й вход устройства (k 1, I/) -.. менты 13.1 и 5Л в элемент задержки I4.1 и аналогично, начиная с элемента Ьь и закан- на управляющие входы коммутаторов 11.1 и чивая ярк. В свою очередь, элементы столб- 45 12.1. вследствие чего а11 переписываетс в яв ца объединеннои матрицы постуйают на регистр 19.1, а а записывается в Р1 узла соответствующие входы устройства со сдви- 6Л. В блоке 1.2 в счетчик 28;2.записывается гом один такт, т.е. элемент a1i поступает на значение п-1,элементы задержки 20;2,23.2

I-й вход устройства в i-м такте его работы, а и 33.2 устанавливаются в единицу. На перэлемент beak — в(л+ k) ì такте работы устрой- 50 вый информационный вход блока 1.2 поступает элемент ац - ад и. пройдя через

Рассмотрим работу устройства. Для коммутатор 32.2, поступает на входы коммупростоты описания и без потери общности таторов 21,2 и 22.2 и в конце такта записыположим n - 3, р = r = 2, Условимся, что вается в регистр 25.2. прием информации во все регйстры, в том 55 В третьем такте счетчик 37 уменьшает числе в регистры узлов задержки, в элемент- свое значение на единицу. В блоке 1.1 на ты задержки 14 и 27 всех: операционных выходе элемента задержки 17.1 появляетблоков осуществляется по заднему фронту ся единица. Элемент аз - аз поступает синхроимлульса, т.е, в конце такта, а во все: через коммутатор 8Л на входы коммутатоостальные триггеры всех 05 и счетчик 37 . ров 11.1 и 12,1 и узла сравнения 10.1, на

1784997

10 другие входы которых поступаета(1(:. Пусть рого поступает агг с Р2 узла 24.2 и сумма

I аз1 I I a11 I . тогда единица с выхода Iz1 азг + azz = агг поступает в регистр 35.2 узла сравнения 10.1 записывается в эле- и узел 34.2. Элемент-С12- -C12 поступает

1 мент задержки 14.1 и управляет коммутато- на входы коммутаторов 21.2 и 22.2 и записырами 11.1 и 13.1, вследствиЕ чего à111 5 вается в Р1 узла 24.2. В блоке 1.3 элемент записывается в Р1 узла 6.1 (а21 переписы- задержки 27.3 устанавливается в единицу.

1 вается в Р2 узла 6.1), а а31 записывается в Элемент азз = азз поступает на вход комму-"

1 регистры 18.1 и 19,1. В блоке 1.2 единица из татара 32.3 и записывается в регистры 25.3 (m+ 1)-го разряда Р1 узла 24,2 переписыва- и 26.3, а23 переписывается в Р2 узла 24.3, ется в Р2узла24.2. Элементагг=агг посту- 10 а1з записывается вР1узел24,5. В блоке1.4

1 1 пает на вход коммутатора 32.2, с выхода элемент Ь21= b21 поступает на вход комму1 которого поступает на входы коммутаторов татора 32.4 и записывается в Р1 узла 24. 4, а

21.2 и 22,2 и в конце такта записывается в Ь11 перезаписывается в Р2 узла 24.4. В регистр 25,2 (а12 переписывается в Р1 узла блоке 1 5 в счетчик 28.5 записывается зна1

24.1). В блоке 1.3 элементы задержки 20.3, 15 чение n - 1. Элемент Ь12 = Ь12 поступает на

23.3 и 33.3 устанавливаются в единицу, в вход коммутатора 32 5 и, пройдя коммутасчетчик 28,3 записывается значение n - 1. тор 21.5, записывается в узел 24.5..

На первый вход ОБ 1.3 поступает элемент В шестом такте аггг из узла.34.2 постуа13=.а1з и, пройдя через коммутаторы 32.3, . пает на первый вход блока 1,1 и через ком1

21.2 и 22.2, в конце такта записывается в 20 мутатор 12.1 записывается в регистр 19.1. регистр 25.3, Ha вход делителя 16 1 поступает -С11 и а31

В четвертом такте счетчик 37 уменьшает и результат С111/a31 = 141поступает на вход свое значение на единицу. В блоке 1.1 триг- регистра 15.1. В блоке 1.2 на вход умножигер 4.1 устанавливается в нуль. На входы ком- теля 30,2 поступает I34 и азг, умножается Й

1 мутаторов 11.1 и 12,1 поступает -C1 = -С11 и 25 поступает на второй вход сумматора 29.2, на записывается в Р1 узла 6.1, а . . — пережи- первый вход которого с выхода узла 24.2 1(1 сывается в Р2 узла 6.1, а21 поступает на поступает а12 и сумма l31 азг +а12 -a32 первый вход делйтеля 16.1, на второй вход передается на выход регистра 35,2 и запикоторого поступает а31 из регистра 18.1.: сывается в 34.2. На вход коммутатора 32,2

Делитель 1.6.1 выполняет деление и резуль- 30 поступает -Czz = -Czz . В блоке 1.3 на входы

1 . тат -а21 /аз1 = lZ1, пройдя регистр 15.1, по- умножителя 30.3 поступает l21и азз1, резуль1 1 ступаетнаеговыход. В блоке1.2 на выходе тат поступает на второй вход сумматора злементазадержки27.2-единица. Элемент 29.3, на первый вхор которого поступает а32 = а32 поступает на Вход коммутатора . а23 и сумма 121 333 + а23 а23 записы

1 :.1

32.2 и, пройдя коммутатор 22.2., записывает- 35 вается в регистр 35;3 и в узел" 34,3. На ся в регистры 25.2 и 26.2. В блоке 1.3 на. вход коммутатора 32.3 поступает элевыходе элемента задержки 20,3 — нуль. На мент-C13=-С13 В блоке 1.4 на вход коммувход коммутатора 32.3 поступает элемент татара 32.4 поступает элемент Ь31 = Ьз1 и, 1 а23 =,а23 и, пРойдя коммутатор 21.3, зепи- пройдя коммутатор 22.4, записывается в ресывается в Р1 узла 24.3. В блоке 1„4 на 40 гистры25,4 и 26.4, В блоке1.5на вход коммувыходе элементов задержки 20.4, 23.4 и 33.4 татора 32,5 поступает Ьгг = Ьг21и записывается устанавливается единица. В счетчик 28,4 за- " в Р1 узла 24.5. писывается зйачение и -1. Элемент Ь11= Ь11 В седьмом такте в блоке 1.1 на входы

1 поступаетнавхадкоммутатора32.4и, прой-: делителя 16;1 поступает -C21 и аз1 и редя коммутатор22.4,записывается aðåãèñòð 45 зультат С21 /a31 = 151 поступает на выход

1 1

25.4, регистра 15.1. На вход коммутатора 8.1 поВ пятом такте счетчик 37 уменьшает ступаетазг и всхемесравнения происходит

2 свое значение йа единицу, В блоке 1.1 на сравнение вгг и азгг. пусть 1 азгг I > I azz (, 2 входы коммутаторов 11.1 и 12.1 поступает.. тогда азг записывается в регистры 18.1 и элемент "C21 -C21 и записывается в Р1 50 19.1, à azz — в Р1 узла 6.1. В блоке 1.2 на

1 г узла 6.1 а -С11 переписывается в Р2 узла входы умножителя 30.2 поступает l41 и азг

6.1. На вход делителя 16 1 поступают а11 и и результат подается на второй вход сумма1 аз1 и результатделения -а11 /a31 "l31 по- тора 29.2 и сумма l41 азг - Сц = С12 1 1 1 ступает на выход регистра 151, с выхода записывается в регистр 35.2 и в узел 34.2. которого121поступаетна входблока1.2 и на 55 На вход коммутатора 32.2 поступает элевторой вход умножителя 30.2, на первый мент агз, В блоке 1.3 на входы умножителя вход которого поступает азг с выхода реги- 30.3 поступает l31 и азз, результат поступа1 - 1 стра 26.2, результат l21 a32" поступает на ет на второй вход сумматора 29.3, сумма второй сумматор 29.2, на первый вход кото- l31 аЗз" +a131=-а33 поступаЕт в региСтР 35.3 .

1784997 и в узел 34.3. На вход коммутатора 32.3 пает б21 и результат 151 Ь31 + б21 = dz12

1 1

: поступает -C23 и через коммутатор 21,3 за- записывается в регистр 35,4 и в узел 34.4. В 1 писывается в узел 24.3. В блоке 1.4 на входы блоке 1.5 на входы умножителя 30.5 постуумножи еля 30.4 поступает 121 и b31, резуль- пает 141 и b32 и результат поступает на вто-:

1 1 тат поступает на второй вход сумматора, 5 рой вход сумматора 29.5, на первый вхоф сумма 121 Ь31+ Ь21 = b21 поступает на которого поступает б12 и результат 141

1 2 коммутатора 32.4 поступает элемент узел 34.5. б11 = d11 и, пройдя коммутатор 21.4, запи- - В одиннадцатом такте в блоке 1.1 на

1 сывается в узел 24.4, В блоке 1.5 на вход 10 входы делителя 16,1 поступает С133 и аззз и коммутатора 32.5 поступает элемейт результат-С1з /азз -143поступаетнавыход

3 з

b32 - Ь32 и зайисывается в регистры 25.5 и регистра 15,1, на входы умножителя 30.2

26.5, -: .: -.: поступает 152 и азз и результат поступает

В восьмом такте в блоке 1Л на входы на второй вход сумматора 29.2, на первый делителя 16.1 поступаетazz и а32 и резуль- 15 вход которого поступает Сгзг и результат

2 2 тат àzz /а32 = 132 поступает на выход реги- 152 азз + С2з Сгз поступает в регистр г 2 2 2 стра 15.1. В блоке 1.2 на входы умножителя 35,2 и в узел 34.2. На вход коммутатора 32.2

1 з

30.2 поступает 151и эзг :, результат йоступа- поступает b31 и записывается в регистры ет на второй вход сумматора 29.2 и сумма 25.2 и 26.2. В блоке 1.3 на входы умножителя

151 . à3z --,C22 = C22 записывается в узел 20.30.3 постуйает 142 и Ьз12 и результат посту- . г

34.2. В блоке 1.3 на входы умножителя 30.3 пает на второй вход сумматора 29,3, на перпоступает 141 и а33 и результат умножения вый вход котооого поступает.б112 pl поступает йа второй вход сумматора 29.3, на .. результат 112 b31 + d11 б11 записывается

1 - первый вход которого поступает-С13 и сум- - в регистр 25.3 и узел 34;3. В блоке 1.4 на ма Ьц азз. - C13 = C13 принимается в 25 входы умножителя 30,4 поступает 13z и b3zг

1 2 регистр 35.3 и узел 34.3. На второй вход и результат поступает на второй вход сумкоммутатора 32.3 с выхода узла 34.4 посту- матора 29.4, на первый вход которого поступавет элемент Ь21 и, проидя коммутатор пает dzz и результат 151 . b31 + бгг" = dzz

2 1 . 1

21.3, записывается в узел 24.3. В блоке 1.4 записывается в регистр 35.4 и в узел 4.4. В на входы умножителя 30.4 поступает 131 и 30 .блоке 1,5 нэ входы умножителя 30.5постуЬз1 и результат поступает на второй вход пает 151 и b31 и результат поступает на сумматора 29,4, на первый вход которого по- второй вход сумматора 29.5, на первый ступаетЬ11 ирезультат131 Ь31 +Ь11 =Ьз1: вход которого поступает d221 и результат

1 2 записывается в регистр 35.4 и в Р1 узла 34.4, 151 b31 + бгг = бгг записывается в регистр

В блоке 1.5 на вход умножителя 30.5 посту- 35 35.5 и:в узел 34.5. пает 121 и b33 и Рвэультат пОСтУпает на В двенадцатом такте в блоке 1.1 на вхо.1 второй. вход сумматора 295. нэ первый ды делителя .16Л поступает Сгзз и а333 и вход которого поступает b22 и результат результат-С23 /азз =153 поступает на выход

121 032 + Ьгг "Ьгг записывается в регистр регистра 15,1, В блоке 1.2 на входы умножи1 1 2

35.5 и в узел 34.4. 40 теля 30,2 поступают 143 и Ь313 и результат

В десятом такте в блоке 1 1 на входы поступает на-второй входсумматора29.2, на. делителя 16Л поступает Czzг и а32 и резуль- первый вход которого" .поступает б: и тат-Сгг /азг - bsz постуйает на выход реги- результат 14з b31 + б11 - d11 =х11записыг г . 3 з ". 4 4 стра 15.1. На второй вход коммутатора 8Л вается в узел 23.2 и появляется на первом поступает азз и записывается в регистры 45 выходе устройства. В блоке 1.3-на входы:

18Л и19Л. В блоке1.2 на входыумнбжителя умножителя 30.3 поступают lsz и b312 йрепоступают I42 и а332 и результат поступает зультат поступает на второй вход сумматора на второй вход сумматора 292, на первый 29.3, нэ первый вход которого поступает вход которого йоступает С13 и результат бг1 и результатl52 b31 +dz1 -б213посту142 аззг + С13 = C13 поступает в регистр 50 йает в узел"34,3 и в регистр 35.3. На.вход .г 335.2 и узел 34.2. В блоке 1.3 на входы умно- коммутатора 32.3 поступает b323 и"записыжителя 30.3 поступает 132 и b312 и результат вается в регистры 25.3 и 26.3. В блоке 1.4 на поступает на второй вход сумматора 29.3, на вхбды умножителя 30.4 поступают 142 и b322 первый вход которого поступает bz1 и ре- и результат поступает на второй вход сум2 зультат Iзг Ьз1 + bz1 = b31 записывается 55 матора29.4, наепрвыйвходкоторогопосту2 2» 3

: в регистр 35.3 и узел 34.3. В блоке 1,4 на пает б12 и результат 142 ° Ь122+ б122 = б123 входй умножителя 30,4 поступает 151 и Ь311 записывается в 34.4 и в регистр 35.4. и результат поступает на второй вход Сум- В тринадцатом такте в блоке 1.2 на вхоматора29.4, на первый входкоторого посту- ды умножйтеля 30.2 поступает 153 и Ь313 и

1784997 результат поступает нэ второй вход сумматора 29.2, на первый вход котооого поступает d21, и сумма!5з Ьз1 + d21 = dг1 = X21 записывается в узел 34.2 и появляется на первом выходе устройства. В блоке 1.3 на 5 входы умножителя 30.3 поступают 14з и Ьзгз и результат поступает на второй вход сумматора 29.3, на первый вход которого поступает

dQ и результат !43 Ьзг + d12 = d12 X12 записывается в узел 34.3 и появляется на 10 втором выходе устройства. B блоке 1.4 на входы умножителя 30.4 поступает )s2 и Ьзг и результат поступает на второй. вход сумматора 29.4, на первый вход которого поступает огг и результат l52< Ьзг + огг = огг 15 поступает в узел 34,4 и в регистр 35.4.

В четырнадцатом такте в блоке 1.3 на входы умножителя поступают tm u Ьзг и результат поступает на второй вход сумма- . тора 29.3, на первый вход которого поступа- 20 ет бггз и результат Ьз Ьзг + бгг = бгг - Хгг

3 4 появляется на втором выходе устройства.

На этом вычисление элементов результирующей матрицы X = СА "В + О заканчивается. Таким образом, полное 25 время реализации.алгоритма T=2n+,г+

nA — 1

+р+(р-1) (и -2)+ "тактов, причем элементы результирующей матрицы X выдаются на выходы устройства последние р+ r- 30

- 1,тактов (при этом с k-ro выхода устрой(;тва выдается k-й столбец матрицы X (k = 1, r)) . аналогично поступлению исходных элемен- тов матриц В и D нэ соответствующие входы устройства. Однако в случае решения пото- 35 ка аналогичных задач, период работы устройства составляет с = Т - (р + r - 1) тактов, пГп — 11 т.е.2п+1+(р-1) (n-2)+ — тактов, Ф

Это означает, что первый элемент а . оче- 40 редной обьединенной матрицы можно по. давать через t тактов после подачи элемента а11 предыдущей обьединенной матрицы. В нашем случае Т = 14, t = 11, следовательно, элементы следующей матрицы можно начи- 45 . нать подавать на вход устройства (вместе с импульсом запуска) с двенадцатого такта, Формул а изобретен ия

Устройство для операций над матрицами, содержащее n+ rоперационных блоков,,50 где и и r — порядки обрабатываемых матриц, и блок синхронизации, причем вход запуска устройства подключен к входу запуска блока синхронизации, первый и второй выходы которого подключены соответственно к 55 первому и второму управляющим входам первого операционного блока, с первого по (n + г)-й входы элементов обрабатываемых матриц устройства подключены,соответственно к первым информационным входам операционных блоков с первого по (n + r)-й, первый, второи и третий выходы а-го операционного блока(где а = 1, ..., и + r - 1) подключены соответственно к первому управляющему, второму управляющему и к второму информационному входам (а + 1)-го операционного блока, четвертые выходы операционных блоков с второгоо по (n+ r)-й подключены соответственно к выходам с первого по(п+ r-1)-й результата устройства, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет частичного выбора ведущего элемента при вычислении выражений вида (СА. В + D). где А - матрица размерностью(п хг),  —. матрица размерностью (и Ф r), С вЂ” матрица размерностью (р

X n), 0 — матрица размерностью (р Х r), в нем пятый выход Ь-го операционного блока (где

Ь = 2...„п + r - 1) подключен к третьему управляющему входу (Ь + 1)-го операционного блока, четвертый выход первого операционного блока подключен к третьему управляющему входу второго оперэционнбго блока, шестой выход С-го операционного блока (где С = 3, ..., и + r) .подключен к третьему информационному входу (С - 1)-ro операционного, блока, шестой выход второго операционного блока подключен к второму информационному входу первого операционного блока, первый вход константы устройства подключен к третьему информационному входу первого операционного блока и к четвертым информационным входам операционных блоков с второго по (п + г)-й, второй вход константы устройства подключен к пятым информационным входам оперЩионных блоков с второго по (и + r)-й, третий выход блока синхронизации подключен к входам синхронизации операционных блоков с первого по (n + г)-й, при этом первый операционный блок содержит три коммутатора, счетчик, триггер, делитель, четыре элемента задержки, узел задержки, узел сравнения, три регистра, элемент И и элемент ИЛИ, причем первый управляю- щий вход первого операционного блока подключен к входу первого элемента задержки, выход которого подключен к информационному входу триггера, к первому входу элемента ИЛИ, к первому управляющему входу узла задержки и к первому выходу первого операционного блока, второй управляющий. вход которого подключен к входу второго элемента задержки, выход которого подключен к управляющему входу первого коммутатора, к входу режима счетчика и к четвертому выходу первого операционного блока, первый информационный

1784997

16 вход которого подключен к первому информационному входу первого коммутатора, выход которого подключен к первым информационным входам второго коммутатора, третьего коммутатора и узла сравнения, выход которого подключен к первому входу элемента И, выход которого подключен к первому входу элемента ИЛИ, выход которого подключен к управляющим входам второго и третьего коммутаторов и к входу третьего элемента задержки, выход которого подключен к второму выходу первого операционного блока, выход второго коммутатора подключен к информационному входу узла задержки, первый выход которого подключен к входу четвертого элемента задержки, выход которого подключен к входу записи-считывания первого регистра, к входу декремента счетчика и к входу установки в "0" триггера, выход которого подключен к второму входу элемента И, второй и третий информационные входы первого операционного блока подключены соответственно к второму информационному входу первого коммутатора и к информационному входу счетчика, информационный выход которого подключен к второму управляющему входу узла задержки, второй выход которого подключен к первому информационному входу делителя, выход которого подключен к информационному входу второго регистра, выход которого подключен к третьему выходу первого операционного блока, выход третьего коммутатора подключен к информационному входу третьего регистра и к информационному входу первого регистра, выход которого подключен к второму информационному входу делителя, выход третьего регистра подключен к вторым информационным входам второго коммутатора, третьего коммутатора и узла сравнения, вход синхронизации перво о операционного блока подключен к входам синхронизации триггера, узла .задержки, первого регистра и счетчика и к входам записи-считывания второго и третьего регистров, при этом каждый операционный блок с второго по (n + г -й содержит три коммутатора, счетчик, два узла задержки. сумматор, умножитель, четыре регистра и четыре элемента задержки, причем в каждом операционном блоке с второго по (n+ r)-й первый управляющий вход операционного блока подключен к входу первого элемента задержки, Выход которого подключен к nepso y упрааляющему входу первого узла задержки и к первому выходу операционного блока, втого коммутатора, выход которого подключен к первым информационным входам перво10 ro и второго коммутаторов, выход первого

20 управляющему входу первого узла задерж30

40 соответст вен но к второму информацион но50

55 рой управляющий вход которого подключен к управляющим входам первого и второго коммутаторов и к входу второго элемента задержки, выход которого подключен к второму выходу операционного блока, первый информационный вход которого подключен к первому информационному входу третьекоммутатора подключен к информационному входу первого узла задержки, первый и второй выходы которых подключены соответственно к первому информационному входу сумматора и к входу третьего элемента задержки, выход которого подключен к входу записи-считывания первого регистра и к входу декремента счетчика, информационный выход которого подключен к второму ки, выход второго коммутатора подключен к информационному входу первого регистра и к информационному входу второго регистра, выход которого подключен к вторым информационным входам первого и второго коммутаторов, выход первого регистра подключен к первому информационному входу умножителя, выход которого подключен к второму информационному входу сумматора, информационный выход которого подключен к информационным входам третьего регистра и второго. узла задержки, второй информационный вход операционного блока подключен к второму информационному входу умножения и к информационному входу четвертого: регистра, выход которого подключен к третьему выходу операционного блока, третий, четвертый и пятый информационные входы которого подключены му входу третьего коммутатора, к информационному входу счетчика и к управляющему входу второго узла задержки, выход которого подключен к шестому выходу операционного блока, четвертый выход и третий управляющий вход которого подключены соответственно к выходу третьего регистра и к входу четвертого элемента задержки, выход которого подключен к управляющему входу третьего коммутатора, к вхОду режима счетчика и к пятому выходу операционного блока, вход синхронизации которого подключен к входам синхронизации первого и второго. узлов задержки, сумматора,.умножителя, счетчика и первого регистра и ко входам записи-считывания второго, третьего и четвертого регистров, 1784997

Составитель О.Масленников

Редактор M,Кузнецова Тех е М,Мо гентал К иг, р д р орректор П,Гереши

Заказ 4366 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4/5

Производственно-издательский комбинат "Патент", r. Ужгород, ул.Гагарина, 101

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

 

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

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

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

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

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

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

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

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

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

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

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

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

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

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

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

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