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

 

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

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

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

РЕСПУ БЛИН рр С 06 F 15/347

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

H asXOpCvOVv cs Pemn cxsv

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

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

ПРИ ГКНТ СССР (21) 4811405/24 (22) 09.04.90 (46) 23.05.92. Бюл. K - 19 (71) Киевский политехнический институт (72) Роман Выжиковски (РЕ.),- Ю.С.Ка-. невский и О.В.Масленников (SU) (53) 681.3 (088.8) (56) Авторское свидетельство СССР

Р 1443003, кл. G 06 F 15/348, 1988.

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

Р 1226484, кл. С 06 F 15/31, 1986.

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

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

Гаусса с периодом 2п тактов...SU„„1735868 A 1 2 (54) УСТРОЙСТВО ПНЯ ОПЕРАЦИЙ НАД ИАТ-.

РИЦА2Ш (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в специализированных матричных вычислителях. Цель изобретения — расширение функциональных возможностей за счет вычисления выражений вида Х = СА " В + D. Цель достигается тем, что в устройство введены И вычислительных модулей (Мчисло столбцов матрицы С) со связями.

Устройство работает в соответствии с алгоритмом Фаддеева с частичньи выбором ведущего элемента. 4 an.

С:

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

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

Недостатком известного устройства являк:тся его сравнительно небольшие. функциональные возможности.,)Ф

Целью изобретения является расши;рение функциональных возможностей устройства за счет реализации им апгоритма Фаддеева с частичным выбором ведущего элемента, который. позволяет вычислять выражение вида Х = CA В +

5868 4

173

+ 9, где. Л van), В 1;кМ, Cfp>n) и

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

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

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

1.1 - 1.п первого типа и 2.1 — 2.If второго типа и блок 3 синхронизации, причем вход запуска устройства подключен к одноименному входу блока 3, выход которого соединен с синхровходом вычислительного модуля 1.1, выход синхронизации, выход признака перестановки строк и информационный .выход вычислительного модуля 1.1i (К =

1, и-1) подключены соответственно к синхровходу, входу признака перестановки строк и.первому информационному входу вычислительного модуля

1.(К+1), второи информационный вход вычислительного модуля 1.P (P = 1,и) является Р-м информационным входом устройства, синхровход, вход признака перестановки строк и первый информационный вход вычислительного модуля

2.r (r = 1,If) подключены к одноименным выходам вычислительного модуля

2.(r-1), вторые информационные вход и выход вычислительного модуля 2.r являются. соответственно (n+r)-м информационным входом и r-м выходомустройства.!

Вычислительный модуль t.Р содержит блок 4.Р умножения-деления, первый вход которого подключен к выходу,первого регистра 5.Р, вход которого подключен к выходу первого коммутатора, 6.P и к входу второго регистра 7.P выход которого соединен с первыми входами первого 6.Р и второго 8.P коммутаторов и схемы 9.Р сравнения, второй вход которой подключен к вторым входам коммутаторов 6.Р и 8.P u к выходу третьего коммутатора 10.P первьп вход которого является вторым информационным входом вычислительного модуля, первый информационный вход которого связан с первыми входами четвертого 11.Р и пятого 12.P комму" таторов, второй вход. йоследнего под5

10 !

40 ключен к выходу блока 4.Р и к первому входу сумматора 13.P второй вход которого связан с вторым входом комму- . татора 11.P и с первым выходом перво-1 го блока 14.P. элементов задержки, второй выход которого связан с входом первого D-триггера 15.Р, выход которого подключен к управляющему входу регистра 5.Р, к декрементирующему входу первого счетчика 23.P и к входу обнуления синхронного RS-триггера

16.Р, выход которого подключен к первым входам первого элемента ИЛИ 17.P и элемента И 18.Р, второй вход которого является выходом схемы 9.P сравнения, а выход его подключен к второму входу шестого коммутатора 19.Р, первый вход которого является входом признака перестановки строк вычислительного модуля, первый и второй входы которого подключены к входам соответственно второго 20.Г и третьего

21.Г D-триггеров, выход последнего подключен к первому входу второго элемента ИЛИ 22, к второму входу блока 14.Р, входу установки триггера

16.Г, декрементирующему входу второго счетчика 24.Р и является вторым раз- . рядом выхода синхронизации вычислительного модуля, первьпЪ разряд кото- рого подключен к выходу триггера

20.Г, к управляющему входу коммутатора 10.Р и к входу выбора режима (параллельное занесение информации или счет) счетчиков 23.Р и 24.Р, выход счетчика 23.Р подключен к управляющему входу блока 14.P первый вход которого связан с выхопом коммутатора

8.Г, управляющие входы коммутаторов

6.P и В.Г объединены и подключены к выходу элемента ИЛИ 22, второй вход которого связан с входом четвертого

D-триггера 25.P и с выходом коммутатора 19.Г, управляющий вход которого подключен к выходу отрицательного переноса счетчика 24.P и к второму входу элемента ИЛИ 17.Р, выход которого подключен к входу выбора режима блока 4.Р и к управляющим входам коммутаторов 11.Р и 12.P выход коммутатора 12.P подключен к входу регистра

26.Г, выход которого является первым информационным выходом вычислительного модуля, выход признака перестанов- ки строк которого подключен к выходу

П-триггера 25.Р, выход коммутатора .

11.Р подключен к второму входу блока

4.Р,.выход сумматора 13.Р - к входу блока 27.Р,. выход которого связан с

5 173 вторым входом коммутатора 10.Р, управляющий вход блока 27.P связан с входом, Р устройства.

Вычислительный модуль 2.К содержит умнонитель 28.К, первый (К

1,И) вход которого связан с выходом первого регистра 29.К, вход которого подключен к выходу первого коммутатора ЗО.K и к входу второго регистра 31.К, выход которого подключен, к первым входам первого ЗО.К и второго 32.К коммутаторов, вторые входы которых подключены к выходу третьего коммутатора ЗЗ.К, первый .вход которого является вторым информационным входом модуля, первый и второй разряды аинхровхода и вход признака перестановки строк вычислительного модуля являются соответственно входами первого 34.К, второго

35.K и третьего 35.К D-триггеров, выходы которых являются соответственно первым и вторым разрядами выхода синхронизации и выходом признака перестановки строк вычислительного мо дуля, второй и первый информационные выходы которого подключены соответственно к выходам третьего 37.К и четвертого 38.K регистров, вход последнего является первым информационным входом модуля и подключен к второму входу умножителя 28.K, abmpp которого связан с первым входом сумматора

39.К, выход которого подключен к входам регистра 37.I: и первого блока

40.К элементов задержки, выход которого является вторым входом коммутатора 33.К, управляющий вход которого подключен к выходу D-триггера 34.К и к входу выбора режима (параллельное занесение информации или счет) счетчика 41.К, выход которого является управляющим входом второго блока

42.K элементов задержки, первые выход и вход которого подключены соответственно к второму входу сумматора

39.K и к выходу коммутатора 32.К, управляющие входы коммутаторов ЗО.К и

32еК объединены и подключены к выходу элемента ИЛИ 43.К, первый и второй входы которого подключены соответственно к входу триггера 36.K и к выходу триггера 35.К, управляющий вход регистра 29.К подключен к декрементирующему входу счетчика 41.K и к выходу четвертого В-триггера 44.К, вход которого является вторым выходом .бло- ка 42.К, второй вход которого соединен с выходом D-триггера 35.К,- управ-"

5868 6

А В А В

55 ляюций вход блока 40.K связан с вхо» дом Р устройства. .Устройство для операций над матрицами предназначено для вычисления с помощью алгоритма фаддеева выражения вида Х CA 1 В + D где в общем случае Л (а1Д,. В 1Ь;а1, С (ep>1„

D - f d Д вЂ” матрицы, йредставленные

s виде оЬъединенной матрицы, причем суть алгоритма сводится к тому, что, после обнуления в объединенной матрице нижнего левого квадранта (т.е. элементов матрицы -С), в правом нижнец квадранте (на месте матрицы D) получают искомый результат XjpxII): фактически это выражение позволяет реыать дополнительно еще несколько задач, а именно: решение системы линейных алгебраических уравнений с несколькими (или одной, в зависимости от размерности В) правыми частями:

Х = Л В при С = Х, D-= 0; обращение матрицы Х- = Л" при С = В = Х, D = P; умножение матриц (или матрицы) на вектор в зависимости от размерности

В: Х = С.В при Ь = Х, D = 0; умножение со сложением матриц Х = С В + D при Л = I; задача адаптивной фильтрации, которая использует выражение Х

= СЛ + D при В = Х, где Х вЂ” единичная матрица.

Обнуление нижнего левого квад- ранта объединенной матрицы можно осуществить, применяя к ней исключение Гаусса, до приведения матрицы А к верхнетреугольному виду. Тогда автоматически на месте матрицы -С получается нулевая матрица. При этом с .целью обеспечения численной устойчивости вычислений преобразование матрицы А выполняется по алгоритму исключения Гаусса с частичным выбором ведущего элемента по столбцу. Это означает, что на е-м шаге (i = 1, а-1Ã алгоритма Гаусса исключению элементов а . (j = i+1, и)., принадлежащих исходной матрице A = At (при i = 1) или уже частично преобразованной матрице A (при i > 1), предшествует по-. следовательное сравнение их с элемен- том а „, и, если очередной элемент а .;Iy (а . j, осуществляется переста-, новка j-й a i-й строк, т.е. i-я стро» ка становится j-й и наоборот. В про-, тивном случае перестановки строк не

173 происходит. Только после окончания всех (на данном шаге) операций срав- Ф пения и перестановок (т.е, процесса выбора ведущего элемента) начинается процесс исключения элементов а. и ! 1 преобразования строк с (i+1)-й по п-ю,матрицы А (а в нашем случае еще и В ), заключающийся в попарном суммировании каждой из этих строк с i-u строкой (объединенной матрицы в на-. шем случае), предварительно,умноженной на коэффициент m " "= -à ja, .

51 31 11

Однако, поскольку .в объединенной матрице под матрицей А находится матрица -С, которую необходимо привести к нулевой матрице, никаких перестановок строк матриц С и D со строками матриц

А и Б производить нельзя. Вследствие этого устройство осуществляет выбор ведущего элемента среди элементов

i-го столбца матрицы Л (на i-м .шаге), а процесс исключения осуществляет среди элементов i-ro столбца матриц

Л и С, т.е среди элементов i-го

1 столбца всей объединенной матрицы . (i = 1, и-1) . Все признаки перестаl новки строк запоминаются и передают ся между модулями в качестве элементов нижней треугольной матрицы перестановок V = Б Д; За (и-1) шаг алгоритма Гаусса обнуляется (и-1) столбцов объединенной матрицы. Однако для получения правильного результата, необходимо обнулить и и-й столбец матрицы С. Поэтому в данном случае алгоритм Гаусса имеет и и-й шаг, на котором отсутствует процесс выбора ведущего элемента (элемент a „„ cpasy

Ц становится ведущим, так как его не с чем сравнивать), а процесс исключения производится аналогично предыдущим в|агам алгоритма.

Поступление исходных данных организовано следующим образом. На i-u вход устройства (i = 1,n) каждый такт поступает элемент i-ro столбца объединенной матрицы, начиная с элемента а <, и заканчивая -Gt,, на (и+К)-й вход устройства (К 1,J ) — аналогично, начиная с элемента Ь,|„ и. заканчивая d „. В свою очередь, элементы каждого столбца объединенной матрицы поступают на .соответствующие входы устройства со сдвигом на один такт, т.е, элемент а<, поступает на i-u вход устройства в х-и такте его работы, а элемент Ь„К вЂ” в (и+К)-м такте работы устройства.

5868

Устройство работает следующим образом.

Положим и = 3, р = М = 2. Условим ся, что прием информации во все регистры, в том числе в регистры блоков задержки, в D-триггеры 25 и 36 всех вычислительных модулей осуществляется по заднему фронту синхроимпульса, т.е. в конце такта,,а во все остальные триггеры и счетчик 46 - по переднему фронту .синхроимпульса, т.е. в начале такта. Условимся также, что изменение состояния счетчиков .23 и 41 происходит по положительному, а счетчиков .24 — по отрицательному перепаду сигнала на их декрементирующих входах. Считаем, что перед началом вычислений (я+1)-е разряды всех регистров блока t4.1 установлены в нулевое состояние (m — разрядность операндов) .

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

45, в который записывается значение (n+p-1) = 4, и через элемент ИЛИ 48 на вход выбора режима счетчика 46.

В первом такте по переднему фронту синхросигнала в счетчик 46 записывается информация с выхода счетчика

45, т.е. (п+р-1), на выходе отрицательного переноса счетчика 46 .нуль, а также устанавливаются в единицу DЗ5 триггеры 20.1 и 21.1, после чего в счетчики 23. 1 и 24.1 записываются значения (п-1) = 2 и (i-.1) = О. Кроме того, элемент а < = а исходной матрицы поступает на второй информацион4Q ный вход модуля 1.1.и, пройдя через коммутаторы 10.1 и 6. 1, записывается в конце такта в регистр 7.1 (на управляющих входах обоих коммутаторов— единицы), а единица с выхода триггера

4g 21.1 записывается в (m+1)-й разряд

Р1 блока 14,1, на инверсном выходе счетчика 24.1 — нуль.

Во втором такте счетчик 46 уменьшает свое значение на единицу, на вы50 ходах триггеров 16.1, 20.2 и 21.2 появляются единицы, а на выходе триггера 21. t — нуль, элемент а,< = а, по1ступает на вход модуля t 2 и записывается в регистр 7.2, а единица с выхода триггера 21.2 записывается в (н+1)-й разряд Р1 блока 14.2, а (= а поступает через коммутатор 10.1 ! на входы коммутаторов 6.1 и 8.1 и схемы 9,1 сравнения, на другие входы

1 735868

10 которых поступает a« . усть а«, > а . Тогда нуль (U2 = О) с вьтхода схемы 9. 1 сравнения (признак отсутствия перестановки строк) поступз-.l

5 ет через элементы 18.1, 22.1 и коммутатор 19.1 (на его управляющем входе имеется нуль) на управляющие входы . коьа»утаторов 6.1 и 8.1, вследствие чего а перезаписывается в регистр

И

7 1 а а записывается в Р1 блока

14.1. Кроме того, единица из (m+1)-го разряда Р1 блока 14.1 переписывается в Р2 блока 14.1 и появляется на его выходе, U записывается в триггер

25.1 и появляется на входе признака перестановки строк иодуля 1.2, в счетчики.23.2 и 24.2 записываются значения соответственно (n-1) и 1, и на инверсном выходе отрицательного переноса счетчика 24,2 — единица, которая находится там до тех пор, пока содержимое счетчика 24.2 не станет равныи нулю.

В третьем такте счетчик 46 уменьщает свое значение на единицу, на выходахтриггеров 16.2,20.3,21.3и 15.1 появляются единицы а на выходе триггеФ

l ра 21.2 — нуль, элемент а4 поступает на вход модуля 1.3 и записывается в ЗО регистр 7.3, а единица с выхода триггера 21.3 — в (»и+1)-й разряд Р1 блока 14 3 а поступает на вход моду22 ля 1.2, поскольку на выходе счетчика

24.2 находится единица, коммутатор

19.2 передает на свой выход U< = О, которое переписывается в регистр

25.2 и управляет работой коммутаторов

6.2 и 8.2 так, что а записывается, в Р1 блока 14.2, а а», перезаписывается в регистр 7.2. Кроме того, а, поступает на входы коммутаторов 6.1, 8. 1 и схемы 9. 1 сравнения, на другие входы которых поступает а„ . Пусть à"» j c I à I . Тогда единица « i = 1) S

« с выхода схеиы 9.1 записывается в триггер 25.1 и управляет коммутаторами 6.1 и 8.1, вследствие чего а » записывается в Pl блока 14.1 (а переписывается в Р2 блока 14.1), а а » щ( записывается в регистры 7. 1 и 5.1.

Кроме того, единица из (m+1)-ro разряда Р1 блока 14.2 переписывается в

Р2 блока 14.2, на выходе счетчика

24.3 находится единица, счетчики

23.1, 24.1 не меняют своего состояния, поскольку на их управляющем .входе остается единица (режим параллель» ного занесения информации).

В четвертом такте счетчик 46 уиеньпает свое значение на единицу, а в счетчик 41.1 записывается (n-1), на выходах триггеров 16. 3, 34, 1, 35. 1 и 15.2 появляется единица, на выходе триггеров 16.1 и 21.3 — нуль, Ъ« !

= Ъ поступает на вход модуля 2.1 и записывается в регистр 31.1, а единица с входа триггера 35.1 — в (m+1)-й

f разряд Р1 блока 42.1, а поступает на вход модуля 1.3 и, поскольку на коммутаторы 6.2 и 8.2 поступает Ug(=

= О, записывается в Р1 блока 14.3, U2 записывается в триггер 25.3, я а перезаписывается в регистр 7.3.

Кроме того, а поступает на вход мо4 дуля 1. 2, и, поскольКу U >< = 1, а»2 записывается в Г1 блока 14.2, а а" в регистры 7.2 и 5.2. Кроме того, единица из (тп+1)-ro разряда Р1 блока

14.3 переписывается в Р2 блока 14.3, Ug» переписывается в триггер 25.2Ä

-С поступает на входы коммутаторов

» (<

6.1 и 8.1 и, поскольку на выходе элемента И 18.1 (независиио от выходя

i схемы 9. 1 сравнения) нуль, -Г «запи» сывается в Р1 блока 14. 1 а через коммутатор 11 ° 1 поступает на второй вход блока 4. 1 умножения-деления, ня

» первый вход которого поступает а из регистра 5.1, блок 4 выполняет деление и результат -G gi /а yi = ти, принимается в регистр 26.1, пройдя через коимутатор 12. 1 (па выходе элемента

ПЛИ 17.1 нуль).

В пятом такте в счетчик 41.2 записывается (n-1), счетчик 46 уменьшает свое значение на единицу, его содержимое становится равным кулю и иа его выходе отрицательного переноса появляется единица, которая сбрасывает триггер 47 в нуль, и поступает на декрементирующий вход счетчика 45, уменьшая его содеряимое .на единицу.

В этом z

34.2, 35.2 и 15.3 появляется единица, на выходе триггеров 16.2 и 35.1 нуль Ъ поступает на вход модуля J Д

2.2 i» записывается в регистр 31.2, а единица с выхода триггера 35.2 — в

1 (m+1)-й разряд Р1 блока 42.2, Ь, поступает на вход модуля 2.1 и, поскольку UZ» = О, записывается в

Р1 блока 42.1, Upi записывается в триггер 36. 1 а Ъ перезаписывается н » в регистр 31.1.. Кроме того, а поступает на вход модуля 1.3 и, так как

1 а записывается в Р1 блока ( 3f

14.3 (а переписывается в Р2 блока

735868

12

-C поступает на блок 4. 1, с выхода которого значенйе С,{ /а у{ m4{ принимается в регистр 26.1, -С { переписывается в Р2 блока 14 ° 1.

11

14.3), а а записывается в регистры

f 7.3 и 5.3. Кроме того, U>{ переписывается в регистр 25,3, -С поступает на входы коммутаторов 6.2 и 8.2 и, поскольку на выходе элемента И 18.2 нудь, записывается в Р1 блока 14.2

° ф а { переписывается в Р2 блока 14.2, . m «через коммутатор 11. 2 поступает на блок 4.2, который выполняет умножение, на второй вход сумматора 13.2 поступает а<< из Р2 блока 14.2, и pef зультат а +ш, ° а = а принимает l { 3 ся в Р1 блока 27.2, а ш переписывая{ ется в регистр 26.2 (на выходе элемента ИЛИ 17.2 единица) . В этом же такте -Cg{ поступает на входы коммутаторов 6.1 и 8.1 и записывается в

Р1 блока 14.1, -С{{ переписывается в

Р2 блока 14.1, а«поступает на блок

4.1, с выхода которого значение .-а{{ /а, = ms{ принимается в регистр

26. 1.

; I

В шестом такте в счетчик 46 записывается (и+р-2) = 3 с выхода счетчика 45, триггеры 21.1 и 20.1. устанавливаются соответственно в единицу и нуль, единица с выхода триггера 21.1 записывается в конце такта в (ш+1)-й разряд Р1 блока 14 1 (аналогично первому такту), триггер 44.1 устанавливается в единицу, а триггеры 15.3, I

16.3 и 35.2 —. в нуль, b поступает на вход модуля 2.2 и записывается в

Р1 блока 42.2, Uq{ записывается в

{ триггер 36. 2, Ь {g .перезаписывается в регистр 31.2, Ь < поступает на вход модуля 2.1 и (Us{ = 1) записывается в регистры 31..1 и 29.1 а Ь - в Р1

{

Э {{ блока 42.1, -С„> поступает на. входы коммутаторов 6.3 и 8.3 и, поскольку на выходе элемента И 18.3 нуль, записывается в Р1 блока 14. 3 а { пе° р пе реписывается в Р2 блока 14. 3 m noО ступает на блок 4.3, который выполняет умножение, на второй вход сумматора 13.3 поступает а и результат

{ а +ш«а э = а принимается в Р1 блока 27.3; а ш{ переписывается в регистр 26.3. В этом же такте -С га цоступает на вход модуля 1.2 и записывается в Р1 блока 14 ° 2, -С{ переписывается в Р2 блока 14.2, ш { =

{ .= .-a« /а { поступает на блок 4.2, ко . торый выполняет умножение, на вход сумматора 13.2 поступает а из Р2 .блока 14.2, и результат а +m " а

{ М s2

= а принимается в Р1 блока 27.2, m переписывается в регистр 26.2, В седьмом такте аналогично второму такту триггеры 20.2, 44.1 и 21.1 устанавливаются в йуль, триггеры

44.2, 21.2 н 16.1 — в единицу счетчик 24.1 уменьшает свое состояние на единицу (до минус единицы), .но на его инверсном выходе остается нуль, единица с выхода триггера 21.2 записыва15 ется в (m+t)-й разряд Р1 блока 14.2

° Я

Ъ поступает на вход модуля 2.2 и записывается в регистры 31.2, 29.2, а b« - P1 блока 42.2, Ь перепи{ сывается в Р2 блока 42.2, Us{ записывается в триггер 36.2, д{{ поступает на вход модуля 2.1 и записывается

4 . в Р1 блока 42. 1 (Ь {{ переписывается в Г2 блока 42. 1), m = -а, /а { поступает на умножитель 28.1 на втоФ ф

25 рой вход сумматора 39.1 поступает b

{ { 2. г{ и результат Ь +m2{ b3{ =Ъ, принимается в Р1 блока 40.1, a m { переписывается в регистр 38.1. В этом же такте -С поступает на вход вычисли тельного моцуля 1.3 и записывается в

ЗО Р1 блока 14.3, m поступает на блок

4.3, который выполняет умножение, на вход сумматора 13.3 поступает а и

{9 результат a{S+m { ass =а принимается

55 в Р1 блока 27.3, а переписывается в Р2 блока 2 7. 3, m >, — в регистр

26.3. В этом же такте -С переписы{ вается в Р2 блока 14.2 m4 = С /а

4{ {g Р поступает на блок 4.2, который. выполняет умножение, на вход сумматора

13.2 поступает -С нз Р2 блока 14.2 и результат -С, +m4 ° а = С прини{

I Зй= мается в Р1 блока 27.2 а принимаsz ется в Р2 блока 27.2, а2 из Р2 блока 27.2 через коммутатор 1.0.2 посту„, пает на входы коммутаторов 8.2 и 6.2 и записывается в регистр 7.2 m neУ 4,( реписывается в регистр 26.2 -С по-, ° в ступает на блок 4.1, с выхода которог о значение С { /а { = ms{ принимается

{ { в регистр 26.1.

В восьмом такте триггеры 20., 21.2 устанавливают в нуль, триггеры

21.3, 15. 1 -. в единицу, счетчик 24.2 уменьшает свое значение на единицу, и на его инверсном выходе появляется нуль, единица с выхода .триггера 21.3 записывается в (и+1)-й разряд Р1 бло- ф ка 14.3, d поступает на вход модуля 2.2 и записывается в Р1 блока

1 735868

42,2, Ь переписывается в Р2 блока

42.2, т, поступает на умножитель

28.2, Ь вЂ” на второй вход сумматора гя

39.2, РеэУльтат Ь г+пг, Ь г = Ьг принимается в Р1 блока 40.2, ш пе, реписывается в регистр 38. 2. В этом же такте d поступает на вход моду( ля 2 ° 1 и записывается в Р1 блока

42.1, d)t переписывается: в Р2 блока

42.1, шз поступает на умножитель

28.1, на сумматор поступает Ь и результат b«+m>, Ьэ = Ь г принимается в Р1 блока 40.1, m>< переписывается в регистр 38.1. В этом же .такте

-С переписывается в Р2 блока

14. 3, т4 поступает на блок 4. 3, который выполняет умножение, на сумматор 13.3 поступает -С ! и результат -С +m < ° а = С принимается в Р1 блока 27.3, а через. коммутатор 10.3 поступает на входы коммутаторов 8.3 и 6.3 и записывается в регистр 7.3, m< переписывается в регистр 26.3, m>, — в регистр 26.2, а также поступает на блок 4.2, который выполняет умножение, на сумматор

13.2 поступает -Сг и результат -С г+

+m51 азу = C z принимается.в Р1 блок

27.2, С, переписывается в Р2 блока

27,2, а через коммутатор 10.3 поступает на входы cxe b! 9.2 сравнения, где сравнивается с а

Пусть а I () а . Тогда единица гг зг

U = 1 с выхода схемы 9.2 управляет

Зг

2 коммутаторами 8.2 и 6.2 так, что а записывается в регистры 7.2 и 5.2, аг — в Р1 блока 14.2. 1;роме того, гг счетчик 23.1 уменьшает свое значение на единицу, и длина блока 14.1 становится равной единице.

В девятом такте d с входа модуля 2.2 записывается в Р1 блока 42.2, I д, переписывается в Р2 блока 42.2, с вьмода сумматора 39.2 результат

Ь +m> Ъ = Ъ, принимается в Р1 (Я. блока 40,2, m> переписывается в регистр 38.2, d << переписывается в Р2 блока 42.1, с вьмода сумматора 39.1 (( результат d«+m«, Ь, = с1«принимается . в Р1 блока 40. 1, а Ь- "эаписыва2 ется в регистр 31.1, с выхода сумматора 13.3 результат -С »+ш аН

{ (= С » принимается в Р1 блока 27.3, С . переписывается в Р2 блока 27.-3; а принимается в регистры 7.3 и 5,3, а az - в Р1 блока 14.3, С записывается в Р1 блока 14.2, блок 4..2 выполняет деление, и результат in.yz, -а »/а принимается в регистр 26.2.

14

В десятом такте д переписывается в Р2 блока 42.2, с выхода сумматора

39.2 результат 1 +ш b>z 1г npvнимается в Р1 блока 40.2, bz принииается .в регистр 31.2, и йереписьвается в регистр 38.1, с выхода сум1 матора 39.1 результат d><+ш Ь

= с1, принииается в Р1 блока 40.1, Ь записывается в регистры 31.1 и

29.1, С,> — в Р1 блока 14.3, с выхода сумматора 13.3 результат а +ш ° a2

УЭ

= а принимается в Р1 блока 27.3, блок 42 выполняет деление, и результат п г -С, /а » принимается в регистр 26.2.

В одиннадцатом такте с выхода сум-! ( матора 39.2 результат d +ш Ь »

= dz принимается в Р1 блока 40.2, Ь принимается в регистры 31.2, 29.2, с выхода сумматора 39.1 результат Ь +m z-Ь, = Ь?, принимается в

Р1 блока 40.1, и « йереписывается в

Р1 блока 42. 1, а — в Р2 блока 27. 3, С вЂ” в Р1 блока 14.3, с вьмода сумматора 13.3 результат C„>+m

= С, принимается в Р1 блока 27.3,блок

4.2 выполняет .деление, и результат

- m g< = -С /а принииается в регистр гг 52

26.2, m4 переписывается в регистр

26.3.

В двенадцатом такте с выхода сумматора 39.2 результат Ь +m>z Ь

= Ь принимается в Р1 блока 40.2, ье

35 с1 переписывается в Р2 блока 40.2, с выхода сумматора 39.1 результат

d «+m

40 ° 1, 1гг npHHeMaeTcsr s P1 бло ка 42.1, с вьмода сумматора. 13.3 ре40 эультат Cz>+m

В тринадцатом такте с выхода сумматора 39.2 значение d<< +m

45 .= d принимается в Р1 блока 40.2, 42.

d. — в Р1 блока 42.1, с выхода суматора 39.1 значение аа2, +шз» ЬЗ21= <1 принимается в Р1 блока 40.1, 2!

Ь „, — в регистр 31 1 длина блока

gp 14.3 уменьшается на единицу и стано.вится равной нулю (т.е. данные проводят с его входа на вьмод без задержки), Сз поступает на вход блока 4.3, 1Ъ он выполняет деление, и результат

55 4э

m4> = -С ь/а принимается в регистр

26.3.

В четырнадцатом такте с выхода .Сумматора 39 ° 2 значение Й +mä Ь »

= и принимается в Р1 блока 40;2, 1 735868 16

Ь вЂ” в регистр 31.2, длина блока м

42.1 становится равной нулю, и с выхода сумматора 39.1 значение d << +

+m4 Ъ Х принимается в Р1 блока

4ь м

40.1 и в регистр 37.1 и появляется на перйом выходе устройства, С - rrocòóпает на вход блока 4.3 и результат

= -С /а принимается в регистр

%9 23 зз

26.3, а m — в регистр 38.1.

В пятнадцатом такте длина блока

42.2 становится равной нулю, .с выхода сумматора 39. 2 значение d<<+m<> Ь .

Х принимается в регистр 37.2 и яъ1 появляется на втором выходе устройства сР переписывается в Р2 блока

40.2, с выхода сумматора 39.1 значение dÐ2 + m Ь31 X2 I принимается

21 в регистр 37.1 и появляется на первом выходе устройства.

В последнем шестнадцатом такте с выхода сумматора 39..2 значение d>< +

+т Ь = Х принимается в регистр зг гг

37.2 и появляется на втором выходе устройства. На этом вычисление элементов результируюцей матрицы Х =

= СА В + D заканчивается. Таким образом, полное время реализации алгоритма Т =- n(n-1) /2+п(р+1)+р+2+И-1 тактов, причем элементы результирующей матрицы Х вьдаются на выходы устройства последние p+N-1 тактов, причем с r-ro выхода устройства вьдается г-й столбец матрицы Х (r 1,И) аналогично поступлению исходных элементов матриц В и D на соответствующие входы устройства. Однако в случае решения потока аналогичных задач период работы устройства составляет t = Т— (n+N-1) тактов, .т.е. n(n-1) /2+р(п+

+1)+H-1.тактов. Это означает, что первый элемент а очередной объеди,ненной матрицы можно подавать через

t тактов после подачи элемента а предыдущей объединенной матрицы. В нашем случае Т = 16, t = 12 тактов, следовательно, элементы следующей матрицы можно начинать подавать на вход устройства (вместе с импульсом запуска) с тринадцатого такта.

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

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

10 информационный выход К-го вычислительногО модуля (К = I, л-1J лоднлючены соответственно к синхровходу, входу признака перестановки строк и первому информационному входу .(К+1)15

ro вычислительного модуля, второй информационный вход Р-го вычислительного модуля (Р = 1,n) является Р- м информационным входом устройства, в каждом вычислительном модуле первый и второй разряды синхровхода соединены соответственно с информационными входами второго и третьего триггеров, выходы которых являются соответственно первым и вторым разрядами выхода синхронизации вычислительного модуля, 25 вход и выход признака перестановки строк которого соединены соответственно с первым информационным входом шестого коммутатора и выходом четвертого триггера, информационный вход

З0 которого подключен к выходу шестого коммутатора и первому входу второго элемента ИЛИ, второй вход и выход ко» торого подключены соответственно к выходу третьего триггера и объединенным входам управления первого и вто35 . рого коммутаторов, объединенные первые информационные входы которых подключены к выходу второго регистра и первому входу схемы сравнения, вто40 рой вход которой подключен к объединенным вторым информационным входам первого и второго коммутаторов и выходу третьего коммутатора, вход управления которого подключен к выходу второго триггера и входам разрешения счета первого и второго счетчиков, декрементирующие входы которых подключены соответственно к входам обнуления и установки пятого триггера, 50 выход которого соединен с первыми. входами первого элемента ИЛИ и элемента И, второй вход и выход которого подключены соответственно к выходу схемы сравнения и второму информационному входу шестого коммутатора, вход управления которого подключен к выходу второго счетчика и второму входу первого элемента ИЛИ, выход ко-г торого подключен к входам управления

17 четвертого и пятого коммутаторов и

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

«( выражений вида Х = СА В + D, в устройство введены .N вычислительных модулей О1 — число столбцов матрицы В); каждый из которых содержит умножитель, сумматор, два блока элементов задержки, счетчик, элемент ИЛИ, четыре триггера, четыре регистра и два коммутатора, причем синхровход, вход . признака перестановки строк и первый информационный вход г-го вычислительного модуля (г = ое1, т 11) лоднлюоенн к одноименным выходам (r 1) вычислительного модуля, вторые информационные вход и выход r-го вычислительного модуля являются соответственно (n+

+r)-м информационным входом и г-м выходом устройства,. причем в каждом r-u вычислительном модуле первый и второй разряды синхровхода подключены соот ветственно к информационным входам первого и второго триггеров, выходы которых являются соответственно пер-

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

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

4Q вход которого подключен к управляющему входу первого коммутатора и выходу элемента ИЛИ, первый и второй входы которого подключены соответственно к информационному входу третьего триг45 гера и выходу второго триггера, выход первого триггера подключен к управ-; ляющему входу третьего коммутатора и входу разреыения счета счетчика., выход которого подключен к управляющему

5О входу второго блока элементов задержки, первый выход которого подключен

r к инйормационному входу четвертого триггера, выход которого подключен к синхровкоду первого регистра и декрементирующему входу счетчика, вход ус.тановки которого соединен с входом (и-1)-го устройства, вход управления первого блока элементов задержки подключен к входу P устройства.

° ° °

° °

° 4 °

° ° °

4 ° °

° °

° °

° ° °

° ° °

° ° °

1735868

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

Редактор И.ймакова Техред К.Дидык Корректор И.Самборская

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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