Устройство для умножения
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СООЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИРЕСПУБЛИК 19) (11) 68 51)5 С Об Г 7/52 О ОСУДАРСТВЕ+1 ЫИ КОМИТЕТ О ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯПРИ ГКНТ СССР ОПИСАНИЕ ИЗОБРЕ АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССР Ф 1148026, кл. 0 Об Г 7/52, 1982,Авторское с видетел ьство СС С Р М 1578111, кл, 0 06 Г 1/52, 1988. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ (57) Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств для умножения двоичных и десятичных чисел Целью изобретения является увеличение быстродействия устройства. Устройство для умножения содержит регистр множимого 1, регистр множителя 2, регистр результата 3, блок 4 формирования кратных множимого, матричный умножитель 5 и блок б суммирования. Цель изобретения достигается за счет сокращения времени задержки информации в матричном умножителе, так как формирование кода коррекции происходит во время формирования результатов на выходе вычислительных модулей третьей строки подматрицы, т,е, наличие групп корректоров в матричном множителе не вносит задержки. 8 ил., 2 табл.55 Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств для умножения чисел, представленных в двоичной и десятичной системах счисления,Цель изобретения - повышение быстродействия устройства,На фиг,1 представлена функциональная схема устройства для умножения; на фиг,2 - структурная схема расположения вычислительных модулей в умножителе; на фиг,З - функциональная схема двух соседних тетрад двух смежных подматриц матричного умножителя; на фиг.4 - функциональная схема вычислительного модуля первой и второй строк каждой подматрицы матричного умножителя; на фиг.5 - функциональная схема вычислительного модуля третьей и четвертой строк каждой подматрицы умножения; на фиг.б - корректор матричного умножителя; на фиг,7 - пример реализации двух тетрад схемы блока суммирования; на фиг,8 - схема корректора блока суммирования,Устройство для умножения (фиг.1) содержит регистр 1 множимого, регистр 2 множителя, регистр 3 результата. блок 4 формирования кратных мноМимого, матричный умножитель 5, блок б суммирования, вход 7 выбора режима работы устройства, управляющий вход 8 устройства, выход 9 регистра множимого, выходы двухкратного 10, четырехкратного 11 и восьмикратного 12 множимого блока 4, выходы 13 тетрады разрядов регистра множителя, выходы первой 14 и второй 15 групп блока суммирования,Матричный умножитель 5 (фиг,З) содержит и/4 подматриц, каждая из которых содержит первую строку из и/4 вычислительных модулей 16, и вторую строку из (п/4+ 1) вычислительных модулей 16, третью и четвертую строки из (и/4 + 1) вычислительных модулей 17 и группу из п/4 корректоров 18, входы 19-21 вычислительных модулей 16, выход суммы 22 вычислительных модулей 16, вход 23 и выход 24 переноса вычислительных модулей 16, входы 25 - 30 вычислительных модулей 17, выход 31 вычислительных модулей 17, вход 32 и выход 33 переноса вычислительных модулей 17. Вычислительный модуль 16 (фиг.4) содержит четырехразрядный сумматор 34 и элементы И 351-354.Вычислительный модуль 17 (фиг.5) содержит четырехразрядный сумматор 36, элементы И 371-374, элементы И 381-384 и элементы ИЛИ 39 - 39 10 15 20 25 30 35 40 45 50 Корректор 18 (фиг,б) содержит элементы И 40, сумматор 41 по модулю два, элемент ИЛИ 42, элемент И 43, элементИЛИ-НЕ 44, элемент И 45, элементы ИЛИ46, элемент ИЛИ 47,В тетраду блока 6 суммирования (фиг.7)входят двоичные четырехразрядные двухвходовые сумматоры 48 - 49, двоичный трехразрядный двухвходовой сумматор 50,корректор 51, элемент НЕ 52, элементы И53 - 55, двоичный четырехразрядный двухвходовой сумматор 56.Корректор 51(фиг,8) содержит сумматор57 по модулю два, элементы ИЛИ 58 и 59 иэлементы И 60-62.Рассмотрим функциональное назначение и реализацию основных узлов и блоковустройства,Регистры 1 и 2 множимого и множителяпредназначены для хранения и-разрядныхдвоичных или п/4-разрядных десятичныхсомножителей. В регистре 3 результата записывается 2 п-разрядное двоичное или и/2 разрядное десятичное произведение.Блок 4 формирования кратных множимого комбинационного типа служит для формирования двух-, четырех-, восьмикратныхмножимого,Модули 16 первой и второй строк осуществляют прибавление к сумме частичныхпроизведений, сформированной на выходепредыдущей строки модулей умножения вдвухряднол коде (значения тетрадных переносов модулей умножения предыдущейстроки подаются на входы 23 переноса модулей 16, а значения суммы на входы 20модулей 16), соответствующего кратногомножимого с выхода регистра 1 множимогоили выхода блока 4 формирования кратныхмножимого, если значение двоичного разряда множителя на входе 21 данных модулей 16 равно единице, или же значениенуля, если двоичный разряд множителя равен нулю.Модули 17 третьей строки при умножении чисел, представленных в двоичной системе счисления (на прямом входе 7 выборарежима работы устройства уровень "0"), осуществляют прибавление к сумме частичныхпроизведений, сформированной на выходепредыдущей строки модулей умножения вдвухрядном коде значения четырехкратногомножимого, если значение третьего разряда соответствующей тетрады регистра 2множителя равно единице или же нуль -если значение третьего разряда соогветствующей тетрады регистра 2 множителя равно нулю. При умножении чисел,представленных в десятичной системе счисления, модули 17 третьей строки осуществ1670685 С.-В б,ляют прибавление к сумме частичных произведений, сформированной на выходе предыдущей строки модулей в двухрядном коде, четырех- или восьмикратного множимого соответственно, если третий или четвертый разряды соответствующей тетрады регистра 2 множителя равны единице, и значение нуля, если;,анные разряды раоннулю. Прибавление к сумме частичных произведений четырех- или восьмикратного множимого на одной строке модулей 17 при умножении чисел, представленных в коде прямого замещения 8421, возможно потому, что два старших разряда тетрады множителя могут одновременно быть равны единице (максимальное значение тетрады в коде прямого замещения 8421 не ложет быть больше 1001)Модули 17 четвертои строки при умножении чисел, представленных в двоичной системе счисления, осуществляю: рибавление к сумме частичных произведений, сформированной на выходе предыдущей строки модулей 17 в двухрядном коде, оось микратного множимого, есги значение четвертого разряда соответствующей тетрады регистра 2 множителя равно единице, и нуль, если значение чтвертого разряда соответствующей тетрады регистра 2 множителя равно нулю При ум оении чисел предс гавлейнык в десятичной сис гыле счис ления, модули 17 осуществляют прибавление к сумме частичных произведений, сформированной на выходе предыдущей строки модулей 17 в доулрядном коде кода коррекции, получаемого на выходах соответствуюгцей группы корректоров 18,Корректор 18 предназначен для формирования кода коррекции при умножении чи сел, представленных и десятичной системе счисления. Код коррекции формируется на выходах корректора по следующему правилу: где С - код коррекц,.и;В - число переносов из соответствующих модулей множсния.Работу корректора 18 можно описатьтаблицей истинности, приведенной втабл,1,Выходы У 2, УЗ, У 4 образуют первый выход корректора (выход суммь), а У 5 - второйвыход корректора (выход перенося). Выход У 1 не используется. так как сигнал на немвсегда равен нулюБлок 6 суммирования служит для получения конгчного результат как в двоичнойтак и в десятичной системах счисления, При работе в двоичной системе счисления блок 6 суммирования осуществляет прибавление к сумме, полученной в двухрядном коде на выходе 14 матричного умножителя, эначе ний переносов, сформированнык на выходе15 глатричного умножителя. При работе о десятичной системе счисления наряду с учего 1 переносоь осуществляется коррекция оезультата по следующему алгоритму, 19 На первом этапе двухрядный код, полученный на выходе 14 матричного умножигеля 5. потетрадно приводится к однорядному путем суммирования на тетрадных сумматорах. Заем анализируются 15 межтетрадные переносы, возникающие надву; последних строках матричного умножитсля, и тетрадные переносы, возникаюгпие о результате по тетрадного сук;,"пирования двухрядного кода с выхода 20 14;латричного умножителя. В зависимостиот чч са лежтетрадных переносов формируется кпд коррекции О, 6, 12 или 18, если число переносов равно 0,1, 2 или 3 соответственно. Далее полученный код коррекции 25 суммируется с однорядным кодом результата.На втором этапе анализируются межтетрадные переносы, возникшие при сумлировании кода коррекции с однорядным 30 кодом результата Гсли о некоторой тетрадеперенос равен единице го к содержимому данной тетрады необходимо прибавить010 для коррекцииНа гретьем этапе если при выполнении 35 оторогэ этапа в некоторой тетраде имеетмг с о запрещенная комбинация (1010- 1111) то к содержимому данной тетрады нсоблодимо прибавить код коррекции 0110,40 Корректор 51 предназначен для формирования кода коррекции при суммировании чисел представленных о десятичной систем счисления. Код коррекции формулируется на в .одах корректора по следующему пра.вил у гд С - код коррекции,50 Г - число оореносоо иэ тетрад.Работу корректора 51 можно описатьтаблицей истинности, приведенной в та б 1.2Вь коды У 2, УЗ, У 4 образуют первый вы код корректора(выход суммы), а У 5 - второйего выход (выход переноса) Выход У 1 неисольэуется, так как сигнала нем всегда раоен нулю Поясним функционирование блока 6 суммирования При работе в двоичной системе счисления на вход 7 выборарежима работы подается значение "0", в результате чего на выходе элементов И 53- 55 и корректора 51 формируются значения "0". Сумматоры 56, 48, 49 преобразуют двухрядный код, полученный на выходе 14 мат ричного умножителя 5 к однорядному,При работе в десятичной системе счисления на вход 7 выбора режима работы устройства подается значение "1", Сумматоры 56 осуществляют потетрадное преобразова ние двухрядного кода результата, полученного на выходе 14 матричного умножителя, к однорядному. Далее в зависимости от числа переносов корректор 51 формирует код коррекции, который затем потетрадно 15 суммируется с однорядным результатом на сумматоре 28, В предлагаемом варианте построения блока 6 суммирования второй и третий шаги алгоритма коррекции объединены, В результате этого, если при прибав лении кода коррекции на выходе переноса сумматора 48 возникает перенос, то в сумматоре 49 к результату, полученному на выходе сумматора 48, прибавляется код 1100 (0110 + 0110), сформированный элементом 25 И 54, если же перенос на выходе переноса сумматора 48 не возникает, то к данной тетраде на сумматоре 49 прибавляется код 0110, сформированный элементом И 53, Этим самым обеспечивается избыток шести 30 во входной информации сумматора 49, Перенос, возникающий на выходе сумматора ч 9, поступает на акод переноса последующего сумматора 49, В том случае, если иэ какой-либо тетрады сумматора 49 не возни кает перенос, то из данной тетрады на сумматоре 50 вычитается код 0110 путем суммирования с кодом 1010, сформированным на выходе элемента И 55. В качестве сумматоров 49 можно использовать быстро действующий 2 п-разрядный двоичный сумматор, например параллельно-параллельного типа. Рассмотрим работу устройства при ум ножении двоичных и десятичных чисел,В режиме умножения чисел, представленных в двоичной системе счисления, по сигналу на входе 7 выбора режима работы устройства блок 4 формирования кратных 50 множимого, матричный умножитель 5 и блок 6 суммирования настраиваются на работу с двоичными числами, Далее по сигналу на управляющем входе 8 устройства одновременно или последовательно во времени в 55 регистры 1 и 2 соответственно множимого и множителя загружаются п-разрядные двоичные сомножители беэ знаков. После этого на выходах блока 4 формирования кратных множимого формируются двух-, четырех- и восьмикратные множимого простым сдвигом влево на один, два и три двоичных разряда соответственно, Значения разрядов регистра 1 множимого и двухкратного множимого через входы 9, 1 О умножителя 5 поступают на первые входы модулей 16 первой и второй строк каждой подматрицы умножителя 5 соответственно, четырехкратное и восьмикратное множимые через входы 11, 12 умножителя 5 поступают на соответствующие входы модулей 17 третьей и четвертой строк каждой подматрицы умножителя 5 соответственно. Каждая строка умножителя 5 управляется соответствующим двоичным разрядом регистра 2 множителя, Переносы в умножителе 5 распространяются не вдоль строки матрицы, в которой они формируются, а подаются на вход переноса соответствующего модуля следующей строки умножителя 5. Таким образом, на выходе 14 суммы матричного умножителя 5 формируется значение суммы частичных произведений в двухрядном коде, которое далее приводится к однорядному коду в блоке 6 суммирования по правилам двоичной арифметики, Сформированный в блоке 6 двоичный результат по сигналу нэ входе Я управления записывается в регистр 3 результата.В режиме умножения чисел, представленных в десятичной системе счисления, по сигналу на входе 7 выбора режима работы устройства блок 4 формирования кратных множимого, мат ричный умножитель 5 и блок 6 суммирования настраиваются на работу с десятичными числами Далее по сигналу на входе 8 управления устройства одновременно или последовательно во времени в регистры 1 и 2 соответственно мнсжимого и множителя загружаются десятичные сомножители без знаков, После этого на выходах блока 4 формирования кратных множимого формируются двух-, четырех-и восьмикратные множимого в десятичной системе счисления, Значения раэрядоа регистра 1 множимого и двухкратного множимого через входы 9, 10 умножителя 5 поступают на первые входы модулей 16 первой и второй строк каждой подмдтрицы умножителя 5 соответственно, четь рехкратное и восьмикратное множимые через входы 11, 12 умножителя 5 поступают на соотвагствую. щие входы модулей 17 третьей строки каждой подматрицы умножителя 5 На вход модулей 17 четвертой строки каждой подматрицы умножителя 5 поступает код коррекции, сформированный соответствующей группой корректоров 18, Рассмотрим работу умножителя 5 на примере одной из ее подматриц.5 10 15 20 25 30 35 40 45 50 55 Модули 16 первой строки подматрицы осуществляют прибавление к сумме частичных произведений, сформированной на выходах модулей 17 предыдущей строки, частичного произведения, множимого на первый (самый младщий) двоичный разряд соответствующей тетрады регистра 2 множителя, Далее сумма частичных проиэнедений, полученная в двухрядном коде на выходах модулей 16 первой строки подматрицы, суммируется с частичным произведением множимого на второй двоичный разряд соответствующей тетрады регистра 2 множителя. На модулях 16 второй строки подматрицы, т.е, на этих модулях прибавляется или не прибавляется двухкратное множимое. Затем на модулях 17 третьей строки подматрицы к сумме частичных произведений, сформированной в двухрядном коде на выходах модулей 16 второй строки гю 1 латрицы, прибавляется частичное произведение множимого на третий двоичный разряд соответствующей тетрады регистра 2 множителя или частичное произведение множимого на четвертый двоичный разряд соответствующей тетрады регистра 2, т.е. прибавляется или четырехкратное множимое или восьмикратное или ничего не прибавляется. Далее полученная в рассматриваемой подмагрице сумма .а;. - тичных произведении корректируется на модулях 17 четвертой строки подматрицы (коррекция связана с тем, что в модулях 16, 17 суммирование осуществляется по правилам двоичной арифметики). Код коррекции формируется на специально введенной в устройство группе корректоров 18 по следующему алгоритму. Если в результате суммирования по правилам двоичной арифметики десятичных чисел, представленных в коде прямого замещения 8421, из некоторой тетрады возникает перенос, то необходимо в данную тэтраду прибавить код 0110. Каждый корректор 18 формирует код коррекции, исходя из значений сигналов на выходах переносов четырех модулей, Аналогично работают остальные подматрицы матричного умножителя.ереносы в умно- жителе 5 распространяются не вдоль строки умножителя 5, в которой они образуются, а подаются на вход соответствующего модуля следующей строки умножителя 5. В результате всего этого на выходе 14 суммы умножителя 5 формируется скорректированное значение суммы частичных произведений в двухрядном коде. а на выходе 15 переносов - значения тетрадных переносов для коррекции результатов, которые далее обрабатываются в блоке 6 суммирования по следующему правилу: двухрядный код суммы частичных произведений преобраэу",тся потетрадно к однорядному, затем в зависимости от числа тетрадных переносов формируется код коррекции, который прибавляется к однорядному результату, если в результате суммирования этой коррекции в некоторой тетраде возникает перенос, то к содержимому данной тетрады прибавляется код 0110 для поддержания в данной тетраде избытка шесть Сформированный десятичный резуль гат на выходах блока 6 по сигналу на входе 8 управления устройства записывается в регистр 3 результата.Формула изобретения Устройство для умножения, содержащее регистры множимого, множителя и результата, блок формирования кратных множимого, матричный умножитель и блок суммирования, причем управляющий вход устройства соединен с входами записи регистров множимого, множителя и результата, выход регистра множимого соединен с информационным входом блока формирования кратных множимого и первым информационным входом матричного умножителя, второй, третий и четвертый информационные входы которого соединены ".оответственно с выходами двухкратного, четырехкратного и восьмикратного множимого блока формирования кратных множимого, управляющий вход которого соединен с входом выбора режима работы матричного умножителя, блока суммирования и устройства, выходы 1-х разрядов К-й тетрады регистра множителя (К. - . 1, п/4, п - разрядность сомножителей) соединены соответственно с -ми управляющими входами группы матричного умножителя, выходы первой и второй групп которого соединены соответственно с входами первого и вгорого слагаемых блока суммирования, выход которого соединен с информационным входом регистра результата. причем матричный умно- житель содержиг и/4 подматриц, каждая иэ которых содержит группу иэ и/4 корректоров и четыре строки вычислительных модулеи, причем первая строка содержит п/4 вычислительных модулей, а вторая. третья и четвертая строки - по (и/4 + 1) вычислительных модулей, при этом первый, второй и третий информационные входы матричного умножителя соединены соответственно с первыми входами вычислительных модулей первой, второй и третьеи строк каждой подматрицы матричного умножителя, первый, второй и третий управляющие входы группы которого соединены соответственно с вторыми входами вычислительных модулей первой, второй и третьей строк каждой подматрицы матричного умножителя, третьивходы К-х вычислительных модулей )-й строки= 2,3,4) К-й подматрицы которого соединены соответственно с выходами суммы К-х вычислительных модулей- 1)-й строки К-й подматрицы матричного умножителя, третьи входы К-х вычислительных модулей первой строки р-й подматрицы (р = 2., п/4) которого соединены соответственно с выхо дами суммы,К+1)-х вычислительных модулей четвертой строки (р)-й подматрицы матричного умножителя, третьи входы и входы переноса К-х вычислительных модулей первой строки первой подматрицы, третьи входы (и/4 ф 1)-х вычислительных модулей второй строки каждой подматрицы и входы переноса первых вычислительных модулей )-х строк каждой подматрицы матричного умножителя соединены с входом логического нуля устройства, четвертый информационный вход матричного умножителя соединен с четвер гыми входами вычислительных модулей третьей и четвертой строк каждой подматрицы матричного умножителя, пятые входы которых соединены с четвертым управляющим входом группы матричного умножителя, вход выбора режима работы которого соединен с шестыми входами вычислительных модулей третьей, вторыми входами и шестыми инверснь ми .ходами вычислительных моду. лей четвертой строк каждой подматрицы матричного умножителя, первый вход К-го вычислительного модуля четвертой строки каждой подматрицы которого соединен соответственно с первым выходом К-го корректора группы и вторым выходом (К)-го корректора группы этой же подматрицы матричного умножителя, выход переноса К- го вычислительного модуля -й строки ( = ;.1,2,3) каждой подматрицы соединен соответственно с входом переноса (К+1)-го вычислительного модуля (+1)-й строки каждой подматрицы матричного умножителя, вход переноса (К+1)-го вычислительного модуляпервой строки р-й подматрицы которого соединен соответственно с выходом переноса К-го вычислительного модуля четвертой строки(р)-й подматрицы матричного умно- жителя, выходы суммы и переноса щ-х вычислительных модулей четвертой строки п/4-й подматрицы (п 1 =- 1, и/4+1) и выходы суммы первых вычислительных модулей четвертой строки подматрицы с первой по(п/410-1)-ю соединены с выходами первой группыматричного умножителя, выходы переноса К-х вычислительных модулей первой и второй строк каждой подматрицы матричного умножителя соединены соответсгвенно с первым и вторым входами К-го корректора группы каждой подматрицы матричного умножителя, третий вход К-го корректора группы р-й подматрицы которого соединен соответственно с выходом переноса К-го 202530 3540 вычислительного модуля четвертой строки(р)-й подматрицы матричного умножителя,третьи входы К-х корректоров группы первой подматрицы которого соединены с входом логического нуля устройства, третьивходы (и/4+1)-х вычислительных модулей, третьей и четвертой строк К-й подматрицы соединены с выходами суммы (и/4+1)-х вычислительных модулей второй и третьей строк К-й подматрицы соответственно, о тл и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в матричном умножителе четвертые входы К-х корректоров группы первой подматрицы соединены с входом логического нуля устройства, четвертый вход К-го корректора группы р-й подматрицы соединен с выходом переноса К-го вычислительного модуля третьей строки (р)-й подматрицы, выходы тетрадных переносов а-х вычислительньх модулейтретьей строки и/4-й подматрицы и выходы тетрадных переносов первых вычислительных модулей третьей строки подматриц с первой по (и/4-1)-ю соединены с выходами второй группы матричного умножителя.Таблица 1
СмотретьЗаявка
4623596, 21.12.1988
ПРЕДПРИЯТИЕ ПЯ М-5339
БАРАН ЮРИЙ АЛЕКСАНДРОВИЧ, ШОСТАК АЛЕКСАНДР АНТОНОВИЧ
МПК / Метки
МПК: G06F 7/52
Метки: умножения
Опубликовано: 15.08.1991
Код ссылки
<a href="https://patents.su/11-1670685-ustrojjstvo-dlya-umnozheniya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для умножения</a>
Предыдущий патент: Устройство для сравнения двух -разрядных чисел
Следующий патент: Устройство управления процессора
Случайный патент: Устройство для уплотнения валов погружных машин