го- подключен к выходу генератора кратных множимого, а выход соединен с информационным входом накапливающего сумматора, выход старшего информационного разр да регистра множител соединен с входом дешифратора, нулевой выход которого подключен
к третьему входу программного блока управлени , а остальные выходы - к управл ющим входам коммутатора, выход регистра разр дности множител соединен с четвертым вхо-. дом программного .блока управлени .
Изобретение относитс к вычислительной технике и может быть исполь зовано в арифметических устройствах выполн ющих операции над дес тичными числами. Известно последовательное дес ти ное устройство умножени , содержащее дев ть регистров хранени кратных множимого, сумматор, регистр управлени -сложением, регистр множи тел , Регистр результата, селекторкомпаратор , регистр переноса и дев ть схем равнозначности, первые входы которых соединены с выходами соответствующих регистров хранени кратных множимого, вторые входы с выходом селектора-компаратора, а выходы схем равнозначности через регистр управлени сложением соединены с первым входом параллельного двоично-дес тичного сумматора, второй вход которого св зан с выходом регистра результата, третий вход с выходом регистра переноса, вьрсод переноса - с входом регистра перено са, а выход - с входом регистра.результата , выход регистра множител соединен с входом селектора-компара тора Ci 3. Недостатком этого дес тичного устройства умножени вл етс невысокое быстродействие вследствие тог что в цикле формировани кратных множимого процесс их формировани осуществл етс последовательно дл каждого кратного множимого путем суммировани с использованием одног сз мматора и регистра результата . с последукщей перезаписью результат в соответствующие регистры хранени кратных множимого. Наиболее близким к изобретению по технической сущности вл етс арифметическое устройство, предназначенное , в частности, дл умножени , содержащее регистры первого и второго операндов, сумматор, блок программного управлени , входы которого с первого и по четвертый соединены соответственно с входами признаков операций сложени , вычитани , умножени и делени устройства, выход сумматора соединен с информационным входом регистра второго операнда, группу из К сумматоров-вычитателей .(К+1) - основание системы счислени ), группу из К схем сравнени , К регистров значени кратности, компаратор, схему сравнени знаков, схему сравнени старших информационных разр дов операндов, два коммутатора, два счетчика, регистры разр дности пер .вого и второго операндов, регистры |целой и дробной частей частного, причем выходы знаковых разр дов регистров первого и второго операндов подключены к входам схемы сравнени знаков, выход которой соединен с п тым входом блока программного управлени , первьш выход которого соединен с входом управлени операцией первого сумматора-вычитател группы и с управл ющим входом первого коммутатора , первьй и второй вькоды которого подключены соответственно к CJTMмирующему входу первого сумматоравычитател группы и к вычитающим входам всех сумматоров-вычитателей rpjmпы , второй и третий выходы блока программного управлени подключены к входам управле.ни чтением регист- ров первого и второго операндов, выход регистра второго операнда подключен к первому информационному входу первого коммутатора, вход обнулени регистра первого операнда подключен 31 к четвертому выходу блоКа программно го управлени , шестой вход которого соединен с выходом знакового разр да первого сумматора-вычитател группы, п тьй выход блока программного управлени подключен к входу управлени инверсией знакового разр да регистра первого операнда, шестой выход блока программного управлени подключен к установочному входу знакового разр да регистра второго операнда, выход регистра разр дности первого операнда подключен к информационному входу первого счетчика, входы управлени записью регистров разр дности первого и второго операндов подключены к седьмому и восьмому выходам блока программного управлени , выходы регистров разр дности первого и второго oneрандов подключены соответственно к второму и третьему информацио ным входам первого коммутатора, вход управлени записью регистра первого операнда соединен с дев тым выходом блока программного управлени , дес тый и одиннадцатьш выходы которого подключены к входам управлени чтением регистров разр дности первого и второго операндов соответственно , второй выход первого сумматоравычитател группы подключен к седьмо му входу блока программного управлени , двенадцатый выход которого соединен с входом обнулени первого сумматора-вычитател группы, тринадцатый выход блока программного управ лени подключен к входу обнулени регистра второго.операнда, суммирующий вход каждого сумматора-вычитател группы, начина с второго, соединен с первым выходом предыдущего сум матора-вычитател группы, выход каждого регистра значени кратности подключен к первому входу соответствующей схемы сравнени группы, вторы входы схем сравнени группы подключе ны к выходу старшего информационного разр да регистра первого операнда, выход каждой схемы сравнени группы подключен к входу управлени чтением соответствующего сумматора-вычитател группы, первые выходы сумматоров-вычитателей группы подключены к информационному входу сумматора, вход управлени записью которого под ключен к четырнадцатому выходу блок программного управлени , п тнадцаты 14 и шестнадцатьм выходы которого подключены к входам управлени сдвигом регистра первого операнда и сумматора , входы первого и второго счетчиков соединены с семнадцатым и восемнадцатым выходами блока программного управлени , выход старшего разр да сумматора подключен к информационному входу младшего информационного разр да регистра второго операнда, вход управлени сдвигом которого соединен с дев тнадцатым выходом блока программного управлени , выход признака нул первого счетчика с восьмым входом блока программного управлени , двадцатый выход которого соединен с информационным входом знакового разр да регистра целой части частного, выходы старших информационных разр дов регистров первого и второго операндов подключены к входам схемы сравнени старших информационных разр дов операндов, выход которой подключен к дев тому входу блока программного управлени , двадцать первый выход которого соединен с информационным входом младшего разр да регистра целой части частного, вторые выходы сумматороввьгчитателей группы соединены с вхо-, дами компаратора, выход которого подключен к управл ющему входу второго коммутатора, информационный вход которого соединен свыходами регистров значени кратности, а выход соединен с вторыми входами схем сравнени группы и с информационными входами младитх разр дов регистров целой и дробной частей частного, входы управлени записью которых соединены с двадцать вторым и двадцать третьим выходами блока программного управлени , двадцать четвертый и двадцать п тый выходы которого соединены с входами управлени сдвигом регистров целой и дробной частей частного соответственно, выход регистра первого операнда соединен с информационным входом регистра второго операнда, двадцать шестой и двадцать седьмой выходы блока программного управлени подключены ко входу управлени записью регистра второго операнда и входом выдачи второго коммутатора соответственно, двадцать восьмой и двадцать дев тый выходы блока программного управлени соединены с входом обнулени и вхо51 дом управлени чтением сумматора соответственно , выход признака нул второго счетчика соединен с дес тым входом программного блока управлени тридцатый и тридцать первый выходы которого подключены соответственно к входам обнулени и входам управлеки операций сумматоров-вьтитателей группы, начина с второго, а первые выходы всех сумматоров-вычитателей группы соединены также с информацион ным эходом регистра первого операнда Г23. : К недостаткам известного устройства можно отнести необходимость использовани группы из К схем срав нени (где (К+1) - основание систем счислени ) дл определени одного из кратных множимого, соответствующего цифре в старшем разр де множител , а также последовательное формирование необходимых кратных в гру пе из К сумматоров-вычитателей. Цель изобретени - повышение быстродействи устройства дл умножени . Поставленна цель достигаетс тем, что устройство дл умножени , содержащее регистр множител , накап ливающий сумматор, узел формировани знака, генератор кратных множимого , узел подсчета количества значащих разр дов в кодовом слове множ тел , счетчик, регистр разр дности множител , программный блок управле ни , причем вход множител устройс информационным вхоства Соединен дом регистра множител , вход множимого устройства подключен к информа ционному входу генератора кратных множимого, выходы знаковых разр дов регистра множител и накапливающего сумматора подключены соответственно к входам узла формировани знака, выход которого соединен с входом зн кового разр да накапливающего сумматора , выход информационных разр дов регистра множител соединен с входом узла подсчета количества значащих разр дов в кодовом слове множител , выход которого соединен с информационными входами регистра разр дности множител и счетчика, выходы программного блока управлени с первого по третий подключены соот ветственно к входам обнулени регис ра множител , накапливающего сумматора , счетчика, четвертый и п тый 1 выходы программного .блока управлени подключены к входам управлени записью регистра множител и накапливающего сумматора, выход старшего информационного разр да Накапливающего сумматора подключен к информационному входу младшего информационного разр да регистра множител , шестой и седьмой выходы программного блока управлени подключены соответственно к входам управлени записью счетчика и регистра разр дности множител , выход признака равенства нулю счетчика подключен к первому входу программного блока управлени , восьмой выход которого подключен к входу управлени записью в знаковый разр д накапливающего сумматора, дев тый и дес тый выходы программного блока управлени подключены соответственно к входу управлени сдвигом регистра множител и счетному входу счетчика, одиннадцатый выход программного блока управлени подключен к входу управлени сдвигом накапливающего сумматора, двенадцатый вькод программного блока управлени подключен к управл ющему входу генератора кратных множимого, второй вход программного блока управлени соединен с входом запуска уст1ройства , содержит дешифратор и коммутатор , информационный вход которого подключен.к выходу генератора кратных множимого, а выход соединен с информ ционным входом накапливающего сумматора J, выход старшего информаци- . он ого разр да регистра множител соединен с входом дешифратора, нулевой выход которого подключен к третьему входу программного блока управлени , а остальные выходы - к управл ющим входам коммутатора, выход регистра разр дности множител соединен с четвертым входом программного блока управлени . На фиг. 1 представлена блок-схема устройства дл умножени ; на фиг. 2 граф-схема алгоритма работы программного блока управлени . Устройство дл умножени содержит регистр 1 множител , накапливающий сумматор 2, генератор 3.кратных мно-г жимого, узел 4 формировани знака, узел 5 подсчета количества значащих разр дов в кодовом.слове множител , счетчик 6, регистр 7 разр дности множител , программный блок 8 управлени , дешифратор 9 и коммутатор 10. Вход 11 множител устройства соединен с информационным входом регистра 1 множител , вход 12 множимого устройства подключен к информационному входу генератора 3 кратных множимого, выходы знаковых разр дов регистра 1 множител и накапливающего сумматора 2 подключены соответственно к входам узла 4 формировани знака, выход которого соединен с входом знаковог разр да накапливающего сумматора 2. Выходы информационных разр дов реги стра 1 множител соединены с входом 13 узла 5 подсчета количества значащих разр дов в кодовом слове множител , выход 14 которого соединен с информационными входами счетч ка 6 и регистра 7 разр дности множи тел соответственно. Входы 15-17 обнулени регистра 1 множител , накапливающего сумматора 2 и счетчика 6 подключены к соответствующим выходам программного блока 8 управлени , выходы 18 и 19 которого подключены к входам управлени записью соответственно регистра1 мно жител и накапливающего сумматора 2 выход старшего информационного разр да которого соединен с информационным входом младшего информационного разр да регистра 1 множител Выход 20 программного блока В управ лени подключен к, входу управлени записью счетчика 6, выход признака равенства нулю которого соединен с входом 21 программного блока 8 управлени , выход 22 .которого подкл чен к входу управлени записью реги стра 7 разр дности множител , а выход 23 - к входу управлени записью в знаковый разр д накапливающего су матора 2. Входы 24 и 25 управлени сдвигом регистра 1 множител и накапливающего :умматора 2 подключены к соответствующим выходам программн го блока 8 управлени , выход 26 кот рого соединен со счетным входом счетчика 6, выход 27 - с управл ющи входом генератора.3 кратных множимо го, а вход 28 - с входом запуска устройства. Информационный вход 29 - коммутатора 10 подключен к выходу генератора 3 кратньк множимого, а выход 30 соединен с информационным входом накапливающего сумматора 2, выход старшего информационного разр да регистра 1 множител соединен
с входом 31 дешифратора 9, нулевой выход которого подключен к входу 32 программного блока 8 управлени , а остальные выходы 33 - к управл ющим входам коммутатора 10. Выход регистра 7 подключен ко входу 34 программного блока 8 управлени .
Устройство дл умножени реализует следующий алгоритм умножени дес тичных чисел, 1.Множитель записываетс в регистр множител , множимое - в генератор кратных множимого, где формируютс кратные множимого. Определ етс с помощью узла формировани знака знак результата, которьй положителен при совпадении знаков сомножителей и отрицателен при их несовпадении. 2.Производитс одновременное сравнение цифры старшего разр да множител и номера каждого кратного множимого . 3.При совпадении цифры старшего разр да множител и номера одного |ИЗ кратных множимого осуществл етс суммирование соответствующего кратного мно;кимого с содержимым накапливающего сумматора и последующий сдвиг на один дес тичный разр д в сторону старших разр дов содержимого накапливающего сумматора и регистра множител . При несовпадении цифры старшего разр да множител с номером одного из кратных множимого, а это возможно в случае, когда цифра множител вл етс нулем , происходит лишь сдвиг на один дес тичный разр д в сторону старших разр дов содержимого накапливающего сумматора и регистра множител . 4.Дл каждого дес тичного разр да множител повтор ютс действи пп. 2 и 3 до тех пор, пока не будет произведено умножение на все разр ды множител . Устройство дл умножени работает следующим образом. Множимое А и множитель В записываютс в генератор 3 кратных множийого и регистр 1 множител по входам 12 и 11 соответственно. Знак множимого А записываетс в знаковый разр д накапливающего сумматора 2 по управл ющему сигналу с выхода 23 программного блока 8 управлени . После окончани записи сомножителей производитс определение разр дносги М множител В узлом 5 подсчета 911 количества значащих разр дов в кодовом слове множител и запись получен ной информации, поступающей с его выхода 14 на информационньй вход счетчика 6 при наличии управл ющего сигнала на выходе 20 программного блока 8 управлени . Разр дность мно- жител В определ етс по количеству разр дов регистра 1 множител , в которых записана информаци , при этом узлом 5 учитьтаетс возможность нали чи значапщх нулей в информационных разр дах регистра 1 множител . Знак произведени формируетс узлом 4 и с его выхода записываетс в знаковый разр д накапливающего сум матора 2 по управл ющему сигналу с выхода 23 программного блока 8 управлени . Формирование дев ти крат ных множимого выполн етс генератором 3 кратных множимого за п ть тактов с учетом такта первоначальной записи множимого А в генератор 3 кратных множимого. После этого проис ходит преобразование дес тичной цифры , записанной в двоично-дес тичном, коде в старшем информационном разр де регистра 1 множител , дешифратором 9 в единично-позиционный код, особенностью которого вл етс наличие единицы в той позиции„ вес которой соответствует значению дес тичной цифры, а нуль кодируетс едини , цей в нулевом разр де. Выход 33 деши$рйтора 9, т.е. выходы всех его разр дов, кроме нулевого, который соединен с входом 32 программного блока 8 управлени , объединены и сое динены с управл ющими входами -коммутатора 10, Таким образом, наличие единичного сигнала на выходе 33 одного из разр дов депшфратора 9 позво л ет осуществить запись соответствующего кратного множимого из генератора 3 кратных множимого в накапливающий сумматор 2 по управл ющему сигналу с выхода 19 программного блока 8 управлени . Накапливающим сумматором 2 выполн етс суммирование частичных произведений . Таким образом происходит умножение на любую дес тичную цифру, содержимое счетчика при этом уменьша етс на единицу по управл ющему сигналу с выхода 26 программного блока 8 управлени , поступающему на его счетный вход. В случае, когда по сле очередного уменьшени на единиI10 цу содержимое счетчика не равно нулю, производитс сдвиг информации в регистре 1 множител и накапливающем сумматоре 2 на один дес тичный разр д в сторону старших разр дов по управл ющим сигналам с программного блока 8 управлени , поступающим на входы 24 и 25 управлени сдвигом соответственно. Если в старшем информационном разр де регистра 1 множител после очередного сдвига инфор-мации дес тична цифра вл етс нулем , то наличие единичного сигнала на входе 32 программного блока 8 управлени приводит лишь к сдвигу на один дес тичный разр д влево содержимого регистра 1 множител и накапливающего сумматора 2 и к уменьшению на единицу содержимого счетчика 6. Наличие св зи между старшим информационным разр дом накапливающего сумматора 2 и г«шадшим информационным разр дом регистра 1 множител позвол ет использовать свободные разр ды последнего дл записи старших разр дов результата умножени . Б случае, когда информаци в счетчике 6 равна нулю, о чем свидетельствует сигнал, поступающий на вход 2Г программного блока 8 управлени с вы2{ода признака равенства нулю счетчика 6, операци умножени прекращаетс . Если при этом в процессе умножени происходит переполнение разр дной сетки накапливающего сумматора 2, то с помощью узла 5 фиксируетс разр дность Информации, наход щейс в данный момент в регистре 1 множител . Количество старших разр дов результата умножени в регистре 1 множител записываетс с выхода 14 узла 5 в регистр 7 по управл ющему сигналу с выхода 22 программного блока 8 управлени и в дальнейшем может- быть использовано при организации считывани и округлени результата умножени . На граф-схеме алгоритма работы программного блока 8 управлени слева от каждой микрооперации проставлено ее обозначение в виде соот .ветствующего управл ющего сигнала, а справа от каждой операторной вершины - соответствующий такт работы программного блока 8 управлени . На граф-схеме прин ты следующие сокращенные обозначени операционных узлов: Рр 1 - регистр множител ; См 2 - накапливающий сумматор 2; Ст - счетчик 6; - регистр 7 разр дности множител ; ГК - генератор 3 кратных множимого; Pfsl (н) - старший разр д регистра 1 множител ; См2 (Зн) - знаковый разр д накапливающего сумматора 2; В - множитель; R - результат умножени ; М - разр дГ начало ность информации в регистре 1 множител . Применение дешифратора и коммутатора позвол ет отказатьс от-традиционных схем сравнени , необходимых дл вьтолнени операции сравнени дес тичных цифр, и ускорить врем выборки необходимого кратного множимого, что повышает быстродействие устройства в целом.