Устройство для умножения

Номер патента: 1495785

Авторы: Богомаз, Жалковский, Лопато, Шостак, Шпаков

Есть еще 4 страницы.

Смотреть все страницы или скачать ZIP архив

Текст

267/46 Тираж 668 ПодписноеГосударственного комит м при ГЕНТ ССС113035, Москвна Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагары ЗакаВНИИПИ ета по изобретенияа, Ж, Раушская и открытиямб., д. 4/5ный и преобразования двоичиого кодав двоично-десятичный,В табл, 1 и 2 приведены значениясоответственно двоичных и двоично 5десятичных эквивалентных весов преобразуемых групп разрядов,Устройство для умножения содержит(фиг,1) блоки 1,-1умножения, буферные регистры первой 2 -2 и второй3,"3 групп, блоки 4,-4, суммироваЬс 1ния, регистры 5 -5, результата,регистры 6,-б,п операнда, коммутаторы7-7 , блок Я хранения смещенных эквивалентов, микропрограммный блок 9 5управления, вход 10 множителя устройства, вход 11 множимого устройства,состоящий из входов 11 -11, тетрадразрядов, вход 12 коррекции устройства, вход первой 13 и второй 14 констант устройства, вход 15 нулевогопотенциала устройства, вход 16 на"чального адреса устройства, выход 17,младшей части результата устройства,выход 18 старшей части результатаустройства, выходы 19-25 микропрограммного блока 9 управления, выходы26 -26, старших частей произведенийи выходы 27,-27, младших частей нроизведений блоков 1,-1 умножения, 30выходы 28,-28, буферных регистров,2,-2первой группы, выходы 29 1-29буферных регистров 3,-3второй группы, выходы 30,-30суммы блоков4-4 , суммирования, выходы 31-31, 35регистров 5-5результата, выходы32-32 переноса блоков 4 -4суммировайия,Блок 4 суммирования содержит(Фиг.2) первый 33 и второй 34 сумматоры, первый 35 и второй 36 корректирующие сумматоры, триггер 37 переноса и коммутатор 38 переноса,Микропрограммный блок 9 управления содержат, (фиг.3) счетчик 39, 45элемент 40 памяти микрокоманд, регистр 41 микрокоманд,Рассмотрим Функциональное назначение и реализацию основных блокови узлов устройства.50Каждый из блоков 1 - 1умноженияосуществляет умножение соответствующей тетрады разрядов множимого натетраду разрядов множителя, В зависимости от значения потенциала, поступающего с выхода 22 микропрограммного блока управления на вход выборарежима блока 1 умножения, на его выходе 26; старшей и выходе 27, младшей частей произведения появляется результат умножения либо в двоичном,либо в двоично-десятичном коде, при-,чем потенциал логической единицы навыходе 22 блока 9 обеспечивает работуустройства в десятичной системе счисления, а потенциал логического нуля -его работу в двоичной системе счисления.Блоки 1,-1, умножения целесообразно реализовать в виде ППЗУ. В этомслучае младшая или старшая части двоично-десятичного произведения на выходах блока умножения могут формироваться уже скорректированными на "+6"без каких-либо дополнительных аппаратных затрат, Такая коррекция двоично-десятичного кода произведения необходима для формирования в дальней"шем в блоках 4,-4суммированиядесятичного результата.Буферные регистры первой 2,-2ивторой 3,-3, групп позволяют распараллелить в устройстве процесс вычисления тетрадных произведений в блоках умножения с процессом суммирования полученных в предыдущих тактахтетрадных произведений и частичныхрезультатов.Блоки 4,-4 суммирования предназ"начены для формирования промежуточных и окончательного результатов привыполнении операции двоичного и десятичного умножения, а также преобразования, причем все они работают идентичным образом,Триггеры 37 переноса и коммутаторы 38 переноса в блоках суммирования позволяют сбалансировать времявыполнения суммирования тетрадныхпроизведений и частичных результатовв блоках суммирования с временем вычисления тетрадных произведений вблоках умножения.Первый корректирующий сумматор 35фактически осуществляет коррекцию"-6" при отсутствии переноса сумма"тора 33, а второй корректирующийсумматор 36 " коррекцию "+6" при наличии переноса сумматора 34, В противных случаях корректоры 35 и 36передают информацию без изменений,Если старшие тетрады произведений на выходах блоков 1-1умножения формируются уже скорректированными на "+6", то на вход 13 первойконстанты устройства подается кодОООО, а на вход 14 второй констан 1495785ты - код 01 О. Если младшие тетрады произведений на выходах блоков 1 -11в умножения формируются уже скорректированными на "+6", то на вход 3 пер 5 вой константы подается код 0110, а на вход 14 второй константы - код 0000. Свободный первый вход первого сумматора 33 первого блока 4, суммирования является входом 12 коррекции 10 устройства, через который при двоичном умножении чисел в дополнительных кодах может вводиться коррекция, либо подсуммироваться в процессе умножения двух чисел третье число к получающе муся произведению.Регистры 6,-6 операнда предназначены для хранения значения множимого при выполнении в устройстве операции умножения и временного хранения 20 двоичных или двоично-десятичных эквивалентов весов преобразуемых групп разрядов при выполнении операции преобразования.Блок 8 хранения смещенных эквива-25 лентов и группы коммутаторов 7 необходимы для преобразования чисел из двоичной системы счисления в десятичную и обратно.Устройство для умножения работает 30 следующим образом.Устройство работает в двух режимах: режиме умножения чисел и в режиме преобразования чисел. На фиг.4- 6 изображены микропрограммы выполнения соответственно операций двоичного умножения, десятичного умножения, преобразования из двоично-десятичного кода в двоичный и преобразова-ния из двоичного кода в двоично-деся тичный. Выражение вида УН где И=19, .20,21,22,24,25, на фиг.4-6 означает наличие на соответствующем выходе И блока 9 управления сигнала логической единицы. 45Значения адресов, по которым в блоке 8 записаны первый двоичныйи первый двоично-десятичный эквиваленты, равны соответственно а и Ь.Перед началом работы выполнения 50 микропрограммы двоичного умножения, а также всех других микропрограмм предполагается, что на цепи синхро-низации устройства подается два предварительных синхроимпульса, По первому синхроимпульсу счетчик 39 блока 9 управления устанавливается в исходное состояние посредством подачи на вход 16 устройства начального адреса микропрограмм. 11 о второму синхроимпульсу согласно содержимому, счетчика 39, которое служит адресом обращения к памяти 40 микрокоманд, изэтой памяти в регистр 41 записывается значение первой микрокоманды, азначение адреса в счетчике 39 увеличивается на единицу. При выполненииоперации двоичного умножения по втдрому синхроимпульсу на втором входе 11 устройства также появляетсяи-разрядный двоичный код множимого,11 ри выполнении первой микрокоманды(фиг.4) под воздействием управляющихсигналов У 21 и У 24. значение множимого с входа 11 устройства записывается в регистры 6,-6 операнда. Одно, временно на входе 10 устройства устанавливается значение самой младшейтетрады множителя,В первом такте собственно двоичного умножения (вторая микрокоманда) в блоках 1,-1, самая младшая тетрада множителя перемножается на соот"ветствующие тетрады множимаго, Двоичные результаты этих тетрадных умножителей записываются в оуферные регистры 2,-2,и 3-3, по сигналу разрешения У 20, Одновременно происходит обнуление регистров 5,-5,+, результатаи триггеров блоков 4,-4 ; суммирования (сигнал У 19), а также подача навход 10 устройства следующей тетрадымножителя.На втором такте собственно умножения (третья микрокоманда) происходитперемножение очередной ( второй ) тетрады множителя на тетрады множимогои одновременно с этим суммированиепредыдущих тетрадных произведений вблоках 4,-4, суммирования. В концевторого такта с разрешения сигналаУ 20 в буферных регистрах 2,-23,-3 , регистрах 5,-5 ю, результатаи триггерах 37 переноса блоков 44, суммирования фиксируется промежуточная информация, а на входе 1 Оустройства появляется значение следующей 1,третьей) тетрады множителяАналогичным образом устройствофункционирует и в других тактах (микрокоманды с четвертой по (ш+1)-ю),В каждом такте с выхода 17 устройства считывается значение очереднойтетрады младшей части результата,После выполнения последнего ш-готакта собственно умножения (ш+1)-ямикрокоманда) в буферных регистрах2-2и 3-3 запоминаются значениятетрадных произведений последней(самой старшей) тетрады множителя навсе тетрады множимого,При выполнении (ш+2)-й микрокоманды происходит суммирование значенийсодержимого буферных регистров 2 -2 г,1и 3-3, с соответствующими значениями регистров 5,-5 , результата и Отриггеров 37 переноса блоков 4,-4суммирования. С входа 10 устройствапри этом на все входы множителяблоков 1-1, умножения подается нулевая тетрада, В конце такта образуемые 5на выходах блоков 1-1нулевые произведения запоминаются в буферныхрегистрах 2-2, и 3,-3 , а в регистрах5,-5 ,результата и триггерах 37переноса запоминается значение окончательного результата в двухрядномкоде,При выполнении (гп+3)-й микрокоманды сигнал У 25 настраивает коммутаторы 38 переноса блоков 4 -4на передачу информации через их первыевходы,. тем самым выход переноса первого сумматора 33 оказывается соединенным с входом переноса первого сумматора 33 соседнего старшего блока 30суммирования, Б результате этого значение содержимое триггеров 37 переноса и дсуммируется к содержимому соотвегствующих регистров 5 -5 результата через второй, вход первых сумматоров 33 и двухрядный код произведения преобразуется к однорядному, приэтом сигнал У 25 поддерживается в течение двух или более микрокоманд,После выполнения (ш+3)-й и (ш+4)-й 40микрокоманды в регистрах ,-5результата будет находиться старшаячасть окончательного произведения воднорядном код. Иладшая часть произведения уже выведена через выход 17устройства во время выполнения предыдущих микрокоманд, Первый 35 и второй 36 корректирующие сумматоры блоков 4,-4 в отсутствии сигнала У 22настраиваются на передачу информациис входов на выходы без изменений,Десятичное умножение выполняетсяв основном аналогично двоичному,Отличие от двоичного умножениясостоит в том, что в микрокомандахс второй до (ш+3)-й присутствует. дополнительный сигнал У 22, которыйнастраивает блоки 1-1 ,на умножение в десятичной системе счисления,а корректирующие сумматоры 35-36на режим коррекции. Первый корректирующий сумматор 36 осуществляет вычитание6, когда выходной переноссумматора 33 равен нулю. Второй корректирующий сумматор 36 производитприбавление "6", когда выходной перенос сумматора 34 равен единице.Микропрограмма выполнения операциипреобразования двоично-десятичногокода в двоичный изображена на фиг.5,Предполагается, что количество десятичных разрядов в преобразуемом операнде равно ш, Преобразование заключается в вычислении произведенийдвоично=десятичных тетрад разрядовпреобразуемого числа на двоичные эквиваленты весов этих тетрад и суммировании полученных произведений,По значению начального адреса микропрограммы, занесенного в счетчик 39блока 9 управления, из памяти 40 врегистр 41 записывается значение первой микрокоманды, которой соответствуют управляющие сигналы У 21 иУ 23 = а.При выполнении первой микрокоманды по сигналу У 23, поступающему навход блока 8,из него по адресу а выбирается двоичный эквивалент весапервой преобразуемой двоично-десятичной тетрады, который записываетсяс разрешения сигнала У 21 в регистры 6 -б,операнда, Наличие нулевогопотенциале на выходе 24 блока 9 приэтом обеспечивает настройку коммутаторов 7,-7 на передачу информациина входы регистров .б, с выхода 33блока 8 хранения смещенных эквивалентов, Одновременно на входе 10 устройства устанавливается значение самой младшей тетрады преобразуемогочисла,При выполнении второй микрокоманды происходит обнуление регистров5.,-5,+, результата и триггеров 37 пе"реноса блоков 4 1-4 ,+, суммирования(сигнал У 10), в буферные регистры2 -2,и 3,-3, записываются значениятетрадных произведений с. выходов блоков 1 -1 (сигнал У 20), а в регистры б -б,операнда (также как и в первой микрокоманде) заносится двоичныйэквивалент веса второй преобразуемойтетрады (У 12 = а+1, У 21), Одновре"менно на входе 10 устройства появляется значение второй тетрады преобра"зуемого числа.510 15 го 30 35 40 45 50 55 В третьей микрокоманде выполняетсяумножение второго двоичного эквивалента на значение второй тетрады исуммирование двоичных тетрадных произведений, которые получены на предыдущем такте и хранятся в буферныхрегистрах 2 -2, и 31-3 в блоках4 1-4 , суммирования, Результаты тетрадных умножений в блоках 1,-1 исуммирования в блоках 4,-4 , полученные в данном такте, запоминаютсясоответственно в буферных регистрах2,-2,и 3,-3, а также в регистрах5,-5, результата и триггерах 37 переноса (сигнал У 20), По окончаниивыполнения данной микрокоманды навходе 10 устройства появляется значение следующей (третьей) тетрады преобразуемого числа, а в регистры 6,-6операнда заносится двоичный эквивалент веса третьей преобразуемой тетрады (У 23 = а+2, У 21),Затем выполняются (ш+3) микрокоманды, каждая из которых отличаетсяот третьей только другим значениемадреса двоичного эквивалента, Послевыполнения ш-й микрокоманды в регистрах 6-6 операнда запоминается значение последнего ш-го двоичного эквивалента.При выполнении (ш+1)-й микрокоманды в блоках 4,-4суммируется содержимое регистров 5 ;5, результататриггеров 37 переноса и содержащихсяв буферных регистрах 2,-2 и 3,-3значений тетрадных произведений последнего ш-го двоичного эквивалентапа последнюю преобразуемую тетраду,После выполнения данной микрокоманды в регистрах 51-5 щ +,и триггерах 37 переноса запоминается окончательный результат в двухрядном коде(сигнал У 20), На последних (ш+2)-йи (ш+3)-й микрокомандах осуществляется приведение двухрядного кода коднорядному, Как и при умножении сигнал У 25 настраивает коммутаторы 37переноса блоков 4-4 суммироваП+1ния на передачу информации с их первых входов, 1 ри этом образуется цепьиэ последовательно соединенных первых сумматоров 33 блоков 4, - 4М 1суммирования, В каждом из блоков4 -4 , суммирования значение триггера 37 переноса поступает через второй сумматор 36 и второй корректирующий сумматор 34 на второй вход перво го сумматора 33. Сквозной перенос в данных микрокомандах распространяется через все блоки 4,-4суммирования, В конце выполнения микрокоманды результат преобразования в однорядном коде запоминается в регистрах 5,-5, результата и в следующем такте может быть считан с выходов 17 и 18 устройства.На фиг.6 изображена микропрограмма выполнения операции из двоичного кода в двоично-десятичный, Преобразование заключается в вычислении двоично-десятичных произведений триад двоичных разрядов преобразуемого числана двоично-десятичные эквиваленты их весов и суммировании полученных произведений, Поскольку в каждом такте работы обрабатываются три разрядаФдвоичного операнда, то разрядность операнда, который может быть преобразован в устройстве, состоящем из ш блоков 1 умножения, равна Зш, что и предполагается,1 о значению начального адреса мик"ропрограммы, занесенного в счетчик39 блока 9 управления, из памяти 40в регистр 41 микрокоманд записываетсязначение первой микрокоманды, которой соответствуют управляющие сигналы У 21 и У 23 = в. При выполнениипервой микрокоманды под воздействиемэтих управляющих сигналов осуществляется занесение в регистры 6,-6 ,операндов первого двоично-десятичного эквивалента аналогично, как и воперации преобразования иэ двоичнодесятичного кода в двоичный,В конце этого такта на входе Оустройства появляется значение тетрады, три младших разряда которой являются самыми младшими разрядами преобразуемого двоичного числа, а значение старшего разряда устанавливаетсяравным нулю,При выполнении второй микрокоман"ды происходит обнуление регистров5,-5, результата и триггеров 37 пе"реноса блоков 4,-4суммирования(сигнал У 19) в блоках 1,- , которые настраиваются на умножение в двоично-десятичных кодах, выполняетсяумножение первого двоично-десятичногоэквивалента на значениепервой триадыи вбуферные регистры 21-2 и 3 -3 замписываются значения тетрадных двоично-десятичных произведений (сигналУ 20 ), а в регистры 6,-6,операнда,также как и в первой микрокоманде, 1495785 1245 заносится двоично-десятичный эквивалент веса второй триады разрядов преобразуемого числа, Само же значениеэтой триады с присоединением слева5нулевым разрядом подается в концеданного такта на вход 10 устройства,В третьей микрокоманде выполняетсяумножение второго эквивалента на значение второй триады и суммирование . 10двоично-десятичных тетрадных произведений, которые получены на предыдущемтакте и хранятся в буферных регистрах21-2,и 31-3 вв блоках 41-4 ., суммирования, настроенных управляющим сигналом У 22 на работу в двоично-десятичном коде. Результаты тетрадных умножений,в блоках 1-1,и суммированияв блоках 4,-4 , полученные в данномтакте, запоминаются соответственно в 2 Обуферных регистрах 2-2,и 3,-3,а также регистрах 5,-5 , результатаи триггерах 37 переноса (сигнал У 20).По окончании выполнения данной микрокоманды на входе 10 устройства появляется значение третьей триады преобразуемого числа,Затем выполняются (ш+3) микрокоманды, каждая из которых отличаетсяот третьей только другим значением Зоадреса двоично-десятичного эквивалента. После выполнения ш-й микрокомандыв регистрах 6,-6 операнда запоминается значение последнего ш-го пвоично-десятичного эквивалента,При выполнении (ш+1)-й микрокоманды в блоках 4 -4суммируется содержимое регистров 5 -5 +, результата, триггеров 37 переноса блоков4,-4и тетрадных произведений последнего двоично-десятичного эквивалента на соответствующую преобразуемую триаду (управляющий сигнал У 22настраивает блоки 11-1и 41-4 +1на обработку двоично-десятичного кода), По окончании такта в регистрах5,-5 ,и триггерах 37 блоков 4,-4суммирования запоминается окончательный результат в двухрядном коде (сигнал У 20).50На последних (ш+2) -й и (в+3)-ймикрокомандах двухрядный код приводится к однорядному точно также,как это депалось при выполнении операций умножения и преобразования вдвоичный код, В конце выполнения(ш+3)-Й микрокоманды результат преобразования записывается в регистры5,-5результата и в следующем такте может быть считан с выходов17 и 8 устройстваФормула изобретенияУстройство для умножения, содер- жащее ш блоков умножения (ш=п/4, где п - разрядность операндов), ш блоков суммирования, каждый из которых содержит первый и второй сумматоры, ш регистров операнда и ш+1 регистров результата, причем выход 1-го регистра операнда (1=1,2ш) соединен соответственно с входом множимого 1-го блока умножения, вход множителя которого соединен с входом множителя устройства, выход К-го регистра результата (К=1,2ш) соединен соответственно с входом первого слагаемого первого сумматора (К+1)-го блока суммирования, о т л и ч а ю - . щ е е с я тем, что, с целью повышения быстродействия и расширения функциональных возможностей за счет выполнения операции преобразования чисел из двоичной системы счисления в десятичную и обратно, в него введены две группы по ш буферных регистров, ш коммутаторов, блок хранения смещенных эквивалентов, микропрограммный блок управления, (ш+1)-й блок суммирования, причем каждый иэ ш+1 блоков суммирования дополнительно содержит два корректирующих сумматора, триггер переноса и коммутатор переноса, первый информационный вход которого соединен с выходом переноса первого сумматора, входом переноса первого корректирующего сумматора и информационным входом триггера переноса, выход которого соединен с входом переноса второго сумматора, выход суммы которого соединен с информационным входом второго корректирующего сумматора, выход которого соединен с входом второго слагаемого первого сумматора, выход суммы которого соединен с информационным входом первого корректирующего сумматора, выход переноса второго сумматора соединен с . входом переноса второго корректирую-: щего сумматора и вторым информационным входом коммутатора переноса, управляющий вход которого соединен с первым выходом микропрограммного блока управления, второй выход которого соединен с управляющими входами ш коммутаторов, первый информационныйвход 1.-го коммутатора соединен с выходом соответствующих разрядов блока хранения смещенных эквивалентов, адресный вход которого соединен с тре 5 тьим выходом микропрограммного блока управления, вход которого соединен с входом начального адреса устройства, входы соответствующих разрядов множимого которого соединены с вторы О ми информационными входами щ коммутаторов,выход 1-го коммутатора соединен с информационным входом 1-го регистра операнда, вход разрешения записи которого соединен с четвертым 15 выходом микропрограммного блока управления, пятый выход которого соединен с входами выбора режима работы щ блоков умножения и входами разрешения коррекции первых и вторых корректирующих сумматоров (щ+1) блоков суммирования, выходы старшей и младшей частей произведения -го блока умножейия соединены соответственно с ин-.формационными входами 1-х буферных 25 регистров первой и второй групп, входы разрешения записи которых соединены с входами разрешения записи триггеров переноса щ+1 блоков суммирования, щ+1 регистров результата и шес- ЗО тым выходом микропрограммного блока управления, седьмой выход которого соединен с входами сброса триггеров переноса щ+1 блоков суммирования и щ+1 регистров результата информа ционный вход 1-го регистра результатаЯ=1,2 щ+1) соединен соответственно с выходом первого корректирующего сумматора 1-го блока суммирования, вход первого слагаемого второго сумматора -го блока суммирования соединен соответственно с выходом 1-го буферного регистра первой группы, выход х-го буферного регистра второй группы соединен соответственно с входом второго слагаемого второго сумматора (+1)-го блока суммирования, вход второго слагаемого второго сумматора первого блока суммирования соединен с входом первой константы устройства, вход второй константы которого соединен с входом первого слагаемого второго сумматора (щ+1)-го блока суммирования, вход переноса первого сумматора 1-го блока суммирования соединен соответственно с выходом коммутатора переноса (1+1)-го блока суммирования входыЭпервого слагаемого и переноса первого сумматора (щ+)-го блока суммирования соединены соответственно с выходом щ-го регистра результата и входом нулевого потенциала устройства, вход первого слагаемого первого сумматора первого блока суммирования соединен с входом коррекции устройства, выходы щ регистров результата соединены с выходами старшей части результата устройства, выход младшей части результата которого соединен с выходом (щ+)-го регистра результата.1495785 оо ос оо оо о ос о ос о о о ооо оооо оооо ооо - оооо 1 1 оо оо ооо ооо ооо ос о ооо -о ОООС - ООООО оо-оо оооо ооо- оо оооЮо --о ооо оооо о оооо ос оо-о оссо ооо- о-ооо оо оо о- -о соо оо- о ооо оо-о оооо оо-о о оо ООО ООО О О ОООООРО ОООО О щ ОООО О ОО ОО ОООО О О ОО ОО О О .- О О О О ОООООю июль эю.ее ФФ ЙО О О Ь О О О О О О О О О О О О ООО ООО О- О ОО ООООООО ОООООООООООООООО ЫО-О а оо -1Ж фЫ О8 1495785 17 Табли а Эначение 7 и Эначения кодов на первых входах коммутаторов адресадвоичноное 73 7 7 7 З 7 ф значение десятичного эк- виваленвеса та 010000 00100010 0001 01100111 0111 00100100 0001 1000 10000010 0100 10000 10001 0010 1001 10100 10101 10110 10111 11000 1001 110 О 2 23 2 с 29 2 т 25 2 а 221 2 та 2 от3 ф 0001000О 100101010000110010000000100010001 0100 0001 0000 0010 0110 0000 0110 001 ОООО 0010100 01100111 0110 1000 0010 0001 0100 1001 011 1 0001 0111 0111 0111 0100 0010 0001 0111 0011 0111

Смотреть

Заявка

4302325, 07.09.1987

ПРЕДПРИЯТИЕ ПЯ М-5339

БОГОМАЗ ВИКТОР ЛУКЬЯНОВИЧ, ЖАЛКОВСКИЙ АНДРЕЙ АНТОНОВИЧ, ЛОПАТО ЛИЛИЯ ГРИГОРЬЕВНА, ШОСТАК АЛЕКСАНДР АНТОНОВИЧ, ШПАКОВ ЛЕОНАРД ОРЕСТОВИЧ

МПК / Метки

МПК: G06F 7/52

Метки: умножения

Опубликовано: 23.07.1989

Код ссылки

<a href="https://patents.su/12-1495785-ustrojjstvo-dlya-umnozheniya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для умножения</a>

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