Устройство для перемножения матриц
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1837321
Авторы: Елфимова, Коломейко, Мороз-Подворчан, Петущак
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 1837321 51)5 0 06 1 д д;ЪчИ ИСАНИ БРЕТЕНИ ломейко, И.Г,щакэлектроника",ектроника",24, рис, 13,МНОЖЕееакй УДАРСТВЕННОЕ ПАТЕНТНООМСТВО СССРПАТЕНТ СССР) ВТОРСКОМУ СВИДЕТЕЛЬСТВ( 1) Институт кибернетики им. В,М. Глушкова 2) Л.Д, Елфимова, В,В. К ороз-Подворчан и В,Д, Пет 6) 1, "Зарубежная радио 87, %7, с. 8, рис, 1(а).2. "Зарубежная радио 1987, ЬВ 7, с. 38, рис. 5, 6, стр ( 4) УСТРОЙСТВО ДЛЯ ПЕРАТРИЦ Изобретение относится к вычислительн й технике и может быть использовано в в числительных машинах и системах обраб тки данных в реальном масштабе времен для перемножения матриц в к нвейерном режиме,На фиг. 1 представлена функциональн я схема устройства-прототипа, на фиг, 2 - ф нкциональная схема узла умножения.Устройство по фиг. 1 содержит и послед вательно связанных между собой процесс рных блоков 1,1-1.п, блок управления 2, и едставляющий собой блок микропрогр ммного управления, причем каждый проц ссорный блок содержит узел умножения 3, который выполняет операцию умножения с акоплением в-разрядных элементов исх зЗных матриц д и В, регистр Е задержки элементов столбцов матрицы В, отведенньй для хранения в.каждом такте операндов матрицы В, поступающих из соседних про 2(57) Изобретение относится к вычислительной технике и может быть использовано в системах обработки данных реального масштаба времени для перемножения матриц в конвейерном режиме. Целью изобретения является упрощение реализации. устройства эа счет сокращения числа выводных контактов и уменьшения аппаратурных затрат, Поставленная цель достигается тем, что в устройстве, содержащем линейную матрицу процессорных блоков и блок управления, причем каждый процессорный блок содержит узел умножения и выходной регистр, в каждый процессорный блок введен мультиплексор. 1 з.п, ф-лы, 4 ил. цессорных блоков, выходной регистр 5, предназначенный для приема получаемого в узле умножения 3 результата операции, блок памяти 6, представляющий собой локальное запоминающее устройство 1-го процессорного блока для хранения элементов 1-й строки исходной матрицы А, где 1=1-п, и - порядок матриц, регистр 7 задержки потока адресов элементов строк матрицы А, который, проходя через все процессорные блоки, определяет для каждого иэ них на каждом такте адрес одного иэ операндов, выбираемых из блоков памяти 6.1-6.п. Кроме того, в устройство входит адресный блок 8. предназначенный для формирования адресов ячеек запоминающих блоков 6, в соответствии с которыми будет производиться считывание элементов строк матрицы А, записанных в блоках памяти 6, и блок памяти 9, предназначенный для хранения элеменВ в всех столбцов матриУстройство-прототип содержит информационные входы 10.1-10,п для записи элементов и строк матрицы А, информационный вход 11 для записи элементов всех столбцов матрицы В, входы 12, 13, 14 блока управления 2, соединенные соответственно с управляющей шиной "признака начала входных матриц", шиной "счета" и тактовой шиной устройства, выход блока управления 15, соединенный с управляющей шиной "признака начала результирующей матрицы С", информационные выходы 16.1 - 16.п результирующей матрицы С.Узел умножения 3 1-го процессорного блока, представленный на фиг. 2, содержит конвейерный умножитель 18 и накапливающий сумматор 19, причем умножитель 18 содержит группу регистров 20, представляющую собой прямоугольную матрицу одноразрядных регистров (ступени конвейера), группу регистров 21, представляющую собой треугольную матрицу одноразрядных регистров, группу сумматоров 22.." Устройство-прототип работает следующим образом.Устройство перемножает исходные матрицы А = а 1 Д и В = Ь с порядком и, получая результирующую матрицу С=с 1 согласно соотношения (1):иСл= , аа Ьц (1)=1Элементы п строк матрицы А поступают соответственно на информационные входы 10.1-10,п устройства. Элементы матрицы В поступают по столбцам на информационный, вход 11 устройства. Элементы результирующей матрицы С снимаются с выходов 16,1-16.п устройства по строкам,При подаче на входы 12 и 14 блока управления 2 соответственно сигнала "признака начала входных матриц" и тактовых импульсов блок управления 2 по первому выходу производит запись элементов и строк матрицы А, поступающих одновременно со входов 10.1-10.п устройства в запоминающие блоки 6 соответствующих процессорных блоков 1,1-1.п, а также формирование адресов этих элементов строк матрицы А в адресном блоке 8 и запись элементов всех столбцов матрицы В в запоминающий блок 9 со входа 11 устройства, При подаче на вход 1.3 блока управления 2 сигнала "счет" поток адресов, считываемый из адресного блока 8, проходя через регистры 7 процессорных блоков с помощью синхросигнала, поступающего со второго выхода блока 2 управления, определяет для каждого процессорного блока на каждом такте адрес соответствующего элемента строк матрицы А, Между адресацией строк матрицы А и поступлением элементов столбцов матрицы В осуществляется единичная 5 задержка. Выходы регистров задержки 7тактируются единым синхросигналом, поступающим со второго выхода блока 2 управления, так что в каждом такте элементы строк матрицы А будут передаваться в про цессорные блоки с единичной, задержкой,что на фиг. 1 схематично представлено в виде скошенного изображения элементов матрицы А. Выходы регистров задержки 4 тактируются единым синхроимпульсом, по ступающим с третьего выхода блока 2 управления, так что в каждом такте элементы столбцов матрицы В передаются от одного процессорного блока к другому с единичной задержкой, Таким образом, элементы пер вой строки матрицыА и элементы первогостолбца матрицы А, считанные из блоков памяти 6 и 9, поступят в узел умножения 3 первого процессорного блока 1.1 соответственно на его первый и второй входы при помощи синхросигнала, поступающего с третьего выхода блока управления на первый управляющий вход узла умножения 3 без задержки. Вторая строка матрицы А и первый столбец матрицы В, поступающие в 30 процессорный блок 12 будут задержаны наодну единицу времени, третья строка матрицы А первый столбец матрицы В, поступающие в процессорный блок 1.3 будут задержаны на 2 единицы времени и т.д. Эле менты С 11-С 1 п результирующей матрицы Спо мере формирования их в узле умножения 3, где происходит накопление парных произведений аа Ьц поступают в выходные регистры 5, которые управляются синхро сигналами, поступающими с четвертого, пятого(п+3)-го выходов блока 2 управления.При этом накапливающий сумматор 19 обнуляется. Для получения всех элементов строк результирующей матрицы С каждая 45 строка матрицы А считывается из запоминающего блока бп раз. При поступлении на выходы 16.1-16 л устройство первых элементов п строк результирующей матрицы С с выходов регистров 5 блок 2 управления 50 формирует управляющий сигнал "признаканачала результирующей матрицы", поступающий на выход 15 устройства. Элементы строк результирующей матрицы С передаются с выходов устройства 16.1-16.п также 55 с единичными задержками, что на фиг. 1схематично представлено в виде скошенного изображения элементов.Известные аналоги, реализованные налинейках процессорных блоков, и прототип обладают следующими недостатками:1, Низкая надежность работы, т.к. реал зация аналогов и прототипа на основе в пускаемых нашей промышленностью сер йных микросхем требует использования б лысого числа кристаллов из-за большого к личества внешних выводов для ввода-выв да данных, Существующие аналоги и прот тип используют и гп-разрядных каналов в ода строк матрицы А и и гп-разрядных к надое вывода результатов, где п - поряд к матрицы А, Большое число внешних выв дов приводит к увеличению вероятности о казов, т.к, известно, что внешние выводыикросхем являются самыми ненадежными з ементами, Кроме того, размещение проц ссорных блоков на большом количествеикросхем вызывает необходимость изгот вления соответствующего числа сигнальных линий связи, что в свою очередь с ижает надежность аппаратуры,2. Низкие технологичность и откаэоу тойчивость из-эа необходимости испольэ вания большого числа микросхем при с оей реализации, 3. Высокая стоимость. 4. Большие аппаратурные затраты, т.к. к ждый процессорный блок должен иметь с ой блок оперативной памяти, Кроме того, в устройстве необходимы адресный блок и б ок памяти для хранения всех столбцов атрицы В,Цель изобретения - упрощение устройс ва за счет сокращения числа выводных к нтактов и уменьшение аппаратурных зат ат.Поставленная цель достигается тем, что в устройство для перемножения матриц, со- Д ржащее линейную матрицу из и процесс рных блоков (и - порядок матрицы), блок у равления, причем каждый процессорный б ок содержит узел умножения и выходной р гистр, причем, в каждом процессорном б оке первый управляющий вход узла умноения соединен соответственно с (и+1)-м в ходом блока управления, второй выход у ла умножения соединен с первым информационным входом выходного регистра, в од второго сомножителя узла умножения и рвого процессорного блока соединен со в орым информационным входом устройств, второй управляющий вход узла умножен я первого процессорного блока и первый равляющий вход выходного регистра перго процессорного блока соединены с 2)-м выходом блока управления, выход ходного регистра первого процессорного ока соединен с информационным выхом устройства, (и+4)-й выход блока управния соединен с выходом признака начала эультирующей матрицы, первый и второй 5 10 15 20 25 30 35 40 45 50 входы блока управления соединены соответственно со входом признака начала входных матриц и тактовым входом устройства, введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выходом узла умножения и с первым информационным входом устройства, выход мультиплексора соединен со входом первого сомножителя узла умножения. управляющие входы мультиплексоров с первого по и-й процессорных блоков соединены соответственно с первого по и-й выходами блока управления, третий выход узла умножения каждого предыдущего процессорного блока соединен со вторым информационным входом узла умножения последующего процессорного блока, выход выходного регистра каждого последующего процессорного блока соединен со вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (и+3)-м выходом блока управления, второй управляющий вход выходного регистра соединен с (и+1)-м выходом блока управления, второй управляющий вход узлов умножения со второго по и-й процессорных блоков и первые управляющие входы выходных регистров со второго по и-й процессорных блоков соединены с (и+2)-м выходом блока управления,Узел умнокения каждого процессорного блока содержит конвейерный умножитель, накапливающий сумматор и элемент задержки, причем конвейерный умножитель содержит первую и вторую группы регистров и группу сумматоров, причем информационные входы регистров первый и второй групп являются соответственно входами первого и второго сомножителей узла умнокения, управляющие входы регистров первой и второй групп и первый управляющий вход накапливающего сумматора соединены с первым управляющим входом узла умножения, первые выходы регистров первой и второй групп соединены соответственно с первым и втооым входами соответствующих сумматоров группы, вторые выходы регистров первой и второй групп соединены соответственно с первым и третьим вьходами узла умножения, выходы сумма",орое группы соединены с соответствующими входами накапливающего сумматора, вь;ход которого соединен с информационным входом злемечта задержки, выход которого соединен со вторым выходом узла умножения, второй управляющий вход накапливающего сумматора и стробирующий вход элемента задер 183732 110 20 25 30 35 40 45 50 55 жки соединены соответственно со вторым и третьим управляющими входами узла умножения.Сопоставительный анализ с прототипом позволяет сделать вывод, что заявляемое устройство для перемножения матриц отличается тем, что 1-й процессорный блок содержит мультиплексор ввода в узел умножения элементов 1-й строки первой матрицы, который коммутирует передачу элементов 1-й строки либо со входа устройства, либо с первого выхода узла умножения, При помощи мультиплексора создается цепь обратной связи, благодаря которой 1-я строка первой матрицы А циркулирует в 1-м процессорном блоке, взаимодействуя всеми столбцами второй матрицы В, формируя при этом 1-ю строку результирующей матрицы С. Это дает возможность использовать один канал ввода для строк матрицы А вместо и каналов ввода в прототипе, Кроме того, каждый узел умножения содержит прямоугольную матрицу одноразрядных регистров, которая обеспечивает последовательное прохождение столбцов второй матрицы через все процессорные блоки и блок регистров задержки, соединенный с двухвходовым выходным регистром, благодаря которым используется один канал вывода результатов, вместо и каналов в прототипе,Совокупность этих признаков обеспечивает соответствие технического решения критерию "новизна", При сравнении заявляемого решения не только с прототипом, но и с другими известными техническими решениями не обнаружены решения, обладающие сходными признаками. Эти признаки позволяют исключить блоки памяти в каждом процессорном блоке, блок памяти столбцов матрицы В и адресный блок, уменьшая тем самым аппаратурные затраты, использовать один канал ввода первой матрицы вместо и каналов ввода этой матрицы в существующих устройствах, использовать один канал вывода для всех строк результирующей матрицы, вместо и каналов вывода в прототипе и аналогах, что дает возможность реализовать устройство на одном кристалле, повысить надежность, технологичность, отказоустойчивость и понизить стоимость аппаратуры,Это позволяет сделать вывод о его соответствии критерию "существенные отличия".На фиг. 3 представлена функциональная схема предлагаемого устройства; на фиг, 4 - функциональная схема узла умножения 1-го процессорного блока, где 1=1-п, и - порядок исходных матриц А и В,Устройство по фиг. 3 содержит и последовательно связанных между собой процессорных блоков 1.1 - 1.п и блок управления 2, представляющий собой блок микропрограммного управления.1-й процессорный блок содержит узел умножейия 3, выполняющий операцию умножения с накоплением и-разрядных элементов исходных матриц А и В, мультиплексор 4 ввода элементов 1-й строки матрицы А в узел умножения 3, коммутирующий передачу элементов 1-й строки матрицы А со входа 6 устройства или с первого выхода узла умножения 3, выходной регистр 5, предназначенный для хранения получаемого в узле умножения 3 результата операции перемножения и для передачи в каждом такте результатов операции от одного процессорного блока к другому на выход 11 устройства. Устройство содержит информационные входы 6 и 7 элементов соответственно входных матриц А и В, входы 8, 9 блока управления 2, соединенные соответственно с управляющей шиной "признака начала входных матриц" и тактовой шиной устройства, выход блока управления 10, соединенный с управляющей шиной "признака начала результирующей матрицы С", информационный выход 11 результирующей матрицы С.Узел умножения 3 1-го процессорного блока, представленный на фиг, 4, содержит конвейерный умножитель 12, накапливающий сумматор 13, причем конвейерный умнокитель содержит первую и вторую группы регистров 15 и 16 и группу сумматоров 17, элемент задержки 14, содержащий (и) последовательно соединенных регистров для выравнивания временных задержек результатов операции, получаемых в процессорных блоках с целью одновременной подачи их в выходные регистры 5. Все выходы регистров блока 14 тактируются единым синхросигналом, поступающим на регистры через каждые и тактов. При этом данные передаются от одного регистра к другому.Блоки устройства соединены следующим образом. ИнФормационные входы устройства 6 и 7 соединены соответственно со вторыми входами мультиплексоров 4 каждого процессорного блока 1.1-1,п и вторым входом узла умножения 3 первого процессорного блока 1.1, входы блока 2 управления 8, 9 и выход 10 соединены соответственно с управляющей шиной "признака начала входных матриц", тактовой шиной устройства и шиной "признака начала результирующей матрицы С", информационный выход устройства 11 соединен с выходом выходного регистра 51837321 10 50 55 9ервого процессорного блока 1,1. первый. торой, . и-й выходы блока управления 2 оединены соответственно с управляющии входами мультиплексоров ввода 4 первоо, второго,и-го процессорных блоков, и+1)-й выход блока 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, выход которого оединен со вторым выходом узла умножеия 3, второй управляющий вход накапливащего сумматора 13 и стробирующий вход лемента задержки 14 соединены соответтвенно со вторым и третьим управляющии входами узла умножения 3. Предлагаемое устройство работает следующим образом,В устройстве реализован конвейерныйпринцип обработки информации в реаль 5 ном масштабе времени, который обеспечивает перемножение пар матриц АхВ, ГхК ит,д., поступающих последовательно одна эадругой соответственно на входы 6 и 7 устройства, что обеспечивает однородную эа 10 грузку всех процессорных блоков,Пары матриц могут поступать непрерывно, а также через определенные интервалы времени, кратные иУстройство вычисляет произведение15 матриц А=а; и В=(Ь 1), размерностью пхп сразрядностью элементов матриц, равной и,получая результирующую матрицу С=с) сэлементами С согласно соотношения;и20 Сц=,Р аа Ьц (1)к=1Элементы матриц А и В образуют поток,который движется через линейку процессорных блоков синхронно в двух одинаковых направлениях слева направо. Элементыматрицы А вводятся последовательно построкам, элементы матрицы В вводятся последовательно по столбцам, причем каждыйэлемент матриц А и В входит в устройствочерез входы соответственно 6 и 7 один раэи продвигаются в конвейерном режиме,Каждый из и процессорных блоков устройства выполняет операцию умножения снакоплением, т.е. конечный результат в соответствии с (1) образуется при вычислениипромежуточных членов, накапливающихся ввиде частных сумм в каждом процессорномблоке. Каждый 1-й процессорный блок оперирует с -й строкой матрицы А, формируя40, ю.стооку матрицы С,Элементы С,1 результирующей матрицыС покидают узел умножения 3 соответствующих процессорных блоков в те моментывремени, когда они будут полностью сформированы, и передаются в выходные регистры 4 от одного процессорного блока к другому, образуя поток элементов строк матрицы С, движущийся справа налево на выход 11 устройства. При подаче на выходы 8 и 9 блока управления 2 соответственно синхронизирующего сигнала "признака начала входных матриц" и тактовых импульсов блок управления 2 по первому выходу устанавливает управляющий сигнал мультиплексора 4 первого процессорного блока 1,1 в состояние "1", открывая при этом второй вход мультиплексора 4, а по (и+1)-му выходу выдает сигнал записи на управляющий вход узла умножения 3, При этом элементы первой строки матрицы 4 и элементы510 15 20 25 30 35 40 45 50 55 первого столбца матрицы В, поступающие непрерывно от датчиков с интервалом в один такт соответственно на 6 и 7 выходы устройства, поступают в первый процессорный блок 1.1 соответственно на первый и второй входы узла умножения 3, Прохождение первой строки матрицы А со входа 6 устройства в остальные процессорные блоки блокируется, т.к. управляющие сигналы мультиплексоров 4 остальных процессорных блоков 1.2 - 1,и в этот момент времени установлен в состояние "0", По истечении и тактов работы узла умножения 3 первого процессорного блока, когда элементы первой строки матрицы А и элементы первого столбца матрицы В заполнят и регистров соответственно первой группы регистров 15 и второй группы регистров 16 узла умножения 3, по первому выходу блока управления 2 управляющий сигнал мультиплексора 5 первого процессорного блока 1.1 устанавливается в состояние "0", закрывая при этом второй вход этого мультиплексора и открывая его первый вход, а по второму выходу блока управления 2 управляющий сигнал мультиплексора 5 второго процессорного блока устанавливается в состояние "1", При этом в первом процессорном блоке 1,1 первая строка матрицы А вновь поступает с первого выхода узла умножения 3 через первый вход мультиплексора 5 на первый вход этого же узла умножения, на второй вход которого поступает со входа 7 устройства второй столбец матрицы В, а во втором процессорном блоке на первый и второй входы узла умножения 3 одновременно поступают соответственно вторая строка матрицы А и первый столбец матрицы В соответственно со входа 6 устройства и третьего выхода узла умножения 3 первого процессорного блока, Прохождение первой строки матрицы А в остальные процессорн ые блоки 1.3 - 1 и блоки руется нулевыми управляющими сигналами мультиплексора 4. Аналогичным образом третья строка матрицы А поступит в третий процессорный блок 1.3,и т.д., и-я строка матрицы А поступит в п-й процессорный блок 1,и. Благодаря наличию цепи обратной связи в узле умножения каждого процессорного блока 1-я строка матрицы А циркулирует в 1-м процессорном блоке (в блоке регистров 15) п раэ, взаимодействуя со всеми столбцами матрицы В, которые последовательно сдвигаются по линии процессорных блоков 1,1, 1.2, , 1,и, проходя последовательно через группы регистров 16 узлов умножения всех процессорных блоков. При этом формируется 1-я строка результирующей матрицы С в 1-м процессорном блоке. Элементы С 1 результирующей матрицы С по мере формирования их в узлах умножения 3 процессорных блоков, где происходит накопление парных произведений аа Ьц, поступают в выходные регистры 5 через элементы задержки 14. Все выходы элементов задержки 14 тактируются единым синхросигналом, поступающим с (и+3)-го выхода блока 2 управления, так что данные передаются в блоке 14 от одного регистра к другому через каждые и тактов. 1-й процессорный блок имеет в блоке 14 и - 1 регистров задержки. Таким образом, и-й процессорный блок не имеет ни одного элемента задержки и, как только элемент результирующей матрицы сформируется в и-м процессорном блоке, все результаты, полученные во всех процессорных блоках, одновременно пере- дадутся в выходные регистры 5 при помощи единого синхросигнала, поступающего с (и+2)-го выхода блока управления, открывающего первый информационный вход регистра 5, и единого синхросигнала, поступающего с (и+1)-го выхода блока 2 управления, производящего запись числа в этот регистр, На следующем такте открывается второй информационный вход регистра 5 и данные, находящиеся в этих регистрах, передаются по их вторым входам от одного процессорного блока к другому на информационный выход 11 устройства. Обнуление накапливающего сумматора происходит по (и+2)-му выходу блока 2 управления. При поступлении на выход 11 устройства первого элемента результирующей матрицы С с выхода регистра 5 первого процессорного блока 1.1 блок управления 2 формирует управляющий сигнал "признака начала выходной матрицы", поступающий с выхода 10 устройства,В конвейерном режиме вслед за матрицами А и В в устройство может поступать следующая пара матриц Г и К при наличии на входе 8 блока управления 2 нового синхронизирующего сигнала "признака начала входных матриц",При непрерывном поступлении на входы 6 и 7 новых пар перемножаемых матриц устройство представляет собой синхронный конвейер,Особенностью структуры предлагаемого устройства являетсяналичие цепи обратной связи в узле умножения каждого процессорного блока, благодаря которой 1-я строка матрицы А циркулирует в 1-м процессорном блоке столько раз, сколько столбцов в матрице В, взаимодействуя со всеми столбцами матрицы В, формируя при этом 1-ю строку результирующей матрицы С. Такая особенность структуры устройства дает воз 13183732114ожность использовать один канал ввода сех и строк матрицы А, вместо п каналов вода строк матрицы А в прототипе, и искючает необходимость использования и локов памяти для хранения строк матрицы а и л 1 с н 1 д в а ус бу чт пе Таким образом, предлагаемая структу устройства дает возможность иметь крилл СБИС, предназначенный для ения задач перемножения матриц, исьзующий конвейерный метод обработки ных в реальном масштабе времени, 5 спечивающий, благодаря эффективной ной загрузке всех процессорных блоков окую производительность в конвейер- режиме до 100 млн, сложений-умноже/сек 16-разрядных слов при тактовой 5 тоте поступления входной информации -Гц, число выводов 53.Сокращение числа внешних выводов и мещение устройства на одном кристалле спечивает по сравнению с прототипом ра ст ре вы но ни ча 10 Проведем сравнительную характериику прототипа и предлагаемого устройстна примере реализации их на основе пускаемых нашей промышленностью се йных микросхем,Для примера возьмем разрядность пеемножаемых чисел равной 16, поскольку нформация от датчиков обычно кодируетсяболее, чем 16 разрядами, т.к. преобразо тель аналог-код имеет обычно разрядсть 10-12 разрядов, Таким образом, при 16 для реализации прототипа, содержаего 16 процессорных блоков, блок управния, 16 блоков памяти, требуется 20 х 16 рззр. = 256 внешних выводов микро- ем для ввода 16 строк матрицы А, 16 вйешх выводов для ввода матрицы В и х 16 разр. = 256 внешних выводов для выво- .всех строк результирующей матрицы С, 25 его 528 внешних выводов для ввода-выводанных.Для реализации прототипа потребуетсяменее 9 микросхем с числом выводов ждой микросхемы, равным 60, 30Предлагаемое устройство, содержащеепроцессорных блоков, блок управления, ладает меньшими аппаратурными затраи, так как не содержит и блоков памяти хранения строк матрицы В, блока памя для хранения столбцов матрицы В и адного блока. Кроме того, использование х 16-разрядных каналов ввода матриц Аи одного 16-разрядного канала вывода трицы С,дает возможность реализовать 40 ройство на одном кристалле, так как трет для ввода-вывода данных 48 выводов, на 480 выводов меньше, чем в прототирезкое уменьшение габаритных размеров, уменьшение стоимости, обеспечивает высокие надежность и отказоустойчивость, высокую технологичность процессора,Формула изобретения 1. Устройство для перемножения матриц, содержащее линейную матрицу иэ и процессорных блоков (и - порядок матрицы), блок управления, причем каждый процессорный блок содержит узел умножения и выходной регистр, причем в каждом процессорном блоке первый управляющий вход узла умножения соединен соответственно с (п+1)-м выходом блока управления, второй выход узла умножения соединен с первым информационным входом выходного регистра, вход второго сомножителя узла умножения первого процессорного блока соединен с вторым информационным входом устройства, второй управляющий вход узла умножения первого процессорного блока и первый управляющий вход выходного регистра первого процессорного блока соединены с (и+2)-м выходом блока управления, выход выходного регистра первого процессорного блока соединен с информационным выходом устройства, (и+4)-й выход блока управления соединен с выходом при- . знака начала результирующей матрицы, первый и второй входы блока управления - соответственно с входом признака начала входных матриц и тактовым входом устройства, отличающееся тем,что,сцелью упрощения устройства за счет сокращения числа выводных контактов и уменьшения аппаратурных затрат, в каждый процессорный блок введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выходом узла умножения и с первым информационным входом устройства, выход мультиплексора соединен с входом первого сомножителя узла умножения, управляющие входы мультиплексоров с первого по и-й процессорных блоков соединены соответственно с первоо по п-й выходами блока управления, третий выход узла умножения каждого предыдущего процессорного блока соединен с вторым информационным входом узла умножения последующего процессорного блока, выход выходного регистра каждого последующего процессорного блока соединен с вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (и+3)-м выходом блока управления, второй управляющий вход выходного регистра соединен с (и+1)-м выходом блока управления, второй управляю1837321 15 ЦггЙг 10 г (3 й 75 с,К щий вход узлов умножения с второго по п-й процессорных блоков и первые управляющие входы выходных регистров с второго по и-й процессорных блоков соединены с(о+2)- м выходом блока управления.2. Устройство поп.1, отл ич а ю щеес я тем, что узел умножения каждого процессорного блока содержит конвейерный умножитель, накапливающий сумматор и элемент задержки, причем конвейерный умножитель содержит первую и вторую группы регистров и группу сумматоров, причем информационные входы регистров первой и второй групп являются соответственно входами первого и второго сомножителей узла умножения, управляющие входы регистров первой и второй групп и первый управляющий вход накапливающего сумматора соединены с первым управляющим входом узла умножения, первые выходы регистров первой и второй групп соединены соответственно с первым и вторым входами 5 соответствующих сумматоров группы, вторые выходы регистров первой и второй групп соединены соответственно с первым и третьим выходами узла умножения, выходы сумматоров группы соединены с соответ ствующими входами накапливающего сумматора, выход которого соединен с информационным входом элемента задержки, выход которого соединен с вторым выходом узла умножения, второй управляющий вход 15 накапливающего сумматора и стробирующий вход элемента задержки соединены соответственно с вторым и третьим управляющими входами узла умножения.а у,л.Ул 8 Дл -- ,ай,у ОО 0
СмотретьЗаявка
4807587, 19.02.1990
ИНСТИТУТ КИБЕРНЕТИКИ ИМ. В. М. ГЛУШКОВА
ЕЛФИМОВА ЛАРИСА ДМИТРИЕВНА, КОЛОМЕЙКО ВЛАДИМИР ВИКТОРОВИЧ, МОРОЗ-ПОДВОРЧАН ИГОРЬ ГРИГОРЬЕВИЧ, ПЕТУЩАК ВАЛЕРИЙ ДИСАНОВИЧ
МПК / Метки
МПК: G06F 15/347
Метки: матриц, перемножения
Опубликовано: 30.08.1993
Код ссылки
<a href="https://patents.su/9-1837321-ustrojjstvo-dlya-peremnozheniya-matric.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для перемножения матриц</a>
Предыдущий патент: Процессор цифровой обработки сигналов
Следующий патент: Цифровой адаптивный фильтр
Случайный патент: Способ получения ангидрида янтарной кислоты