Устройство для умножения
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(51) 5 С 06 Р 7/52 ОСУДАРСТВЕННЫО ИЗОБРЕТЕНИЯМРИ ГКНТ СССР КОМИТЕТ ОТНРЫТИЯМ ОПИСАНИЕ ИЗОБРЕТЕНИ Изобретени тельной техни вано при разр устройств для ставленных в реализ а - С - приад блоносится к вычисл е и может быть использботке быстродействующиумножения чисел, предвоичной и десятичной системах с ления,етения - повышение быст(21) 4444584/24-2(56) Авторское свидетельство СССР Р 1053 104, кл . С 06 Г 7/52, 1982.Авторское свидетельство СССР Ф 1148026, кл. С Об Р 7/52, 1982. (54) УСТРОЙСТВО ДЛЯ УМНОЛ(ЕНИЯ (57) Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств для умножения двоичных и десятичных чисел, Целью изобретения Цель изобрродействия.На фиг.1 представлена функциональная схема устройства для умножения; на фиг.2 - структурная схема расположения вычислительных модулей в матричном умножителе для случая п=12; на, фиг.З - функциональная схема двух соседних тетрад двух смежных подматриц матричного умножителя; на фиг.4 функциональная схема вычислительного модуля первой и второй строк каждой подматрицы матричного умножителя; на фиг,5 - функциональная схема вычислительного модуля третьей и четвертой строк каждой подматрицы матричного является увеличение быстродеиствияустройства. Устройство содержит регистр множимого, регистр множителя,регистр результата, блок формированиякратных множимого, матричный умножитель и блок суммирования. Введение.в матричный умножитель групп по п/4корректоров, а также изменение связейвнутри вычислительных модулей умножения позволило выполнять умножение десятичных чисел за один такт и тем самым обеспечить положительный эффект,заключающийся в увеличении быстродействия при умножении десятичных чисел.3 зиф-лы 7 ил. умножителя; на фиг.б - при р ции схемы корректора; на ф .7 мер реализации схемы двух тр ка суммирования.Устройство для умножения (фиг,1) содержит регистр 1 множимого, регистр 2 множителя, регистр 3 результата, СЛ блок 4 формирования кратных множимого, фД матричный умножитель 5, блок 6 сумми- (;ф рования, вход 7 выбора режима работы ас,) устройства, управляющий вход 8 устройства, выход 9 регистра множимого, выходы двукратного 10, четырехкратного 11 и восьмикратного 12 множимого блока 4, выходы 13 разрядов тетрады регистра множителя, выходы первой 14 и второй 15 групп блоКа суммирования.Матричный умножитель 5 (фиг.З) содержит и/4 подматриц, каждая из которых содержит первую строку иэ п/4 вычислительных модулей 16, вторую строку из (п/4+1) вычислительных моду 1578711лей 16 третью и четвертую строки по (и/4+1) вычислительных модулей 17 и группу из и/4 корректоров 18, входы 19-21 вычислительных модулей 16, выход суммы 22 вычислительных модулей 16, вход 23 и выход 24 переноса вычислительных модулей 16, входы 25-30 вычислительных модулей 17, выход суммы 3 1 вычислительных модулей 17, вход 32 1 О и выход 33 переноса вычислительных модулей 17.Вычислительный модуль 16 (фиг.4) содержит четырехразрядный сумматор 34 и элементы И 35-35. 15Вычислительный"модуль 17 (фиг,5) содержит четырехразрядный сумматор 36, элементы И 37 А,7, элементы И 38 -38 и элементы ИЛИ 391-39.Корректор 18 (фиг,6) содержит дешифратор 4 -ь 16 40, элементы ИЛИ 41, 41 , элемент ИЛИ 42 и элементы ИЛИ 43 43Блок суммирования 6 (фиг.7) (для одной тетрады) содержит сумматоры 44- 25 46, элемент И 47, элемент НЕ 48, элементы И.49 - 51.Рассмотрим функциональное назначение и реализацию основных узлов и блоков устройства.Регистры 1 и 2 множимого и множителя предназначены для хранения и-разрядных двоичных или и/4-разрядных десятичных сомножителей. В регистре 3 результата записывается 2 п-разрядное двоичное или и/2-разрядное десятичное35 произведение.Блок 4 формирования. кратных множимого комбинационного типа и служит для формирования двух-, четырех-, 40 восьмикратных множимого,Вычислительные модули 16 матричного умножителя осуществляют прибавление к сумме частичных произведений,. сформированной на выходе предыдущей 45 строки вычислительных модулей, соответствующего кратного множимого с выхода регистра 1 множимого.или выхода блока 4 формирования кратных множимого, если значение двоичного разряда множителя на входе 21 модулей 16 равно единице, или же значение нуля, если двоичный разряд множителя равен нулю.Модули 17 третьей строки каждой подматрицы матричного умножителя при умножении чисел, представленных в двоичной. системе счисления (на прямом входе 7 выбора режима работы устройства уровень логического нуля), оСуществляют прибавление к сумме частичных произведений, сформированной на выходе предыдущей строки вычислительныхмодулей, значения четырехкратного множимого с входа 11, если значениетретьего разряда соответствующей тетради регистра 2 множителя равно единице, или же нуль - если значение третьего разряда соответствующей тетрады регистра 2 множителя равно нулю, При умножении чисел, представленных в десятичной системе счисления, модули 17 третьей строки каждой подматрицы осуществляют прибавление к сумме частичных произведений, сформированной на выходе предыдущей строки вычислительных модулей, четырех- или восьмикратного множимого с входов 11 и 12 соответственно, если третий или четвертый разряды соответствующей тетрады регистра 2 множителя равен единице, и значение нуля, если данные разряды равны нулю. Прибавление к сумме частичных произведений четырех- или восьмикратного множимого на одной строке модулей 17 умножения при умножении чисел, представленных в коде прямого замещения 8421, возможно потому, что два старших разряда тетрады множителя не могут одновременно быть равны единице (максимальное значение тетрады в коде прямого замещения 8421 не может быть больше 1001).На входы 25 модулей 17 умножения четвертой строки каждой подматрицы поступает с входа 12 матрицы 5 восьмикратное множимое. На входы 30 модулей 17 умножения четвертой строки каждой подматрицы матрицы 5 умножения подается значение четвертого разряда соответствующей тетрады регистра 2 множителя. На входы 26 модулей 17 умножения четвертой строки каждой подматрицы поступает код коррекции, сформированный на выходах соответствующих корректоров 18. На входы 28 и 29 модулей 17 умножения четвертой строки каждой подматрицы матрицы 5 умножения подаются управляющие сигна- лы с инверсного 7 и прямого 7 входов входа 7 выбора режима работы устройства соответственно.Вычислительные .модули 17 четвертойстроки каждой подматрицы матричного умножителя при умножении чисел представленных в двоичной системе счисле ния осуществляют прибавление к сумме5 1578 частичных произведений, сформированной на выходе предыдущей строки модулей 17 восьмикратного множимого с входа 12, если значение четвертого разряда. соответствующей тетрады реги 5 стра 2 множителя равно единице, и нуль, если значение четвертого разряда соответствующей тетрады регистра 2 множителя равно нулю. При умножении чисел,.представленных в десятичной системе счисления, модули 7 четвертой строки каждой подматрицы осуществляют прибавление к сумме частичных произведений, сформированной на выходе предыдущей сгроки модулей 17, кода коррекции, получаемого на выходах соответствующей группы корректоров 18.Корректор )8 предназначен для формирования кода коррекции при умножении чисел, представленных в десятичной системе счисления. Код коррекции формируется на выходах корректора по следующему правилуС=В 6, 25 где С - код коррекции;В - число переносов из соответствующих модулей умножения.Можно показать, что при таком построечии матричного умножителя умножения значение В не может быть больше трех, т.е. В=О,1,2,3.Работу корректора 18 можно описать следующей таблицей истинности. Входы корректора Выходы корректо- З 5 18 ра 18.55 Х Х Ху Х 4 У У 4. Уз Уг У Выходы У, Уз, У. образуют первый выход корректора (выход суммы), а У Ь - второй выход корректора (выход переноса). Выход У,не используется,71 Ьтак как сигнал на нем всегда равеннулю.Блок 6 суммирования служит дляполучения результата, как в двоичной,так и в десятичной системах счисленияПри работе в двоичной системе счисления блок 6 суммирования осуществляетприбавление к сумме, полученной навыходе 14 матричного умножителя, значений переносов, сформированных навыходе 5 матричного умножителя. Приработе в десятичной системе счислениянаряду с учетом переносов осуществля ется коррекция результата:по следующему алгоритму.Анализируются межтетрадные переносы, возникшие на выходе 15 матричного умножителя. Если в некоторой тет раде выходной перенос равен единице,то к содержимому данной тетрады необходимо прибавить код коррекции0110.Далее, на втором этапе, анализируются межтетрадные переносы, возникшие при первом двоичном суммированиикода 01 О. Если в некоторой тетрадеперенос равен единице, то к содержимому данной тетрады необходимо прибавить код коррекции 0 110.На третьем этапе, если при выполпении второго этапа в некоторой тетраде имеет место запрещенная комбинация ( 10 10-1111), то к содержимомуданной тетрады необходимо прибавитькод коррекции 0 1 О.Блок суммирования 6 при работе в .двоичной системе счисления на вход 7выбора режима работы подается значение логического нуля, в результатечего на выходе элементов И 47, 49,50, 51 формируются значения логического нуля.Сумматоры 44 и 45 осуществляютсуммирование сумм, полученных навыходах 14 матричного умножителя сзначениями переносов сформированныхна выходе 15 матричного умножителя,т.е. фактически преобразует двухрядный код результата в однорядный.При работе в десят 1 чной системесчисления на вход 7 выбора режимаработы устройства подается значениелогической единицы. Если на выходе15 переносов умножителя 5 какой. либогтетрады возник перенос, то к значению.данной тетрады на соответствующем сумматоре 44 прибавляется код коррекции0110, сформированный элементом И 47.В предлагаемом варианте построения блока 6 суммирования второй итретий шаги алгоритма, коррекции обьединены. В результате этого, если приФ,прибавлении кода 0110 на выходе переноса сумматора 44 возникает перенос,то в сумматоре 45 к результату, полученному на выходе сумматора 44, прибавляется код 1100 (0110+0110), сформированный элементом И 50, если жеперенос на ныходе переноса сумматора44 не возник, то к данной тетраде насумматоре 45 прибавляется код 0110,сформированный элементом И 49.15Этим самым обеспечивается избытокшести во входной информации сумматора45. Перенос, возникающий на выходесумматора 45 поступает на вход переноса последующего сумматора 45. В томслучае, если из какой-либо тетрадысумматора 45, невозникает перенос,то из данной тетрады на сумматоре 46 .вычитается код 0110 путем суммирования с кодом 1010, сформированным на 25выходе элемента И 51.Рассмотрим работу устройства приумножении двоичных и десятичных чисел.В режиме умножения чисел, представленных в двоичной системе счисле- З 0ния по сигналу на входе 7 ныбора режима работы устройства блок 4 формирования кратных множимого, умножитель 5и блок 6 суммирования настраиваютсяна работу с двоичными числами. Далее,35по сигналу на управляющем входе 8устройства одновременно или последовательно во времени н регистры 1 и 2соответственно множимого и множителязагружаются и-разрядные двоичные сомножители без знаков. После этого, навыходах блока 4 формирования кратныхмножимого формируются двух-, четырехи восьмикратные множимого простымсдвигом влево на один, два и три двоичных разряда соответственно. Значения разрядов регистра 1 множимого идвукратного множимого через входы 9,10 поступают на первые входы модулей16 первой и второй строки каждой подматрицы умножителя 5 соответственно,четырехкратное и восьмикратное множимые через входы 11; 12 поступают насоответствующие входы модулей 17третьей и четвертой строк каждой под 55матрицы умножителя 5 соответственно.Каждая строка умножителя 5 управляется соответствующим двоичным разрядомрегистра 2 множителя. Если разряд множителя ранен единице, то в соответствующей строке модулей осуществляется прибавление кратного множимого к сумме частичных произведений, сформированной на выходе предыдущей строки модулей умножения, Тетрадные переносы в умножителе 5 распространяются не вдоль строки матрицы, в которой они формируются, а подаются на вход переноса соответствующего модуля следующей строки умножителя 5Таким образом, на выходе 14 умножителя Ь умножения формируется значение суммы частичных произведений а на выходе 15 - значение переносов, которые да" лее суммируются в блоке 6 суммирования по правилам двоичной арифметики. Сформированный н блоке 6 двоичный результат по сигналу на входе 8 записывается в регистр 3 результата.В режиме умножения чисел, представленных в десятичной системе счисления, по сигналу на входе 7 выбора режима работы устройства блок 4 формирования кратных множимого, умножитель 5 и блок 6 суммиронания настраиваются. на работу с десятичными числамиДалее, по сигналу на управляющем входе 8 устройства одновременно или последовательно во времени в регистрыи 2 соответственно множимого и множителя загружаются десятичные сомножи"тели без знаков. После этого на выходах блока 4 Формирования кратныхмножимого формируются двух-, четырех"и восьмикратные множимого в десятичнойсистеме счисления. Значение разрядов регистра 1 мно 1 кимого и двухкратного множимого через входы 9 и 10 поступают на первые входы модулей 16 первой.и второй строк каждойподматрицы умножителя 5 соответственно, четырех"кратное и восьмикратное множимые через входы 11 и 12 поступают на соответствующие входы модулей 17 третьейстроки каждой подматрицы умножителя 5.На вход модулей 17 четвертой строкикаждой подматрицы умножителя 5 поступает код .коррекции, сформированныйсоответствующей группой кг ректоров 18,Рассмотрим работу умножителя 5 на примере одной из ее подматриц.Иодули 16 первой строки подматрицы осуществляют прибавление к сумме частичных произведений, сформированной на выходах модулей 17 предыдущей строки, частичного произведения мно 1578711 10жимого на первый (самый младший) двоичный разряд соответствующей тетрады регистра 2 множителя. Далее, сумма частичных произведений, полученная5 на выходах модулей 16 первой строки подматрицы, суммируется с частичным произведением множимого на второй двоичный разряд соответствующей тетрады регистра 2 множителя. На модулях 10 6 второй строки подматрицы, т.е. на этих вычислительных модулях прибавляется или не прибавляется двухкратное множимое. Затем на модулях 17 третьей строки подматрицы к сумме частичных произведений, сформированной на выхо- . дах модулей 16 второй строки подматрицы прибавляется частичное произведение множимого на третий двоичный разряд соответствующей тетрады регистра 2 множителя или же частичное произведение множимого. на четвертый двоичный разряд соответствующей тетрады регистра 2, т.е. прибавляется или четырехкратное множимое, или восьмикратное или ничего не прибавляется. Далее, полученная в"рассматриваемой подматрице сумма частичных произведений корректируется на модулях 17 четвертой строки подматрицы (коррекция свя- З 0 зана с тем, что в модулях 16 и .17 суммирование осуществляется по правилам двоичной арифметики), Код коррекции формируется на специально введенной в устройство группе корректоров 18 по следующему алгоритму.Если в результате суммирования по правилам двоичной арифметики десятичных чисел, представленных в коде прямого замещения 8421, иэ некоторой 4 О тетрады возниКает переноС, то необходимо в данную тетраду прибавить код 0110. Каждый корректор 18 формирует код коррекции, исходя из значений сигналов на выходах переносов четырех 45 модулей. Однако не трудно показать, что в устройстве одновременно может возникнуть не более трех переносов, т.е, значение коррекции может быть равно 0,6, 12 или же 18. Аналогично работают остальные подматрицы умножителя 5. Тетрадные переносы в умножителе 5 распространяются не вдоль строки умножителя 5, в которой они образуются, а подаются на вход переноса, соответствующего модуля следую 55 щей строки умножителя 5. В результате всего этого на выходе 14 умножителя 5 формируется скорректированное значение суммы частичных. произведений, а на выходе 15. - значения тетрадных переносов, которые далее суммируются в блоке,6 суммирования по следующему правилу: если значение переноса из данной тетрады равно единице, то к данной тетраде прибавляется коррекция 0110; если в результате суммирования этой коррекции в некоторой тетраде возникает перенос, то к содержимому данной тетрады прибавляется код 0110 для поддержания в данной тетраде избытка шесть. Сформированный десятичный результат на выходах блока 6 по сигналу на входе 8 устройства записывается в регистр 3 результата.Формула изобретения1. Устройство для умножения, содержащее регистры множимого, множителя и результата, блок формирования кратных множимого, матричный умножитель и блок суммирования, причем управляющий вход устройства соединен с входами записи регистра результата, регистра множителя и регистра множимого, выход которого соединен с информационным входом блока формирования кратных множимого и первыминформационным входом матричного умножителя, второй, третийи четвертый информационные входы которого соединены соответственно с выходами двукратного, четырехкратного и восьмикратного множимых блоков формирования кратных множимого, управляющий вход которого соединен с входом выбора режима работы устройства, выходы д-хразрядов К-,й тетрады регистра множителя соединены соответственно с -ми управляющими входами группы матричного умножителя (К=1п/4, п - разрядность сомножителей, =1. . .4), о т - л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, выходы первой и второй групп матричного умножителя соединены соответственно с входами первого и второго слагаемых блокасуммирования, выход которого соединен.с информационным входом регистра результата, вход выбора режимаработы устройства соединен с входомвыбора режима работы матричного умно;жителя и блока суммирования.2. Устройство по п.1., о т л и ч а ю щ е е с я тем, что матричный умножитель содержит п/4 подматриц, каждая иэ которых содержит группуи/4 корректоров и четыре строки нычислительных модулей, причем первая строка содержит и/4, а остальные по (и/4+1) вычислительных модулей, при этом первый, нторой и третий информационные входы матричного умножителя соединены соответственно с первыми входами вычислительных модулей первой, нторой и третьей строк каждой подматрицы матричного умножителя,первый, второй и третий управляющие входы группы которого соединены соответственно с вторыми входами вычислительных модулей первой, второй и третьей строк каждой подматрицы матричного умножителя, третьи входы К-х вычислительных модулей 1-й строки (1"2,3,4) К-й подматрицы которого соединены соответственно с выходами суммы К-х вычислительных модулей (.1-1)-й строки К-й подматрицы матричного умножителя,. третьи входы 1-хнычислительных модулей первой строки Р-й подматрицы (Р=2п/4) которого 25 соединены соответственно с выходами суммы (К+ 1) -ых вычислительных модулей четвертой строки (Р)-й подматрицы матричного умножителя, третьи входы и входы переноса К-х вычислительных модулей первой строки первой подмат.- рицы и входы переноса первых вычислительных модулей 1-х строк каждой подматрицы матричного умножителя соединены с входом логического нуля. устройства четвертый информационный вход матричного умножителя соединен с четвертыми входами вычислительных модулей третьей и четвертой строк каждой подматрицы матричного умножителя, пятые 40 входы вычислительных модулей четвертой строки каждой подматрицы которого соединены с пятыми входами вычислительных модулей третьей строки каждой подматрицы матричного умножителя и четвертым управляющим входом группы матричного умножителя, прямой вход выбора. режима работы которого соединен с шестыми входами вычислительных модулей третьей, вторыми входами вычислительных модулей и четвертой строк каждой подматрицы матричного умножи.теля, инверсный вход выбора режима работы которого соединен с шестыми входами вычислительных модулей четвертой строки каждой подматрицы матрично 55 го умножителя, первый вход К-го вычислительного модуля четвертой строки каждой подматрицы которого соединен соотнетственно с первым выходом К-го корректора группы и вторым выходом (К)-го корректора группы этой же подматрицы матричного умножителя, выход переноса -го вычислительного модуля (=1,п/4) 1-й строки (1 1,2,3) каждой подматрицы которого соединен соответственно с входом переноса (С+1) -го вычислительного модуля (1+ 1)-й строки и третьим, вторым и первым входами 1-го корректора группы каждой подматрицы матричного умножутеля, вход переноса (1+1)-гб вычислительного модуля первой строки Р-й подматрицы которого соединен соответственно с выходом переноса й-го вычислительного модуля четвертой строки (р)-й подматрицы и четвертым входом 1-го корректора Р-й подматрицы матричного умножитеяя, выходы суммы ш-х вычислительных модулей четвертой строки и/4-й подматрицы (ш 1. и/4+1) и вы ходы суммы первых вычислительных модулей четвертой строки подматриц с первой по (и/4-,1)-ную соединены с выходами первой группы матричного умно- жителя, выходы второй группы которого соединены с выходами переноса ш-х вычислительных модулей четвертой строки п/-4-й подматрицы матричного умножителя н вторыми выходами и/4-.х корректоров групйы каждой подматрицы матричного умножителя.13 Устройство по п,2, о т л ич а ю щ е е с я тем, что каждый вычислительный модуль первой и второй строк каждой подматрицы матричного умножителя содержит четыре элемента И и четырехразрядный сумматор входы первого слагаемого которого соединены с выходами с первого по четвертый элементов И, первые. входы которых соединены с первым входом .вычислительного модуля, второй вход которого соединен с вторыми входами с первого по четвертый элементов И, третий вход вычислительногЬ модуля соединен с входами второго слагаемого четырех- разрядного сумматора, вход переноса которого соединен с входом переноса вычислительного модуля, выход суммы которого соединен с выходами четырех- разрядного сумматора, выход переноса которого соединен с выходом переноса вычислительного модуля.4. Устройство по п.2, о т л и -ч а ю щ е е с я тем, что каждый вычислительный модуль третьей и четвер 157871 1той строк калщой подматрицы матрично"го умножителя содержит восемь элементов И, четыре элемента ИЛИ и четырехразрядный сумматор, входы первогослагаемого которого соединены с выходами с первого по четвертый элементовИЛИ, первые входы которых соединеныс выходами с первого почетвертыйэлементов И, первые входы которыхсоединены с первым входом вычислительного модуля, второй вход которогосоединен с вторыми входами с первогопо четвертый элементов И, первые входы с пятого по восьмой элементов Исоединены с четвертым входом вычислительного модуля, пятый вход которогосоединен с вторыми входами с пятого по восьмой элементов И, третьи входыкоторых соединены с шестым входом вы"числительного модуля, третий вход ко"торого соединен с входами второгослагаемого четырехразрядного сумматора, вход переноса которого соединенс входом переноса вычислительногомодуля, выход суммы которого соединенс выходами четырехразрядного сумматора, выходы с пятого по восьмой элементов И соединены соответственнос вторыми входами с первого по, чет"вертый элементов ИЛИ, выход переносачетырехразрядного сумматора соединенс выходом переноса вычислительногомодуля.
СмотретьЗаявка
4444584, 20.06.1988
ПРЕДПРИЯТИЕ ПЯ М-5339
БАРАН ЮРИЙ АЛЕКСАНДРОВИЧ, ШОСТАК АЛЕКСАНДР АНТОНОВИЧ
МПК / Метки
МПК: G06F 7/52
Метки: умножения
Опубликовано: 15.07.1990
Код ссылки
<a href="https://patents.su/11-1578711-ustrojjstvo-dlya-umnozheniya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для умножения</a>
Предыдущий патент: Параллельный накапливающий сумматор
Следующий патент: Многоканальное устройство приоритета
Случайный патент: Способ базирования корпусных деталей и устройство для его осуществления