Устройство для умножения
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ, содержащее регистр множителя, накапливающий сумматор, узел формирования знака, генератор кратных множимого , узел подсчета количества значащих разрядов в кодовом слове множителя , счетчик, регистр разрядности множителя, программный, блок управления , причем вход множителя устройства соединен с информационным входом регистра, множителя, вход множимого устройства подключен к информационному входу генератора кратных множимого, выходы знаковых разрядов регистра множителя и накапливающего сумматора подключены соответственно к входам узла формирования знака, выход которого соединен с входом знакового разряда накапливающего сумматора , выход информационных разрядов регистра множителя соединен с входом узла подсчета количества значащих разрядов в кодовом слове множителя, вькод которого соединен с информационными входами регистра разрядности множителя и счетчика. выходы программного блока управления с первого по третий подключены соответственно к входам обнуления регистра множителя, накапливающего сумматора, счетчика, четвертьй и пятый выходы программного блока управления подключены к входам управления записью регистра множителя и накапливающего сумматора, выход старшего информационного раз . ряда накапливающего сумматора подключен к информационному входу младшего информационного разряда регистра множителя, шестой и седьмой выходы программного блока управления подключены соответственно к входам управления записью счетчика и регист (Л ра разрядности множителя, выход признака равенства нулю счетчика подключен к первому входу программного блока управления, восьмой выход которого подключен к входу управления записью в знаковый разряд накапливающего сумматора, девясо а тый и десятый выходы программного блока управления подключены соответственно к входу управления сдвигом ел регистра множителя и счетному входу счетчика, одиннадцатьй выход программного блока управления подключен к входу управления сдвигом накапливающего сумматора, двенадцатьй выход программного блока управления подключен к управляющему входу генератора кратных множимого, второй вход программного блока управления соединен с входом запуска устройства , отличающееся тем, что, с целью повышения быстродейстВИЯ , оно содержит дешифратор и коммутатор , информационный вход которо
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН а91 П»
4(51) ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
0ПИСЛНИ ИЗОЬГК
Н ABTOPCHOMV СВИДЕТЕЛЬСТВУ (21) .3430574/18-24 (22) 27.04.82 (46) 23.01.85. Бюл. № 3 (72) В.П.Кожемяко, Т.Б.Мартынюк и А.И.Короновский (71) Винницкий политехнический институт (53) 681. 325 (088. 8) (56) 1. Чу Я. Организация 3ВМ, и микропрограммирование. M. "Мир", 1975, с. 267-269.
2. Авторское свидетельство СССР . по заявке ¹ 2911429/18-24, кл. G 06 Р 7/38, 1980 (прототип) . (54)(57) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ, содержащее регистр множителя, накапливающий сумматор, узел формирования знака, генератор кратных множимого узел подсчета количества значащих разрядов в кодовом слове множителя, счетчик, регистр разрядности множителя, программный блок управления, причем вход множителя устройства соединен с информационным входом регистра множителя, вход множимого устройства подключен к информационному входу генератора кратных множимого, выходы знаковых разрядов регистра множителя и накапливающего сумматора подключены соответственно к входам узла формирования знака, выход которого соединен с входом знакового разряда накапливающего сум. матора, выход информационных разрядов регистра множителя соединен с входом узла подсчета количества значащих разрядов в кодовом слове множителя, выход которого соединен с информационными входами регистра разрядности множителя и счетчика, выходы программного блока управления с первого по третий подключены соответственно к входам обнуления регистра множителя, накапливающего сумматора, счетчика, четвертый и пятый выходы программного блока управления подключены к входам управления записью регистра множителя и накапливающего сумматора, выход старшего информационного раз. ряда накапливающего сумматора под" ключен к информационному входу младшего информационного разряда регистра множителя, шестой и седьмой выходы программного блока управления подключены соответственно к входам управления записью счетчика и регистра разрядности множителя, выход признака равенства нулю счетчика подключен к первому. входу программного блока управления, восьмой выход которого подключен к входу управления записью в знаковый разряд накапливающего сумматора, девятый и десятый выходы программного блока управления подключены соответственно к входу управления сдвигом регистра множителя и счетному входу счетчика, одиннадцатый выход программного блока управления подключен к входу управления сдвигом накапливающего сумматора, двенадцатый выход программного блока управления подключен к управляющему входу генератора кратных множимого, второй вход программного блока управления соединен с входом запуска устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродейст-. вия, оно содержит дешифратор и коммутатор, информационный вход которо1136151
ro.ïîäêëþ÷åH к выходу генератора кратных множимого, а выход соединен с информационным входом накапливающего сумматора, выход старшего информационного разряда регистра множителя соединен с входом дешифратора, нулевой выход которого подключен
Изобретение относится к вычислительной технике и может быть использовано в арифметических устройствах, выполняющих операции над десятичными числами. 5
Известно последовательное десятичное устройство умножения, содержащее девять регистров хранения кратных множимого, сумматор, регистр управления сложением, регистр множи- 10 теля, .регистр результата, селекторкомпаратор, регистр переноса и девять схем равнозначности, первые входы которых соединены с выходами соответствующих регистров хранения 15 кратных множимого, вторые входы— ! с выходом селектора-компаратора, а выходы схем равнозначности через регистр управления сложением соединены с первым sxapoM параллельного 20 двоично-десятичного сумматора, второй вход которого связан с выходом регистра результата, третий вход— с выходом регистра переноса, выход переноса — с входом регистра перено- 25 са, а выход — с входом регистра.результата, выход регистра множителя . соединен с входом селектора-компаратора С13.
Недостатком этого десятичного устройства умножения является невысокое быстродействие вследствие того, что в цикле формирования кратных множимого процесс их формирования ,35 осуществляется последовательно для каждого кратного множимого путем суммирования с использованием одного сумматора и регистра результата с последующей перезаписью результата в соответствующие регистры хранения кратных множимого.
Наиболее близким к изобретению по технической сущности является к третьему входу программного блока управления, а остальные выходы — к управляющим входам коммутатора, выход регистра разрядности множителя соединен с четвертым вхо-, дом программного .блока управления.
2 арифметическое устройство, предназначенное, в частности, для умножения, содержащее регистры первого и второго операндов, сумматор, блок программного управления, входы которого с первого и по четвертый соединены соответственно с входами признаков операций сложения, вычитания, умножения и деления устройства, выход сумматора соединен с информационным входом регистра второго операнда, группу из К сумматоров-вычитателей .(К+1) — основание системы счисления), группу из К схем сравнения, К регистров значения кратности, компаратор, схему сравнения знаков, схему сравйения старших информационных разрядов операндов, два коммутатора, два счетчика, регистры разрядности первого и второго операндов, регистры ьцелой и дробной частей частного, причем выходы знаковых разрядов регистров первого и второго операндов подключены к входам схемы сравнения знаков, выход которой соединен с пятым входом блока программного управления, первый выход которого соединен с входом управления операцией первого сумматора-вычитателя группы и с управляющим входом первого коммутатора, первый и второй выходы которого подключены соответственно к суммирующему входу первого сумматоравычитателя группы и к вычитающим входам всех сумматоров-вычитателей группы, второй и третий выходы блока программного управления подключены к входам управления чтением регист- . ров первого и второго операндов, выход регистра второго операнда подключен к первому информационному-входу первого коммутатора, вход обнуления регистра первого операнда подключен з 11361 к четвертому выходу блоКа программного управления, шестой вход которого соединен с выходом знакового разряда первого сумматора-вычитателя группы, пятый выход блока программного управления подключен к входу управления инверсией знакового разряда регистра первого операнда, шестой выход блока программного управления подключен к установочному 10 входу знакового разряда регистра второго операнда, выход регистра разрядности первого операнда подключен к информационному входу первого счетчика, входы управления записью регистров разрядности первого и второго операндов подключены к седьмому и восьмому выходам блока программного управления, выходы регистров разрядности первого и второго операндов подключены соответственно к второму и третьему информациоЪным входам первого коммутатора, вход управления записью регистра первого операнда соединен с девятым выходом блока програьжного управления, десятый и одиннадцатый выходы которого подключены к входам управления чтением регистров разрядности первого и второго операндов соответствен- З0 . но, второй выход первого сумматоравычитателя группы подключен к седьмому входу блока программного управления, двенадцатый выход которого соединен с входом обнуления первого сумматора-вычитателя группы, тринадцатый выход блока программного управления подключен к входу обнуления регистра второго, операнда, суммирующий вход каждого сумматора-вычитате40 ля группы, начиная с второго, соединен с первым выходом предыдущего сумматора-вычитателя группы, выход каждого регистра значения кратности подключен к первому входу соответст- 45 вующей схемы сравнения группы, вторые входы схем сравнения группы подключены к выходу старшего информационного разряда регистра первого операнда, выход каждой схемы сравнения группы 50 подключен к входу управления чтением соответствующего сумматора-вычитателя группы, первые выходы сумматоров-вычитателей группы подключены к информационному входу сумматора., вход управления записью которого подключен к четырнадцатому выходу блока программного управления, пятнадцатый
51 4 и шестнадцатый выходы которого подключены к входам управления сдвигом регистра первого операнда и сумматора, входы первого и второго счетчиков соединены с семнадцатым и восемнадцатым выходами блока программного управления, выход старшего разряда сумматора подключен к информационному входу младшего информационного разряда регистра второго операнда, вход управления сдвигом которого соединен с девятнадцатым выходом блока программного управления, выход признака нуля первого счетчика соединен с восьмым входом блока программного управления, двадцатью выход которого соединен с информационным входом знакового разряда регистра целой части частного, выходы старших инфор. мационных разрядов регистров первого и второго операндов подключены к входам схемы сравнения старших информационных разрядов операндов, выход которой подключен к девятому входу блока программного управления, двадцать первый выход которого соединен с информационным входом младшего разряда регистра целой части частного, вторые выходы сумматороввычитателей группы соединены с вхо-. дами компаратора, выход которого подключен к управляющему входу второго коммутатора, информационный вход которого соелинеH c BblxolIBMH регистров значения кратности, а выход соединен с вторыми входами схем сравнения группы и с информационными входами младших разрядов регистров целой и дробной частей частного, входы управления записью которых соединены с двадцать вторым и двадцать третьим выходами блока программного управления, двадцать четвертый и двадцать пятый выходы которого соединены с вхолами управления сдвигом регистров целой и лробной частей частного соответственно, выход регистра первого операнда соединен с информационным входом регистра второго операнда, двадцать шестой и двадцать седьмой выходы блока про« граммного управления подключены ко входу управления записью регистра второго операнда и входом выдачи второго коммутатора соответственно, двадцать восьмой и двадцать девятый выходы блока программного управления соединены с входом обнуления и вхо1136151
S дом управления чтением сумматора соответственно, выход признака нуля второго счетчика соединен с десятым входом программного блока управления, тридцатый и тридцать первый выходы 5 которого подключены соответственно к входам обнуления и входам управления операций сумматоров-вычитателей группы, начиная с второго, а первые выходы всех сумматоров-вычитателей 10 группы соединены также с информационным входом регистра первого операнда 523. выходы программного блока управления подключены к входам управления записью регистра множителя и накапливающего сумматора, выход старшего информационного разряда накапливающего сумматора подключен к информационному входу младшего информационного разряда регистра множителя, шестой и седьмой выходы программного блока управления подключены соответственно к входам управления записью счетчика и регистра разрядности множителя, выход признака равенства
К недостаткам известного устройства можно отнести необходимость использования группы из К схем сравнения (где (К+1) — основание системы счисления) для определения одного из кратных множимого, соответствующего цифре в старшем разряде множителя, а также последовательное формирование необходимых кратных в группе из К сумматоров-вычитателей.
Цель изобретения — повышение быстродействия устройства для умножения.
Поставленная цель достигается тем, что устройство для умножения, содержащее регистр множителя, накапливающий сумматор, узел формирова30 ния знака, генератор кратных множимого, узел подсчета количества значащих разрядов в кодовом слове множителя, счетчик, регистр разрядности множителя, программный блок управле- З5 ния, причем вход множителя устройства соединен с информационным входом регистра множителя, вход множимого устройства подключен к информационному входу генератора кратных 40 множимого, выходы знаковых разрядов регистра множителя и накапливающего сумматора подключены соответственно к входам узла формирования знака, выход которого соединен с входом зна45 кового разряда накапливающего сумматора, выход информационных разрядов регистра множителя соединен с входом узла подсчета количества значащих разряДов в кодовом слове
50 множителя, выход которого соединен с информационными входами регистра разрядности множителя и счетчика, выходы программного блока управления с первого по третий подключены соот55 ветственно к входам обнуления регист. ра множителя, накапливающего сумматора, счетчика, четвертый и пятый нулю счетчика подключен к первому входу программного блока управления, восьмой выход которого подключен к входу управления записью в знаковый разряд накапливающего сумматора, девятый и десятый выходы программного блока управления подключены соответственно к входу управления сдвигом регистра множителя и счетному входу счетчика, одиннадцатый выход программного блока управления подключен к входу управления сдвигом накапливающего сумматора, двенадцатый выход программного блока управления подключен к управляющему входу генератора кратных множимого, второй вход программного блока управпения соединен с входом запуска уст ройства, содержит дешифратор и коммутатор, информационный вход которого подключен,к выходу генератора кратных множимого, а выход соединен с информационным входом накапливающего сумматора выход старшего информаци- .
1 оняого разряда регистра множителя соединен с входом дешифратора, нулевой выход которого подключен к третьему входу программного блока управления, а остальные выходы — к управляющим входам коммутатора, выход регистра разрядности множителя соединен с четвертым входом программного блока управления.
На фиг. 1 представлена блок-схема устройства для умножения;. на фиг. 2— граф-схема алгоритма работы программного блока управления.
Устройство для умножения содержит регистр 1 множителя, накапливающий сумматор 2, генератор 3 кратных мно-. жимого, узел 4 формирования знака, узел 5 подсчета количества значащих разрядов в кодовом. слове множителя, счетчик 6, регистр 7 разрядности множителя, программный. блок 8 управле113615 ния, дешифратор 9 и коммутатор 10.
Вход 11 множителя устройства соединен с информационным входом регистра 1 множителя, вход 12 множимого устройства подключен к информационному входу генератора 3 кратных множимого, выходы знаковых разрядов регистра 1 множителя и накапливающего сумматора 2 подключены соответственно к входам узла 4 формирования знака, выход 10 которого соединен с входом знакового разряда накапливающего сумматора 2.
Выходы информационных разрядов регистра 1 множителя соединены с входом 13 узла 5 подсчета количества 15 значащих разрядов в кодовом слове множителя, выход 14 которого соединен с информационными входами счетчи. ка 6 и регистра 7 разрядности множителя собтветственно. Входы 15 — 17 20 обнуления регистра 1 множителя, накапливающего сумматора 2 и счетчи ка 6 подключены к соответствующим выходам программного блока 8 управления, выходы 18 и 19 которого 25 подключены к входам управления записью соответственно регистра 1 множителя и накапливающего сумматора 2, - выход старшего информационного разряда которого соединен с информа ционным входом младшего информационного разряда регистра 1 множителя.
Выход 20 программного блока 8 управления подключен к, входу управления записью счетчика 6, выход признака равенства нулю которого соединен с входом 21 программного блока 8 управления, выход 22 .которого подключен к входу управления записью реги,стра 7 разрядности множителя, а вы- 4О ход 23 — к входу управления записью в знаковый разряд накапливающего сумматора 2. Входы 24 и 25 управления сдвигом регистра 1 множителя и накапливающего сум»матора 2 подключены 45 к соответствующим выходам программного блока 8 управления, выход 26 которого соединен со счетным входом ! счетчика 6, выход 27 — с управляющим входом генератора.3 кратных множимо- о го, а вход 28 — с входом запуска устройства. Информационный вход 29 коммутатора 10 подключен к выходу генератора 3 кратных множимого, а выход 30 соединен с информационным входом накапливающего сумматора 2, выход старшего информационного разряда регистра 1 множителя соединен
1 8 с входом 31 дешифратора 9, нулевой выход которого подключен к входу 32 программного блока 8 управления, а остальные выходы 33 — к управляющим входам коммутатора 10. Выход регистра 7 подключен ко входу 34 программного блока 8 управления.
Устройство для умножения реализует следующий алгоритм умножения десятичных чисел.
1. Множитель записывается в регистр множителя, множимое — в генератор кратных множимого, где формируются кратные множимого. Определяется с помощью узла формирования знака знак результата, который положителен при совпадении знаков сомножителей и отрицателен при их несовпадении.
2. Производится одновременное сравнение цифры старшего разряда множителя и номера каждого кратного множимого»
3. При совпадении цифры старшего разряда множителя и номера одного из кратных множимого осуществляется
1 суммирование соответствующего кратного множимого с содержимым накапливающего сумматора и последующий сдвиг на один десятичный разряд в сторону старших разрядов содержимого накапливающего сумматора и регистра множителя. При несовпадении цифры старшего разряда множителя с номером одного из кратных множимого, а это возможно в случае, когда цифра множителя является нулем, происходит лишь сдвиг на один десятичный разряд в сторону старших разрядов содержимого накапливающего сумматора и регистра множителя.
4. Для каждого десятичного разряда множителя повторяются действия пп. 2 и 3 до тех пор, пока не будет произведено умножение на все разряды множителя.
Устройство для умножения работает следующим образом.
Множимое А и множитель В записываются в генератор 3 кратных множимого и регистр 1 множителя по входам 12 и 11 соответственно. Знак множимого А записывается в знаковый разряд накапливающего сумматора 2 по управляющему сигналу с выхода 23 программного блока 8 управления. После окончания записи сомножителей производится определение разряднос" ги М множителя В узлом 5 попсчета
1136151
9 количества значащих разрядов в кодовом слове множителя и запись получен ной информации, поступающей с его выхода 14 на информационный вход счетчика б при наличии управляющего сигнала на выходе 20 программного блока 8 управления. Разрядность мно . жителя В определяется по количеству разрядов регистра 1 множителя, в которых записана информация, при этом 10 узлом 5 учитывается возможность наличия значащих нулей в информационных разрядах регистра 1 множителя.
Знак произведения формируется узлом 4 и с его выхода записывается 15 в знаковый разряд накапливающего сумматора 2 по управляющему сигналу с выхода 23 программного блока 8 управления. Формирование девяти кратных множимого выполняется генерато- 20 ром 3 кратных множимого за пять тактов с учетом такта первоначальной записи множимого А в генератор 3 кратных множимого. После этого происходит преобразование десятичной циф- 25 ры, записанной в двоично-десятичном. коде в старшем информационном разряде регистра 1 множителя, дешифратором 9 в единично-позиционный код, особенностью которого является наличие единицы в той позиции, вес которой соответствует значению десятичной цифры, а нуль кодируется едини, цей в нулевом разряде. Выход 33 дешифратора 9, т.е. выходы всех его разрядов, кроме нулевого, который соединен с входом 32 программного блока 8 управления, объединены и соединены с управляющими входами коммутатора 10. Таким образом, наличие единичного сигнала на выходе 33 одного иэ разрядов дешнфратора 9 позволяет осуществить запись соответствующего кратного множимого иэ генератора 3 кратных множимого в накап- 4> ливающий сумматор 2 по управляющему сигналу с выхода 19 программного блока 8 управления.
Накапливающим сумматором 2 выполняется суммирование частичных произведений. Таким образом происходит умножение на любую десятичную цифру, содержимое счетчика при этом уменьшается на единицу по управляющему сигналу с выхода 26 программного блока 8 управления, поступающему на его счетный вход. В случае, когда после очередного уменьшения на единицу содержимое счетчика не равно нулю, производится сдвиг информации в регистре 1 множителя и накапливающем сумматоре 2 на один десятичный разряд в сторону старших разрядов по управляющим сигналам с программного блока 8 управления, поступающим на входы 24 и 25 управления сдвигом соответственно. Если в старшем информационном разряде регистра 1 множителя после очередного сдвига инфор мации десятичная цифра является нулем, то наличие единичного сигнала на входе 32 программного блока 8 управления приводит лишь к сдвигу на один десятичный разряд влево содержимого регистра 1 множителя и накапливающего сумматора .2 и к уменьшению на единицу содержимого счетчика б. Наличие связи между старшим информационным разрядом накапливающего сумматора 2 и младшим информационным разрядом регистра 1 множителя позволяет использовать свободные разряды последнего для записи старших разрядов результата умножения.
В случае, когда информация в счетчике 6 равна нулю, о чем свидетельствует сигнал, поступающий на вход 21 программного блока 8 управления с выхода признака равенства нулю счетчика б, операция умножения прекращается. Если при этом в процессе умножения происходит переполнение разрядной сетки накапливающего сумматора 2, то с помощью узла 5 фиксируется разрядность информации, находящейся в данный момент в регистре 1 множителя. Количество старших разрядов результата умножения в регистре 1 множителя записывается с выхода 14 узла 5 в регистр 7 по управляющему сигналу с выхода 22 программного блока 8 управления и в дальнейшем может быть использовано при организации считывания и округления результата умножения.
На граф-схеме алгоритма работы программного блока 8 управления слева от каждой микрооперации проставлено ее обозначение в виде соответствующего управляющего сигнала, а справа от каждой операторной вер- шины — соответствующий такт работы программного блока 8 управления.
На граф-схеме приняты следующие
1136151
ФигЛ
Фие.2
286/36 Тощ 710 Подписное
ВНИКПИ Заказ сокращенные обозначения операционных узлов: Р„ 1 — регистр множителя;
См 2 — накапливающий сумматор 2;
Ст вЂ, счетчик 6; P 7 — регистр 7 разрядности множителя;. ГК вЂ” генератор 3 кратных множимого; Рг1 (ti) — старший разряд регистра 1 множителя;
См2 (Зн) — знаковый разряд накапливающего сумматора 2;  — множитель;
P. — р еeз у л ь тTа т у мнHоoж еeнHиHя ; И вЂ” разрядность информации в регистре 1 множителя. . Применение дешифратора и коммутатора позволяет отказаться от- традиционных схем сравнения, необходимых для выполнения операции сравнения десятичных цифр, и ускорить время выборки необходимого кратного множимого, что повышает быстродейст-!
О вие устройства в целом.