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

 

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

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

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

РЕСПУБЛИК

09) (11) (51)5 G 06 F 15/347

УДАРСТВЕННОЕ ПАТЕНТНОЕ

ДОМСТВО СССР

СПАТЕНТ СССР) т

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

ВТОРСКОМУ СВИДЕТЕЛЬСТВУ (1) 4807587/24 (2) 19.02.90 (6) 30.08.93. Бюл. hL 32 (1) Институт кибернетики им. В,M. Глушкова

2) Л.Д, Елфимова, В.В; Коломейко, И.Г. ороз-Подворчан и В,Д. Петущак

6) 1. "Зарубежная радиоэлектроника", 87, М 7, с. 8, рис. 1(а).

2. "Зарубежная радиоэлектроника", 1 87, ЬЬ 7, с. 38, рис. 5, 6, стр. 24, рис, 13, (4) УСТРОЙСТВО ДЛЯ ПЕРЕМНОЖЕНИЯ

АТРИЦ !

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

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

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

I-й строки исходной матрицы А, где 1=1-n, n — порядок матриц, регистр 7 задержки потока адресов элементов строк матрицы А, который, проходя через все процессорные блоки, определяет для каждого иэ них на каждом такте адрес одного иэ операндов, выбираемых из блоков памяти 6.1-6.п. Кроме того, в устройство входит адресный блок

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

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

1837321

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

"счета" и тактовой шиной устройства, выход блока управления 15, соединенный с управляющей шиной "признака начала результирующей матрицы С", информационные выходы t6.1 — 16.п результирующей матрицы

С.

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

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

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

CI =, alk Ьц (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 управления, так что в каждом такте элементы строк матрицы А будут передаваться в про"0 цессорные блоки с единичной, задержкой, что на фиг. 1 схематично представлено в виде скошенного изображения элементов матрицы А. Выходы регистров задержки 4 тактируются единым синхроимпульсом, по15 ступающим с третьего выхода блока 2 управления, так что в каждом такте элементы столбцов матрицы В передаются от одного процессорного блока к другому с единичной задержкой, Таким образом, элементы пер20 вой строки матрицы А и элементы первого столбца матрицы А, считанные из блоков памяти 6 и 9, поступят в узел умножения 3 первого процессорного блока 1.1 соответственно на его первый и второй входы при помощи синхросигнала, поступающего с третьего выхода блока управления на первый управляющий вход узла умножения 3 без задержки. Вторая строка матрицы А и первый столбец матрицы В, поступающие в

30 процессорный блок 12 будут задержаны на одну единицу времени, третья строка матрицы А первый столбец матрицы В, поступающие в процессорный блок 1.3 будут задержаны на 2 единицы времени и т.д. Эле35 менты C<< — C>n результирующей матрицы С по мере формирования их в узле умножения

3, где происходит накопление парных произведений aik Ьц поступают в выходные регистры 5, которые управляются синхро40 сигналами, поступающими с четвертого, пятого,...,(п+3)-ro выходов блока 2 управления.

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

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

50 формирует управляющий сигнал "признака начала результирующей матрицы", поступающий на выход 15 устройства. Элементы строк результирующей матрицы С передаются с выходов устройства 16.1-16.п также

55 с единичными задержками, что на фиг. 1 схематично представлено в виде скошенного изображения элементов.

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

1837321

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

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

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

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

50 входы блока управления соединены соответственно со входом признака начала входных матриц и тактовым входом устройства, введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выходом узла умножения и с первым информационным входом устройства, выход мультиплексора соединен со входом первого сомножителя узла умножения. управляющие входы мультиплексоров с первого по и-й процессорных блоков соединены соответственно с первого по и-й выходами блока управления, третий выход узла умножения каждого предыдущего процессорного блока соединен со вторым информационным входом узла умножения последующего процессорного блока, выход выходного регистра ка>кдого последующего процессорного блока соединен со вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (и+3)-м выходом блока управления, второй управляющий вход выходного регистра соединен с (и+1)-м выходом блока управления, второй управляющий вход узлов умножения со второго по и-й процессорных блоков и первые управляющие входы выходных регистров со второго по и-й процессорных блоков соединены с (n+2)-м выходом блока управления, Узел умно>кения каждого процессорного блока содержит конвейерный умножитель, накапливающий сумматор и элемент задержки, причем конвейерный умножитель содержит первую и вторую группы регистров и группу сумматоров, причем информационные входы регистров первый и второй групп являются соответственно входами первого и второго сомножителей узла умно>кения, управляющие входы регистров первой и второй групп и первый управляющий вход накапливающего сумматора соединены с первым управляющим входом узла умножения, первые выходы регистров первой и второй групп соединены соответственно с первым и втооым входами соответствующих сумматоров группы, вторые выходы регистров первой и второй групп соединены соответственно с первым и третьим выходами узла умножения, выходы сумма оров группы соединены с соответствующими входами накапливающего сумматора, выход которого соединен с информационным входом злемечта задержки, выход которого соедин-н со вторым выходом узга умножения, второй управляющий Вхс>р накапливающего сумма тора и стробирующий вход элемента задер1837321

20

55 жки соединены соответственно со вторым и третьим управляющими входами узла умножения.

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

На фиг. 3 представлена функциональная схема предлагаемого устройства; на фиг, 4 — функциональная схема узла умножения I-ro процессорного блока, где I=1-п, n — порядок исходных матриц А и В, Устройство по фиг. 3 содержит и последовательно связанных между собой процессорных блоков 1.1 — 1.п и блок управления 2, представляющий собой блок микропрограммного управления.

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

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

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

Блоки устройства соединены следующим образом. Информационные входы устройства 6 и 7 соединены соответственно со вторыми входами мультиплексоров 4 каждого процессорного блока 1.1-1.п и вторым входом узла умножения 3 первого процессорного блока 1.1, входы блока 2 управления 8, 9 и выход 10 соединены соответственно с управляющей шиной

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

1837321

9

1 ервого процессорного блока 1.1. первый. торой, ..., n-й выходы блока управления 2 оединены соответственно с управляющии входами мультиплексоров ввода 4 первоо. второго, „„и-ro процессорных блоков, и+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 ном масштабе времени, который обеспечивает перемножение пар матриц АхВ, FxK u т.д., поступающих последовательно одна эа другой соответственно на входы 6 и 7 устройства, что обеспечивает однородную эа10 грузку всех процессорных блоков.

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

Устройство вычисляет произведение

15 матриц A=(aii) и Bgbli), размерностью пхп с разрядностью элементов матриц, равной и, получая результирующую матрицу С=(сл) с элементами Cii согласно соотношения; и

20 Cii= ), аи, Ьц (1) к=1

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

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

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

Элементы C;i результирующей матрицы

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

8 и 9 блока управления 2 соответственно синхронизирующего сигнала "признака начала входных матриц" и тактовых импульсов блок управления 2 по первому выходу устанавливает управляющий сигнал мультиплексора 4 первого процессорного блока

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

1837321

10

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, ... и т.д., n-я строка матрицы А поступит в и-й процессорный блок 1.п. Благодаря наличию цепи обратной связи в узле умножения каждого процессорного блока I-я строка матрицы А циркулирует в 1-м процессорном блоке (в блоке регистров 15) п раэ, взаимодействуя со всеми столбцами матрицы В, которые последовательно сдвигаются по линии процессорных блоков 1.1, 1.2, ..., 1,п, проходя последовательно через группы регистров 16 узлов умножения всех процессорных блоков. При этом формируется I-я строка результирующей матрицы С в 1-м процессорном блоке.

Элементы CiI результирующей матрицы

С по мере формирования их в узлах умножения 3 процессорных блоков, где происходит накопление парных произведений ав Ьц, поступают в выходные регистры 5 через элементы задержки 14. Все выходы элементов задержки 14 тактируются единым синхросигналом, поступающим с (и+3)-го выхода блока 2 управления, так что данные передаются в блоке 14 от одного регистра к другому через каждые и тактов. I-й процессорный блок имеет в блоке 14 n — i регистров задержки. Таким образом, и-й процессорный блок не имеет ни одного элемента задержки и, как только элемент результирующей матрицы сформируется в и-м процессорном блоке, все результаты, полученные во всех процессорных блоках, одновременно передадутся в выходные регистры 5 при помощи единого синхросигнала, поступающего с (n+2)-ro выхода блока управления, открывающего первый информационный вход регистра 5, и единого синхросигнала, поступающего с (и+1)-го выхода блока 2 управления, производящего запись числа в этот регистр. На следующем такте открывается второй информационный вход регистра 5 и данные, находящиеся в этих регистрах, передаются по их вторым входам от одного процессорного блока к другому на информационный выход 11 устройства. Обнуление накапливающего сумматора происходит по (n+2)-му выходу блока 2 управления. При поступлении на выход 11 устройства первого элемента результирующей матрицы С с выхода регистра 5 первого процессорного блока 1.1 блок управления 2 формирует управляющий сигнал "признака начала выходной матрицы", поступающий с выхода 10 устройства, B конвейерном режиме вслед за матрицами А и В в устройство может поступать следующая пара матриц F и К при наличии на входе 8 блока управления 2 нового синхронизирующего сигнала "признака начала входных матриц", При непрерывном поступлении на входы 6 и 7 новых пар перемножаемых матриц устройство представляет собой синхронный конвейер, Особенностью структуры предлагаемого устройства являетсяналичие цепи обратной связи в узле умножения каждого процессорного блока, благодаря которой 1-я строка матрицы А циркулирует в I-м процессорном блоке столько раз, сколько столбцов в матрице В, взаимодействуя со всеми столбцами матрицы В, формируя при этом I ю строку результирующей матрицы С. Такая особенность структуры устройства дает воз13

1837321

14 ожность использовать один канал ввода сех и строк матрицы А, вместо п каналов вода строк матрицы А в прототипе, и искючает необходимость использования и локов памяти для хранения строк матрицы 5 а и л

1 с н

1 д в а и м ус бу чт пе

Таким образом, предлагаемая структу- 45 устройства дает возможность иметь крилл СБИС, . предназначенный для ения задач перемножения матриц, исьзующий конвейерный метод обработки ных в реальном масштабе времени, 50 спечивающий, благодаря эффективной ной загрузке всех процессорных блоков окую производительность в конвейеррежиме до 100 млн, сложений-умноже/сек 16-разрядных слов при тактовой 55 тоте поступления входной информации—

Гц, число выводов 53.

Сокращение числа внешних выводов и мещение устройства на одном кристалле спечивает по сравнению с прототипом ра ст ре по да об ра вы но ни ча

10 ра об

Проведем сравнительную характериику прототипа и предлагаемого устройстна примере реализации их на основе пускаемых нашей промышленностью се- 10 йных микросхем, Для примера возьмем разрядность пеемножаемых чисел равной 16, поскольку нформация от датчиков обычно кодируется более, чем f6 разрядами, т.к. преобразо- 15 тель аналог-код имеет обычно разрядсть 10-12 разрядов, Таким образом, при

16 для реализации прототипа, содержаего 16 процессорных блоков, блок управния, 16 блоков памяти, требуется 20 х16разр. = 256 внешних выводов микроем для ввода 16 строк матрицы А, 16 вйешх выводов для ввода матрицы В и

x16pa>p. = 256 внешних выводов для выво- . всех строк результирующей матрицы С, 25 его 528 внешних выводов для ввода-выводанных.

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

Предлагаемое устройство, содержащее процессорных блоков, блок управления, ладает меньшими аппаратурными затраи, так как не содержит и блоков памяти хранения строк матрицы В, блока памя- 35 для хранения столбцов матрицы В и адного блока. Кроме того, использование х 16-разрядных каналов ввода матриц А и одного 16-разрядного канала вывода трицы С,дает возможность реализовать 40 ройство на одном кристалле, так как трет для ввода-вывода данных 48 выводов, на 480 выводов меньше, чем в прототирезкое уменьшение габаритных размеров, уменьшение стоимости, обеспечивает высокие надежность и отказоустойчивость, высокую технологичность процессора, Формула изобретения

1. Устройство для перемножения матриц, содержащее линейную матрицу иэ и процессорных блоков (и — порядок матрицы), блок управления, причем каждый процессорный блок содержит узел умножения и выходной регистр, причем в каждом процессорном блоке первый управляющий вход узла умножения соединен соответственно с (п+1)-м выходом блока управления, второй выход узла умножения соединен с первым информационным входом выходного регистра, вход второго сомножителя узла умножения первого процессорного блока соединен с вторым информационным входом устройства, второй управляющий вход узла умножения первого процессорного блока и первый управляющий вход выходного регистра первого процессорного блока соединены с (и+2)-м выходом блока управления, выход выходного регистра первого процессорного блока соединен с информационным выходом устройства, (0+4)é выход блока управления соединен с выходом при- . знака начала результирующей матрицы, первый и второй входы блока управления— соответственно с входом признака начала входных матриц и тактовым входом устройства, отличающееся тем,что,с целью упрощения устройства за счет сокращения числа выводных контактов и уменьшения аппаратурных затрат, в каждый процессорный блок введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выходом узла умножения и с первым информационным входом устройства, выход мультиплексора соединен с входом первого сомножителя узла умножения, управляющие входы мультиплексоров с первого по и-й процессорных блоков. соединены соответственно с первого по п-й выходами блока управления, третий выход узла умножения каждого предыдущего процессорного блока соединен с вторым информационным входом узла умножения последующего процессорного блока. выход выходного регистра каждого последующего процессорного блока соединен с вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управляющий вход узла умножения соединен с (n+3)-м выходом блока управления, второй управляющий вход выходного регистра соединен с (и+1)-м выходом блока управления, второй управляю1837321

zzzz

Йгу

О lZ и (3

19

О 63

Г3---cd nl

Qnz с Зп.

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

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

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

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

22пе бЗп. гЬ2» 732 — — —

0 0

1837321

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

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

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

 

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

Изобретение относится к радиоэлектронике

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

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

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

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

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

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

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

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

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

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

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

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