Устройство для перемножения матриц Советский патент 1993 года по МПК G06F15/347 

Описание патента на изобретение SU1837321A1

w

Ё

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

название год авторы номер документа
НЕЙРОПРОЦЕССОР, УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ НАСЫЩЕНИЯ, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СУММАТОР 1998
  • Черников В.М.
  • Виксне П.Е.
  • Фомин Д.В.
  • Шевченко П.А.
  • Яфраков М.Ф.
RU2131145C1
Устройство для умножения разреженных матриц 1989
  • Елфимова Лариса Дмитриевна
  • Коломейко Владимир Викторович
  • Мороз-Подворчан Игорь Григорьевич
  • Петущак Валерий Дисанович
SU1767502A2
Устройство для умножения матриц 1987
  • Грищенков Владимир Александрович
  • Калалб Александр Дмитриевич
  • Царев Александр Павлович
SU1471201A1
УСТРОЙСТВО ПОДСЧЕТА МИНИМАЛЬНОГО ЗНАЧЕНИЯ ИНТЕНСИВНОСТИ РАЗМЕЩЕНИЯ В СИСТЕМАХ С КОЛЬЦЕВОЙ ОРГАНИЗАЦИЕЙ 2005
  • Борзов Дмитрий Борисович
  • Заикина Татьяна Алексеевна
  • Ураева Елена Евгеньевна
  • Чернышева Ольга Сергеевна
RU2297027C1
Устройство для умножения матриц 1991
  • Аванесян Гарри Романович
  • Антоненков Владимир Борисович
  • Айдаров Геннадий Александрович
SU1807499A1
Матричный вычислитель 1986
  • Якуш Виктор Павлович
  • Перепелица Александр Александрович
  • Мищенко Валентин Александрович
  • Онищук Александр Григорьевич
SU1413644A1
Модуль однородной вычислительной структуры 1987
  • Лещенко Евгений Геннадьевич
  • Курочкин Юрий Алексеевич
SU1495809A1
Процессор для умножения вектора на матрицу размером S @ N 1990
  • Березовский Вадим Георгиевич
  • Лосев Владислав Валентинович
SU1751780A1
Умножитель разреженных полиномов 1989
  • Батюк Анатолий Евгеньевич
  • Грицык Владимир Владимирович
  • Кожан Владимир Петрович
  • Стрямец Сергей Петрович
SU1649564A1
Скалярный умножитель векторов 1988
  • Вышинский Виталий Андреевич
  • Ледянкин Юрий Яковлевич
SU1619254A1

Иллюстрации к изобретению SU 1 837 321 A1

Реферат патента 1993 года Устройство для перемножения матриц

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

Формула изобретения SU 1 837 321 A1

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

На фиг. 1 представлена функциональ- я схема устройства-прототипа, на фиг. 2 Не

Ф

нкциональная схема узла умножения.

Устройство по фиг. 1 содержит п после- дбвательно связанных между собой процессе рных блоков 1.1-1.П, блок управления 2, представляющий собой блок микропрограммного управления, причем каждый процессорный блок содержит узел умножения

3,

который выполняет операцию умножения

с накоплением m-разрядных элементов исходных матриц А и В, регистр 4 задержки элементов столбцов матрицы В, отведенный для хранения в каждом такте операндов матрицы В, поступающих из соседних процессорных блоков, выходной регистр 5, предназначенный для приема получаемого в узле умножения 3 результата операции, блок памяти 6, представляющий собой локальное запоминающее устройство 1-го процессорного блока для хранения элементов 1-й строки исходной матрицы А, где , n - порядок матриц, регистр 7 задержки потока адресов элементов строк матрицы А, который, проходя через все процессорные блоки, определяет для каждого из них на каждом такте адрес одного из операндов, выбираемых из блоков памяти 6.1-6.п. Кроме того, в устройство входит адресный блок

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

9,предназначенный для хранения элементов всех столбцов матрицы В.

00

со XI

со

ND

Устройство-прототип содержит информационные входы 10.1-10.п для записи элементов п строк матрицы А, информационный вход 11 для записи элементов всех столбцов матрицы В, входы 12, 13,14 блока управления 2, соединенные со- ответственно с управляющей шиной признака начала входных матриц, шиной счета и тактовой шиной устройства, выход блока управления 15, соединенный с управ- ляющей шиной признака начата результирующей матрицы С, информационные выходы 16.1-16,п результирующей матрицы

с.

Узел умножения 3 1-го процессорного блока, представленный на фиг. 2, содержит конвейерный умножитель 18 и накапливающий сумматор 19, причем умножитель 18 содержит группу регистров 20, представляющую собой прямоугольную матрицу одно- разрядных регистров (ступени конвейера), группу регистров 21, представляющую собой треугольную матрицу одноразрядных регистров, группу сумматоров 22.

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

Устройство перемножает исходные матрицы А aij и В bij с порядком п, получая результирующую матрицу согласно соотношения (1):

Сц- 2 анс . bkj(1)

Элементы п строк матрицы А поступают соответственно на информационные входы 10.1-10.п устройства. Элементы матрицы В поступают по столбцам на информационный, вход 11 устройства. Элементы результирующей матрицы С снимаются с выходов 16.1-1 б.п устройства построкам.

При подаче на входы 12 и 14 блока уп- равдения 2 соответственно сигнала признака начала входных матриц и тактовых импульсов блок управления 2 по первому выходу производит запись элементов п строк матрицы А, поступающих одновременно со входов 10.1-Ю.п устройства в запоминающие блоки 6 соответствующих процессорных блоков 1.1-1.П, а также формирование адресов этих элементов строк матрицы А в адресном блоке 8 и запись элементов всех столбцов матрицы В в запоминающий блок 9 со входа 11 устройства. При подаче на вход 1.3 блока управления 2 сигнала счет поток адресов, считываемый из адресного блока 8, проходя через регистры 7 процессорных блоков с помощью синхросигнала, поступающего со второго выхода блока 2 управления, определяет для каждого процессорного блока на каждом

такте адрес соответствующего элемента строк матрицы А. Между адресацией строк матрицы А и поступлением элементов столбцов матрицы В осуществляется единичная задержка. Выходы регистров задержки 7 тактируются единым синхросигналом, поступающим со второго выхода блока 2 управления, так что в каждом такте элементы строк матрицы А будут передаваться в процессорные блоки с единичной.задержкой, что на фиг. 1 схематично представлено в виде скошенного изображения элементов матрицы А. Выходы регистров задержки 4 тактируются единым синхроимпульсом, поступающим с третьего выхода блока 2 управления, так что в каждом такте элементы столбцов матрицы В передаются от одного процессорного блока к другому с единичной задержкой. Таким образом, элементы первой строки матрицы А и элементы первого столбца матрицы А, считанные из блоков памяти 6 и 9, поступят в узел умножения 3 первого процессорного блока 1.1 соответственно на его первый и второй входы при помощи синхросигнала, поступающего с третьего выхода блока управления на первый управляющий вход узла умножения 3 без задержки. Вторая строка матрицы А и первый столбец матрицы В, поступающие в процессорный блок 12 будут задержаны на одну единицу времени, третья строка матрицы А первый столбец матрицы В, поступающие в процессорный блок 1.3 будут задержаны на 2 единицы времени и т.д. Элементы Сц-Cin результирующей матрицы С по мере формирования их в узле умножения 3, где происходит накопление парных произведений aik bkj поступают в выходные регистры 5, которые управляются синхросигналами, поступающими с четвертого, пятого,...,(п+3)-го выходов блока 2 управления. При этом накапливающий сумматор 19 обнуляется. Для получения всех элементов строк результирующей матрицы С каждая строка матрицы А считывается из запоминающего блока 6п раз. При поступлении на выходы 16.1-16.п устройство первых элементов п строк результирующей матрицы С с выходов регистров 5 блок 2 управления формирует управляющий сигнал признака начала результирующей матрицы, поступающий на выход 15 устройства. Элементы строк результирующей матрицы С передаются с выходов устройства 16.1-16.П также с единичными задержками, что на фиг. 1 схематично представлено в виде скошенного изображения элементов.

Известные аналоги, реализованные на линейках процессорных блоков, и прототип обладают следующими недостатками:

1.Низкая надежность работы, т.к. реа- л1зация аналогов и прототипа на основе выпускаемых нашей промышленностью серийных микросхем требует использования большого числа кристаллов из-за большого количества внешних выводов для ввода-вы- в )да данных. Существующие аналоги и прототип используют п m-рэзрядных каналов в юда строк матрицы А и п т-разрядных к жалов вывода результатов, где п - поря- дэк матрицы А. Большое число внешних вы- в )дов приводит к увеличению вероятности отказов, т.к. известно, что внешние выводы микросхем являются самыми ненадежными элементами. Кроме того, размещение процессорных блоков на большом количестве микросхем вызывает необходимость изготовления соответствующего числа сигнальных линий связи, что в свою очередь снижает надежность аппаратуры.2.Низкие технологичность и отказоустойчивость из-за необходимости использования большого числа микросхем при с юей реализации.3.Высокая стоимость.4.Большие аппаратурные затраты, т.к. к лждый процессорный блок должен иметь с юй блок оперативной памяти. Кроме того, в устройстве необходимы адресный блок и блок памяти для хранения всех столбцов матрицы В.

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

Поставленная цель достигается тем, что в устройство для перемножения матриц, со- Дфжащее линейную матрицу из п процессорных блоков (п - порядок матрицы), блок управления, причем каждый процессорный б ток содержит узел умножения и выходной регистр, причем, в каждом процессорном б токе первый управляющий вход узла умножения соединен соответственно с (п+1)-м в входом блока управления, второй выход уала умножения соединен с первым информационным входом выходного регистра, в;сод второго сомножителя узла умножения первого процессорного блока соединен со вторым информационным входом устройст- в,), второй управляющий вход узла умноже- н 1я первого процессорного блока и первый управляющий вход выходного регистра первого процессорного блока соединены с (г+2)-м выходом блока управления, выход выходного регистра первого процессорного блока соединен с информационным выхо- устройства, (п+4)-й выход блока управления соединен с выходом признака начала результирующей матрицы, первый и второй

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

5 каждого предыдущего процессорного блока соединен со вторым информационным входом узла умножения последующего процессорного блока, выход выходного регистра каждого последующего процессорного бло0 ка соединен со вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (п+3)-м выходом бло5 ка управления, второй управляющий вход выходного регистра соединен с (п-Н}-м выходом блока управления, второй управляющий вход узлов умножения со второго по п-й . процессорных блоков и первые управляю0 щие входы выходных регистров со второго по n-й процессорных блоков соединены с (п+2)-м выходом блока управления.

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

0 и второй групп являются соответственно входами первого и второго сомножителей узла умножения, управляющие входы регистров первой и второй групп и первый управляющий вход накапливающего

5 сумматора соединены с первым управляющим входом узла умножения, первые выходы регистров первой и второй групп соединены соответственно с первым и вто- оым входами соответствующих сумматоров

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

Сопоставительный анализ с прототипом позволяет сделать вывод, что заявляемое устройство для перемножения матриц отличается тем, что 1-й процессорный блок содержит мультиплексор ввода в узел умножения элементов 1-й строки первой матрицы, который коммутирует передачу элементов 1-й строки либо со входа устройства, либо с первого выхода узла умножения. При помощи мультиплексора создается цепь обратной связи, благодаря которой 1-я строка первой матрицы А циркулирует в 1-м процессорном блоке, взаимодействуя всеми столбцами второй матрицы В, формируя при этом i-ю строку результирующей матрицы С. Это дает возможность использовать один канал ввода для строк матрицы А вместо п каналов ввода в прототипе. Кроме того, каждый узел умножения содержит прямоугольную матрицу одноразрядных регистров, которая обеспечивает последовательное прохождение столбцов второй матрицы через все процессорные блоки -и блок регистров задержки, соединенный с двухвходовым выходным регистром, благодаря которым используется один канал вывода результатов, вместо п каналов в прототипе.

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

Это позволяет сделать вывод о его соответствии критерию существенные отличия.

На фиг. 3 представлена функциональная схема предлагаемого устройства; на фиг, А - функциональная схема узла умножения 1-го процессорного блока, где , п - порядок исходных матриц А и В,

Устройство по фиг. 3 содержит п последовательно связанных между собой процессорных блоков 1.1-1.П и блок управления 2, представляющий собой блок микропрограммного управления.

1-й процессорный блок содержит узел умножения 3, выполняющий операцию умножения с накоплением n-разрядных элементов исходных матриц А и В,

мультиплексор 4 ввода элементов 1-й строки матрицы А в узел умножения 3, коммутирующий передачу элементов 1-й строки матрицы А со входа 6 устройства или с первого выхода узла умножения 3, выходной регистр

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

устройства. Устройство содержит информационные входы 6 и 7 элементов соответственно входных матриц А и В, входы 8, 9 блока управления 2, соединенные соответственно с управляющей шиной признака

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

Узел умножения 3 1-го процессорного блока, представленный на фиг. А, содержит конвейерный умножитель 12, накапливающий сумматор 13, причем конвейерный умножитель содержит первую и вторую группы регистров 15 и 16 и группу сумматоров 17, элемент задержки 14, содержащий (n-i) последовательно соединенных регистров для выравнивания временных задержек

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

через каждые п тактов. При этом данные передаются от одного регистра к другому.

Блоки устройства соединены следующим образом. Информационные входы устройства 6 и 7 соединены соответственно со

вторыми входами мультиплексоров 4 каждого процессорного блока 1.1-1.П и вторым входом узла умножения 3 первого процессорного блока 1.1, входы блока 2 управления 8, 9 и выход 10 соединены

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

ервого процессорного блока 1.1. первый,

торой n-й выходы блока управления 2

оединены соответственно с управляющи- и входами мультиплексоров ввода 4 первоо, второго п-го процессорных блоков,

in+1)-u выход блока 2 управления соединен первым управляющим входом узла умножения 3 и вторым управляющим входом вы- одного регистра 5 каждого процессорного лока, (п+2)-й выход блока 2 управления со- динен со вторым управляющим входом уз- а умножения 3 и первым управляющим ходом выходного регистра 5 каждого про- .ессорного блока (п+3)-й выход блока управ- ения 2 соединен с третьим управляющим ходом узла умножения 3 каждого процес- орного блока, третий выход узла умноже- ия 3 каждого предыдущего процессорного лока соединен со вторым информацион- ым входом узла умножения 3 каждого по- ледующего процессорного блока, выход ыходного регистра 5 каждого последующе- о процессорного блока соединен со вто- ым информационным входом выходного егистра 5 каждого предыдущего процес- орного блока, в каждом процессорном бло- е первый выход узла умножения 3 оединен с первым входом мультиплексора , выход которого соединен с первым ин- юрмационным входом узла умножения 3, торой выход которого соединен с первым нформационным входом выходного реги- тра 5.

Блоки узла умножения 3 соединены сле- ующим образом.

Информационные входы регистров пер- Е.ЫЙ и второй групп 15 и 16 соединены соот- Еетственно со входами первого и второго с омножителей узла умножения 3. управляю- цие входы регистров первой и второй групп 5 и 16 и первый управляющий вход накапывающего сумматора 13 соединены с лер- Е ым управляющим входом узла умножения, первые выходы регистров первой и второй групп 15 и 16 соединены соответственно с первым и вторым входами соответствующих с умматоров группы 17, вторые выходы реги- стров первой и второй групп 15 и 16 соеди- ены соответственно с первым и третьим Е ыходами узла умножения 3, выходы сумматоров группы 17 соединены с соответствую- Мими входами накапливающего сумматора 3, выход которого с информационным входом элемента задержки 14, выход которого соединен со вторым выходом узла умноже- h ия 3, второй управляющий вход накапливающего сумматора 13 и стробирующий вход элемента задержки 14 соединены соответственно со вторым и третьим управляющими входами узла умножения 3.

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

В устройстве реализован конвейерный принцип обработки информации в реаль- ном масштабе времени, который обеспечивает перемножение пар матриц АхВ, FxK и т.д., поступающих последовательно одна за другой соответственно на входы 6 и 7 устройства, что обеспечивает однородную за- 0 грузку всех процессорных блоков.

Пары матриц могут поступать непрерывно, а также через определенные интервалы времени, кратные п. Устройство вычисляет произведение 5 матриц и , размерностью пхп с разрядностью элементов матриц, равной п, получая результирующую матрицу C(cij с элементами Cij согласно соотношения: п

0Й 2 aik bkj(1)

k 1

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

Q через входы соответственно 6 и 7 один раз и продвигаются в конвейерном режиме.

Каждый из п процессорных блоков устройства выполняет операцию умножения с накоплением, т.е. конечный результат в со5 ответствии с (1) образуется при вычислении промежуточныхчленов, накапливающихся в виде частных сумм в каждом процессорном блоке. Каждый 1-й процессорный блок оперирует с 1-й строкой матрицы А, формируя

Q , i-ю .строку матрицы С.

Элементы Сц результирующей матрицы С покидают узел умножения 3 соответствующих процессорных блоков в те моменты времени, когда они будут полностью сфор5 мированы, и передаются в выходные регистры 4 от одного процессорного блока к другому, образуя поток элементов строк матрицы С, движущийся справа налево на выход 11 устройства. При подаче на выходы

Q 8 и 9 блока управления 2 соответственно синхронизирующего сигнала признака начала входных матриц и тактовых импульсов блок управления 2 по первому выходу устанавливает управляющий сигнал мульти5 плексора 4 первого процессорного блока 1.1 в состояние Г, открывая при этом второй вход мультиплексора 4, а по (п+1)-му выходу выдает сигнал записи на управляющий вход узла умножения 3. При этом элементы первой строки матрицы 4 и элементы

первого столбца матрицы В, поступающие непрерывно от датчиков с интервалом в один такт соответственно на б и 7 выходы устройства, поступают в первый процессорный блок 1.1 соответственно на первый и второй входы узла умножения 3. Прохождение первой строки матрицы А со входа 6 устройства в остальные процессорные блоки блокируется, т.к. управляющие сигналы мультиплексоров 4 остальных процессор- ных блоков 1.2-1.П в этот момент времени установлен в состояние О. По истечении п тактов работы узла умножения 3 первого процессорного блока, когда элементы первой строки матрицы А и элементы первого столбца матрицы В заполнят п регистров соответственно первой группы регистров 15 и второй группы регистров 16 узла умножения 3, по первому выходу блока управления 2 управляющий сигнал мультиплексора 5 первого процессорного блока 1.1 устанавливается в состояние О, закрывая при этом второй вход этого мультиплексора и открывая его первый вход, а по второму выходу блока управления 2 управляющий сигнал мультиплексора 5 второго процессорного блока устанавливается в состояние 1. При этом в первом процессорном блоке 1.1 первая строка матрицы А вновь поступает с первого выхода узла умножения 3 через первый вход мультиплексора 5 на первый вход этого же узла умножения, на второй вход которого поступает со входа 7 устройства второй столбец матрицы В, а во втором процессорном блоке на первый и второй входы узла умножения 3 одновременно поступают соответственно вторая строка матрицы А и первый столбец матрицы В соответственно со входа 6 устройства и третьего выхода узла умножения 3 первого процессорного блока. Прохождение первой строки матрицы А в остальные процессорные блоки 1.3-1.П блокируется нулевыми управляющими сигналами мультиплексора 4. Аналогичным образом третья строка матри- цы А поступит в третий процессорный блок 1.3, ... и т.д., n-я строка матрицы А поступит в n-й процессорный блок 1.п. Благодаря наличию цепи обратной связи в узле умножения каждого процессорного блока 1-я строка матрицы А циркулирует в 1-м процессорном блоке (в блоке регистров 15) п раз, взаимодействуя со всеми столбцами матрицы В, которые последовательно сдвигаются по линии процессорных блоков 1.1, 1,2 1.п,

проходя последовательно через группы регистров 16 узлов умножения всех процессорных блоков. При этом формируется 1-я строка результирующей матрицы С в 1-м процессорном блоке.

Элементы Cij результирующей матрицы С по мере формирования их в узлах умножения 3 процессорных блоков, где происходит накопление парных произведений aik bkj, поступают в выходные регистры 5 через элементы задержки 14. Все выходы элементов задержки 14 тактируются единым синхросигналом, поступающим с (п+3)-го выхода блока 2 управления, так что данные передаются в блоке 14 от одного регистра к другому через каждые п тактов. 1-й процессорный блок имеет в блоке 14 n-i регистров задержки. Таким образом, n-й процессорный блок не имеет ни одного элемента задержки и, как только элемент результирующей матрицы сформируется в n-м процессорном блоке, все результаты, полученные во всех процессорных блоках, одновременно передадутся в выходные регистры 5 при помощи единого синхросигнала, поступающего с (п+2)-го выхода блока управления, открывающего первый информационный вход регистра 5, и единого синхросигнала, поступающего с (п+1)-го выхода блока 2 управления, производящего запись числа в этот регистр. На следующем такте открывается второй информационный вход регистра 5 и данные, находящиеся в этих регистрах, передаются по их вторым входам от одного процессорного блока к другому на информационный выход 11 устройства. Обнуление накапливающего сумматора происходит по (п + 2)-му выходу блока 2 управления. При поступлении на выход 11 устройства первого элемента результирующей матрицы С с выхода регистра 5 первого процессорного блока 1.1 блок управления 2 формирует управляющий сигнал признака начала выходной матрицы, поступающий с выхода 10 устройства.

В конвейерном режиме вслед за матрицами А и В в устройство может поступать следующая пара матриц F и К при наличии на входе 8 блока управления 2 нового синхронизирующего сигнала признака начала входных матриц,

При непрерывном поступлении на входы 6 и 7 новых пар перемножаемых матриц устройство представляет собой синхронный конвейер.

Особенностью структуры предлагаемого устройства является аличие цепи обратной связи в узле умножения каждого процессорного блока, благодаря которой 1-я строка матрицы А циркулирует в 1-м процессорном блоке столько раз, сколько столбцов в матрице В, взаимодействуя со всеми столбцами матрицы В, формируя при этом 1-ю строку результирующей матрицы С. Такая особенность структуры устройства дает возжность использовать один канал ввода ex n строк матрицы А, вместо п каналов ода строк матрицы А в прототипе, и иск- очает необходимость использования п оков памяти для хранения строк матрицы

Проведем сравнительную характери- ф-ику прототипа и предлагаемого устройст- I а на примере реализации их на основе d пускаемых нашей промышленностью се- йных микросхем.

Для примера возьмем разрядность перемножаемых чисел равной 16, поскольку И формация от датчиков обычно кодируется более, чем 16 разрядами, т.к. преобразо- тёль аналог-код имеет обычно разряд- сть 10-12 разрядов. Таким образом, при 16 для реализации прототипа, содержа- его 16 процессорных блоков, блок управ- эния, 16 блоков памяти, требуется 1()х16Разр. 256 внешних выводов микро- ем для ввода 16 строк матрицы А, 16 внёш- /ix выводов для ввода матрицы В и х16разр. 256 внешних выводов для выво- всех строк результирующей матрицы С, его 528 внешних выводов для ввода-выво- данных.

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

Предлагаемое устройство, содержащее процессорных блоков, блок управления, ладает меньшими аппаратурными затратами, так как не содержит п блоков памяти доя хранения строк матрицы В, блока памяти для хранения столбцов матрицы В и адресного блока. Кроме того, .использование

АЦ

и

м;

ус

бу

чт

пе

ра ст решения задач перемножения матриц, исх 16-разрядных каналов ввода матриц А

и одного 16-разрядного канала вывода

рицы С .дает возможность реализовать

ройство на одном кристалле, так как трет для ввода-вывода данных 48 выводов,

на 480 выводов меньше, чем в прототиТаким образом, предлагаемая структу- /стройства дает возможность иметь кри- лл СБИС, предназначенный для

ьзующий конвейерный метод обработки ных в реальном масштабе времени, спечивающий, благодаря эффективной ной загрузке всех процессорных блоков окую производительность в конвейер- режиме до 100 млн. сложений-умноже- /сек 16-разрядных слов при тактовой тоте поступления входной информации - МГц, число выводов 53. Сокращение числа внешних выводов и мещение устройства на одном кристалле спечивает по сравнению с прототипом

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

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

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

5 второй выход узла умножения соединен с первым информационным входом выходного регистра, вход второго сомножителя узла умножения первого процессорного блока соединен с вторым информационным вхо0 дом устройства, второй управляющий вход узла умножения первого процессорного, блока и первый управляющий вход выходного регистра первого процессорного блока соединены с (п+2)-м выходом блока управ5 ления, выход выходного регистра первого процессорного блока соединен с информационным выходом устройства, (п+4)-й выход блока управления соединен с выходом признака начала результирующей матрицы,

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

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

5 n-й процессорных блоков соединены соответственно с первого по n-й выходами блока управления, третий выход узла умножения каждого предыдущего процессорного блока соединен с вторым информационным вхо0 дом узла умножения последующего процессорного блока, выход выходного регистра каждого последующего процессорного блока соединен с вторым информационным входом выходного регистра предыдущего

5 процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (п+3)-м выходом блока управления, второй управляющий вход выходного регистра соединен с (п+1}-м выходом блока управления, второй управляющий вход узлов умножения с второго по п-й процессорных блоков и первые управляющие входы выходных регистров с второго по n-й процессорных блоков соединены с (п+2)- м выходом блока управления.

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

Г/г

0-гп.

гг

- - - п

Ъп.

Q-Lx Множимое

Фиг.}

10

15

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

Опп.

Vln

йЈ-

-. - - - .вщ

ЮЛ ; 1-П

с in.

Спп

J

Пножитъль

Фиг. 2

OIK

„ множимое (празр)

Редактор

Фиг.Ь

Составитель Л.Елфимрва Техред М.Моргентал

Фиг.3

KJ

множитель (празр)

Корректор А.Обручар

SU 1 837 321 A1

Авторы

Елфимова Лариса Дмитриевна

Коломейко Владимир Викторович

Мороз-Подворчан Игорь Григорьевич

Петущак Валерий Дисанович

Даты

1993-08-30Публикация

1990-02-19Подача