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

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

Авторы: Заблоцкий, Самусев, Спасский, Шостак

ZIP архив

Текст

ОЮЭ СОВЕТСКИ ОЦИАЛИСТИЧЕСНРЕСПУБЛИК 6 Р 7/52 ОСУДАРСТВЕННЫЙ К О ДЕЛАМ ИЗОБРЕТЕ ИТЕТ СССРЙ И ОТКРЫТИ ОБРЕТЕНИ Н 1.м ВТОРСКОМУ СВИДЕТЕЛЬСТВ А.А,Самусевостак тельство СССРР 7/52, 1984.льство СССРГ 7/52, 1980.льство СССРГ 7/52, 1978.УМНОЖЕНИЯ И ДЕосится к вычисл жет быть исполь(57) Изобретение оттельной технике и м зовано в высокопроизводительных системах обработки информации. Целью/изобретения является повышение точ- .ности выполнения операции деления.Поставленная цель достигается тем,что в устройство для умножения и деления, содержащее первый 1 и второй 2регистры, арифметический блок 3,блок 4 управления, сумматор 5 округления, узел 6 деления, группу умножителей 7, сумматор 8 произведений,сумматор-вычитатель 9 и соответствующие связи между указанными узлами иблоками, введены первый 10 и второй11 коммутаторы с соответствующими новыми связями. 3 ил,О гр 91376082 Клюевык Ко Составитель Техред Л.Ол тор О. Кундрик 0.11 атрушев а 4/ Производственно-полиграфическое предприятие, г,ужгород, ул.Проектная,Заказ 788/47 Тираж 704ВНИИ 11 И Государственногпо делам изобретении113035, Москва, Ж,Лодписноомитета СССРоткрытийшская наб дИзобретение относится к вычислительной технике и может быть использовано при разработке быстродействую- щих арифметических устройств.Цель изобретения - повышение точности выполнения операции деления.На фиг. 1 изображена структурная схема устройства для умножения и деления; на фиг. 2 структурная схема арифметического блока; на фиг. 3 структурная схема блока управления.Устройство (фиг. 1) содержит первый 1 и второй 2 регистры, арифметический блок 3, блок 4 управления, 15 сумматор 5 округления, узел 6 деления; к-разрядные умножители 7, сумматор 8 произведений, сумматор-вычитатель 9, первый коммутатор 10, второй коммутатор 11, вход 12 старших разря дов второго слагаемого сумматора 8 произведений, вход 13 делителя узла 6 деления, выход 14 старшего разряда сумматора 5 округления, вход 15 слагаемого сумматора 5 округления, вход 25 16 переноса сумматора 5, первый информационный вход 17 арифметического блока, тактовый вход 18 устройства, вход 19 запуска устройства, вход 20 задания количества итераций, вход 21 30 режима устройства, входы 22 старших разрядов первого информационного входа сумматора-вычитателя 9, второй инФормационный вход 23 сумматора-вычитателя 9, первый выход 24 блока 4 уп равления, вход 25 делимого узла 6 деления, выход 26 сумматора-вычитателя 9, информационные входы 27 - 29 коммутатора 10, выход 30 коммутатора 10, информационные входы 31 - 33 коммутатора 11, второй и третий выходы 34 и 35 блока 4 управления, второй информационный вход 36 арифметического блока 3, входы 37 младших разрядов первого информационного входа 45 сумматора-вычитателя 9, четвертый выход 38 блока 4 управления, информа ционный вход 39 блока 4 управления.Арифметический блок 3 (Фиг. 2) содержит первый коммутатор 40, второй коммутатор 41, сумматор 42, элемент ИЛИ 43, третий коммутатор 44, старший разряд 45 регистра 46, эле" мент И 47, элемент НЕ 48, информациг онные входы 49, 50, 51, 52 коммутатора 40, выход 53 старшего разряда регистра 46, информационные входы 54 и 55 коммутатора 41, вход 56 первого слагаемого сумматора 42, выход 57 суммы сумматора 42, вход 58 второго слагаемого сумматора 42, выход 59 Ь)-го разряда регистра 46, выход 60 и вход 61 переноса сумматора 42.Блок 4 управления (фиг. 3) содержит шифратор 62, элемент И 63, дешифратор 64, вычитающий счетчик 65.Цифрами и буквами. около информационных шин входов/выходов узлов, блоков устройства на фиг1 и 2 обозначены номера разрядов.Регистры 1, 2, 46 (фиг. 1 и 2) представляют собой стандартные узлы, построенные на триггерах, состояния которых переключаются под действием "заднего" фронта импульса синхронизации, подаваемого на входы синхронизации триггеров.Регистр 1 предназначен для временного хранения делимого, промежуточных остатков и последнего остатка в операциях деления или для хранения старших разрядов промежуточных и окончательного произведений. Исходное состояние регистра 1 устанавливается путем занесения (записи) кода делимого в разряды, начиная с первого (старшего) разряда, при выполнении в устройстве операции деления или путем записи нулевого кода (сброса), при выполнении в устройстве операции умножения с использованием цепей первоначальной загрузки и сброса (не по" казаны).Аналогично исходное состояние регистра 2 при выполнении операции деления или умножения устанавливается путем записи в регистр кода соответственно делителя, начиная с нулевого разряда, или множимого, начиная с крайнего младшего разряда, т,е. код делителя выравнивается по левой границе разрядной сетки кода делимого в регистре, а код множимого выравнивается по правую границу разрядной сетки регистра 2.Аналогично исходное состояние регистра 46 при выполнении операции деления или умножения устанавливается путем записи в регистр соответственно нулевого кода или кода множителя, выравненного по правую границу разрядной сетки регистра 46;Регистр 2 предназначен для хранения кода делителя или кода мйожимого.Регистр 46 предназначен для хранения Формируемого кода частного и младшего разрядов кода произведенияи для хранения сдвинутого и сдвигаемого кода множителя.Арифметический блок 3 предназначен для формирования кода частного при выполнении операции деления и для формирования младших разрядов кода произведения параллельно с формированием сдвинутого кода множителя. При формировании на выходах 35, 34 10 блока 4 сигналов (кода) соответственно 00 и при установке на выходе 38 блока 4 логической единицы в коммутаторе 40 осуществляется передача на вход 56 сумматора 42 када с входов 15 51, что эквивалентно сдвигу кода, установленного на выходе (и-младших разрядов) регистра 46 на %-1) разрядов влево (в сторону старших разрядов) с установкой в освобождаемых разрядах логического нуля благодаря подключению этих разрядов на входе 51 к потенциалу логического нуля.При установке на выходах 35, 34 кода 10, при логической единице на 25 выходе 38 в коммутаторе 40 осуществляется передача на вход 56 сумматора 42 кода с входа 52, что эквивалентно сдвигу кода, установленного на младших разрядах выхода регистра 46 на Ь-ш) разрядов влево с установкой в освобождаемых разрядах логического нуля благодаря подключению этих разрядов на входе 52 к потенциалу логического нуля (ш - целое число, меньшее 1).35При установке на выходах 35 и 34 кода Х 1, при логической единице на выходе 38 в коммутаторе 40 осуществляется передача транзитом кода с вхо да 50 на вход 56 (Х - означает произвольное значение сигнала) суммато- ра 42.При установке на выходе 38 логического нуля в коммутаторе 40 осуще 45 ствляется передача кода с входа 49 на вход 56 сумматора 42, что эквивалентно сдвигу на Е разрядов вправо кода, установленного на младших разрядах выхода регистра 46 сдвиганием в освобождаемые разряды слева кода, установленного на входе 36, благодаря тому, что разряды входа 36 соединены на входе 49 с разрядами соответствующими "освобождаемым" разрядам,При установке на выходе 38 логического нуля или на выходе 34 логической единицы на всех разрядах входа 58 сумматора 42 устанавливается логический ноль независимо от значения сигнала на выходе 35.11 ри установке на выходе 38 логической единицы, на выходе 34 логического нуля, а на выходе 35 логического нуля (логической единицы) в коммутаторе 41 осуществляется передача кода с входа 54 (55) на вход 58 сумматора 42. Передача кода с входа 55 на вход 58 эквивалента сдвигу кода, установленного на входе 17 вправо на Ь-ш) разрядов с установкой в освобождаемых слева разрядах логичесЖкого нуля, так как эти (освобождаемые) разряды на входе 55 подключены к потенциалу логического нуля.Сумматор 42 представляет собой стандартный узел арифметического суммирования двоичных кодов. Логическая единица на входе 61 формируется при установке логической единицы, на выходах 34 и 38 и логического нуля на входе 39. Формирование логической единицы на выходе 60 происходит в том случае, если в последнем такте (последней итерации) формирования кода частного на входе 61 и на всех разрядах входа 56 устанавливается логическая единица, Нулевой разряд 45 регистра 46 вместе с элементом ИЛИ 43 и коммутатором 44 предназначены для фиксирования и сохранения значения целой части смешанной дроби частного.Например, при 1=8, п=56 для формирования частного требуется восемь тактов (итераций), При этом в общем. случае неизвестно формируется дробь- частное с логическим нулем в целой части или с логической единицей вплоть до последнего девятого такта, в котором осуществляется корректировка частного в случае, если оно не точно. Поэтому требуется сохранять значение разряда целой части дроби-частного, который в седьмом такте устанавливается (в результатепоследовательных сдвигов частного в каждом предыдущем такте на (1 с) разрядов влево) в (1 с) раз ряде регистра 46 и в восьмом такте благодаря передаче в коммутаторе 44 при нулевом значении на выходе 34, записывается в разряд 45 регистра 46. Значение кода в разряде 45 может быть как нулевым, так и единичным. В девятом такте обеспечивается сохранение значения кода в разряде 45 либо установка его единичного значения при форми" ровании логической единицы на выхо 1376082де 60 благодаря соответствующей коммутации в коммутаторе 44 при логической единице на выходе 34.На входе 33 устанавливается код в младших (правых) разрядах регистра 46.Блок 3 функционирует следующим образом.Возможны три режима Функционирования блока 3: режим сдвига влево, ре жим сдвига вправо и режим хранения,Режим сдвига влево (РСДП) блока 3 устанавливается при установке на выходах 38 и 24 логической единицы и используется при выполнении операции 15 деления.При режиме РСДП в блоке 3 последо вательно осуществляются логические сдвиги влево кода, хранимого в регистре 46 на Ь) разрядов при ко де 00 на выходах 35 и 34 или на (к-т) разрядов при коде 10 на выходах 35, 34, или на ноль разрядов при коде Х 1 на выходах 35, 34. Параллельно с этими логическими сдвигами 25 влево осуществляется суммирование, сдвинутых .кодов соответственно с 1 сразрядным кодом с входа 17, сдвинутым логическим вправо на ш разрядов кодом с входа 17 и кодом на входе 61, При этом при сдвигах на ноль осуществляется коррекция сформированного кода частного и обеспечивается сокращение и формирование разряда 45 целой части дроби-частного. На входе 39 форми 35 руется сигнал разрешения коррекции сформированного частного.Режим сдвига вправо (РСДП) блока 3 устанавливается при установке на выходе 38 логического нуля, а на выхо де 24 - логической единицы и используется при выполнении операции умножения.Цри режиме РСДП в блоке 3 последовательно осуществляются сдвиги вправо на 1 разрядов кода хранимого в регистре 46 с вдвиганием в к освобожденных слева разрядов 1-разрядного кода входа 36, На выходе блока последовательно устанавливаются Е-разрядные коды соответствующих групп разря 50 дов кода, хранимого в регистре 46 в исходном состоянии.Режим хранения (РХ) устанавливается при установке на выходе 24 логического нуля и используется после завершения операции деления для хранения сформированного кода частного или младшей части произведения. Блок 4 управления предназначендля управления режимами Функционирования устройства и операциями умножения и деления в. соответструющих режимах функционирования.Блок 4 функционирует следующим образом.Предварительно перед запуском блока 4 управления осуществляется егопрограммирование путем занесения (записи) в вычитающий счетчик черезвход 20 кода числа количества тактов(итераций), необходимое для формиро-,вания частного или произведения заданной разрядности (Формата) и требуемой точности,На входе 21 устанавливается кодвыполняемой операции и код форматаданных. Например, код 00 может означать выполнение операции умноженияс произвольным форматом данных (в пределах возможностей разрядной сеткирегистров устройства) и задавать вблоке 4 режим управления умножением(РУИН).Код 10 может означать выполнениеоперации деления с форматом (разрядностью) операнда-частного, равногомаксимум и+1=1 ф Ь)+1 разрядов изадавать в блоке 4 режим управленияделением с Формированием частногопервого Формата (РД 1 Ф), где 1 - требуемое количество тактов без учетапоследнего корректирующего такта.Код 11 может означать выполнениеоперации деления с Форматом (разрядностью) операнда частного, равной(1 Ь)+13 - ш, где 1" - необходимое количество тактов без учета последнегокорректирующего такта, ш -количество лишних разрядов частного,которое Формируется при генерации вустройстве последних 1 с циФр частногоза 1 тактов и задавать в блоке 4(режим управления делением с формированием частного второго формата(РД 2 Ф),Шифратор 62 может быть реализованкомбинационным либо с помощью ППЗУсогласно приведенным данным.В исходном состоянии блока 4 (доего запуска после программирования)на выходах 34, 35, 24 блока 4 установлен логический ноль, а на выходе38 устанавпивается логический ноль,если блок 4 запрограммирован на управление выполнением операции умножения, или логическая единица, еслиблок 4 запрограммирован на выполнение операции деления. Блок 4 переходит в конечное состо-5 яние при установке в вычитающем счет; чике 65 нулевого кода, сопровождаемой установкой логического нуля на выходе 24.При режиме РУМН после запуска бло О ка 4 путем установки логической единицы на входе 19 на выходе 24 устанавливается логическая единица, а на выходе 38 - логический нуль и удерживаются в течение всего времени выпол" 15 кения операции умножения в устройстве пока не будут проинициированы в устройстве необходимое количество тактов (пока в вычитающем счетчике не установится нулевой код, так как при 20 каждом такте из вычитающего счетчика в блоке 4 вычитается единица), На выходах 34 и 35 устанавливаются логические нули.При режиме РД 1 Ф после запуска бло ка 4 на выходах 24, 38 устанавливается логическая единица, а на выходах 34 и 35 - логический ноль, Логическая единица на выходе 38 и логический ноль на выходе 34 удерживаются в течение всего времени выполнения операции деления вплоть до установки конечного состояния.После предпоследнего такта перед последним (корректирующим) тактом на выходе 34 блока 4 устанавливается логическая единица. Перед последним корректирующим тактом на входе 39 блока 4 возможна установка логического нуля или логической единицы, Если 40 на входе 39 устанавливается логический ноль, то обеспечивается сохранение установленной на выходе 24 логической единицы до установки конечного состояния блока. Это означает, что сформированное в регистре 46 частное неправильно и далее осуществляется корректировка частного и остатка.. Если на входе 39 устанавливается50 логическая единица, то до инициализации (появления синхросигнала) последнего корректирующего такта на выходе 24 устанавливается логический ноль, предотвращающий изменение состояний регистров 1, 46 иозначающий, что сформированное частное в регистре 46 и остаток в регистре 1 правильные и не требуется корректировка. При режиме РД 2 Ф блок 4 Функционирует аналогично как и в режиме РД 1 Ф с тем о 1 личием, что перед двумя последними тактами, т.е. перед последним не корректирующим тактом на выходе 35 блока 4 устанавливается логическая единица, которая удерживается по крайней мере один такт (до корректирующего такта).Сумматор 5 предназначен для округления кода старших разрядов делителя путем прибавления к нему логической единицы, подаваемой через вход 16. При этом на выходе сумматора 5 может сформироваться код, имеющий количество разрядов на единицу большее, чем входной код. Это происходит в том случае, если во всех разрядах входного кода установлена логическая единица.- В этом случае на разрядах выхода 13 Формируется нулевой код, а на выходе 14 - логическая единица.Узел 6 деления предназначендля деления, например, %+1)-х разрядного двоичного числа, код которого установлен на входе 25 узла на %+3)-х разрядное двоичное число, код которого установлен на входе 13 узла, при условии, что оно не равно нулю, В случае, если на. входе 13 установлен нулевой код,узел 6 отключается (не используется). Выход узла 6 содержит 1 старших разрядов, включая крайний старший разряд целой части.Умножители 7 предназначены для Формирования произведений двоичных цифр соответствующих групп разрядов кодов, хранимых в регистре 2, на группу цифр, код которых формируется на выходе коммутатора 11.Сумматор 8 предназначен для суммирования двоичных чисел, формируемых на младших разрядах последующих (справо налево) умножителей 7, с двоичными числами, формируемыми на старших разрядах соответствующих предыдущих умножителей с целью формирования старшей части кода промежуточного произведения двоичного числа, хранимого в регистре 2, на двоичное число, формируемое на выходе коммутатора 11. Младшая часть кода промежуточного произведения Формируется на 1 младших разрядах выхода крайнего правого умножителя 7.Сумматор-вычитатель 9 предназначен для суммирования частичных произведений при выполнении в устройствеоперации умножения с установкой на выходе 38 логического нуля или для вычитания из делимого или промежуточного остатка, сдвинутого на соответствующее количество разрядов влево, код которых устанавливается на входе 23, произведения делителя на очередную группу цифр частного, код которой устанавливается на входах 22, 37 первого информационного входа сумматора-вычитателя при выполнении в устройстве операции деления с установкой на выходе 38 логической единицы, 15Коммутатор 10 предназначен для передачи кода с выхода 26 сумматоравычитателя на выход 30 со сдвигом или на (1:-1) разрядов влево (через вход 27), или на Ь-ш) разряд влево (через вход 27), или без сдвига (через вход 28), или на 1 с разрядов вправо (через вход 29) при установкена управляющих выходах 38, 34, 35 кодов соответственно 100 или 101 или 11 Х, 15 или ОХХ, где Х - означает произвольное значение сигнала. В освобождаемых разрядах при сдвигах справа или слева на выходе 30 устанавливаются логические нули, 30Коммутатор 11 предназначен или для передачи Е-разрядного кода с входа 32. на выход коммутатора без изменений или с маскированием (обнулением) ш младших разрядов при установке на выходах 14, 34, 35, 38 кодов соответ 35 ственно 001 или 0011, или для передачи 1-разрядного кода с входа 31 на выход без сдвига беэ изменений младших разрядов или с маскированием (об нулением) т младших (правых) разрядов на выходе при установке на выходах 14, 34, 35, 38 кодов соответственно 1001 или 1011, или для передачи кода с входа 33 на выход при установке 45 на выходах 14, 34, 35, 38 кода ХХХО, или для Формирования на выходе кода со значением 2" (1,000) при установке на выходах 14, 34, 35, 38 кода Х 1 Х 1. В устройстве предусматриваются исходное состояние при умножении (ИСУ), исходное состояние при делении (ИСД), режим деления с формированием частного первого формата (РД 1 Ф)55 режим деления с формированием частного второго Формата (РД 2 Ф), режим умножения (РУМН), конечное состояние при делении (КСД) конечное состояние при умножении (КСУ).При состоянии ИСУ (ИСД) регистры 1, 2, 46 (Фиг, .1, фиг.2) устанавливаются в исходное состояние для выполнения операции умножения (деления) (см. описание регистров). При этом в регистрах и в блоке 3 задается режим хранения (РХ). Блок 4 запрограммирован на режим управления умножением (РУМН) при ИСУ или на режим управле" ния делением с Формированием частного первого (РД 1 Ф) или второго (РД 2 Ф) Формата при ИСД (см, описание блока 4).После запуска блока 4, устройство начинает функционировать в режиме, РУМН после ИСУ или в режиме РД 1 Ф или РД 2 Ф после ИСД при программировании и, следовательно, режимах управления в блоке 4 соответственно РД 1 Ф или РД 2 Ф.При запуске блока 4 и устройства в режиме РУМН в каждом такте 1 с цифр множителя с выхода блока 3 подаются через коммутатор . 11 на первый вход умножителей, в которых осуществляется умножение их на соответствующие группы цифр множимого, коды которых установлены на втором входе умножителей. Полученные произведения суммируются в сумматоре 8 с формированием старшей части кода произведения 1 цифр множителя на множимое, младшая часть кода произведения Формируется на входе 37. В сумматоре -вычитателе 9 осуществляется суммирование полученного произведения со старшей частью кода неполной суммы частичных произведений, сформированной и записанной в регистр 1 в предыдущем такте.В первом такте в качестве старшей части кода неполной суммы частичных произведений используется нулевой код, установленный в регистре 1 при установке исходного состояния, Старшая часть кода суммы (неполной) частичных произведений, сформированная на выходе 26, через вход 29 коммутатора 10 записывается в регистр 1.При этом в крайний правый разряд регистра 1 записывается (и)-й разряд кода с выхода 26. Т.е, осуществляется по существу сдвиг в коммутаторе 10 кода сформированного на выходе 26. Младшая часть Ь циФр) сформированной суммы частичных произведений через вход блока 3 вдвигается вкачестве К старших цифр младшей час-, ти произведения, формируемой в блоке 3 в регистре 46 путем последовательного вдвигания слева по Е цифр, сформированных в каждом предьдущем такте. при сдвиге. на 1 разрядов вправо всех предьдущих цифр, Параллельно в блоке 3 осуществляется сдвиг вправо кода множителя и использованная цифра мно жителя вьдвигается (теряется), а вместо нее пододвигается очередная цифра множителя, код которой формируется на выходе блока 3.В следующем такте описанные опера ции повторяются.Необходимое количество тактов про 11 г граммируется в блоке 4 и равно- , где 1 - количество разрядов множителя, 1 п. 20После последнего такта устанавливается состояние КСУ устройства, при котором регистры устройства переводятся в режим хранения, изкоторого они25 могут быть выведены только внешней системой путем установки исходного состояния и последующего запуска блока 4. При этом в младших разрядах ре- гистра 1 хранится старшая часть, а в старших разрядах регистра 46 блока 3 (кроме нулевого разряда) - младшая часть кода произведения.При запуске блока 4 и устройства в режиме РД 1 Ф (РД 2 Ф) в каждом такте в узле 6 осуществляется деление чис ла кода старших разрядов входа 25 делимого на округленное число кода старших разрядов входа 13 делителя, если этот код не .нулевой, и передача Сформированного кодацифр) част. - ного с входа 32 на выход коммутатора 11. Если код на входе 13 является нулевым, то осуществляется передача .кода с входа 31 на выход со сдвиг аем (логическим) вправо на один разряд,45 С помощью умножителей 7 и сумматора 8 на входах 22, 37 сумматора-вычитателя 9 формируется произведение Е цифр частного на делитель, код которого хранится в регистре 2. При этом пред О полагается, что делитель нормализо ван так, что в нулевом разряде регистра 2 установлена логическая единица. Цифры частного, код которых Формируется на выходе контактора 11, 55 представляют дробь. Старший разряд кода на выходе коммутатора 11 кодирует целую часть дроби, а для кода,сформированного в первом такте, кодирует целую часть всего частного. Младшие разряды кода на выходе коммутатора 11 представляют собой (к) цифрочередной группы цифр частного. Приэтом старшая цифра (разряд целой части) из К цифр, формируемых в каждомпоследующем такте, имеет вес младшейцифры из (К) цифр частного, сформированных в предыдущем такте.На вхоцах 22, 37 всегда формиру-.ется и+%-1) цифр произведения, такчто в нулевом разряде выхода 22 всег-.да формируется нулевой код благодаряподключению разрядов входа 12 к нулевому потенциалу и благодаря невозможности таких комбинаций значений (кодов) цифр частного на выходе коммутатора 11 и цифр старшей (левой) группыразрядов делителя, в результате перемножения которых бы в крайнем старшемразряде крайнего левого умножителяформировалась. логическая единица ив старших разрядах, кроме крайнегостаршего разряда крайнего левого умножителя, формировался единичный код.В сумматоре-вычитателе 9 осуществляется вычитание из сдвинутого наЬ) разрядов влево остатка, код которого был сформирован, сдвинут и запомнен в регистре 1 в предьдущем такте, произведения, код которого сформирован на входах 22, 37 сумматоравычитателя 9, Сформированный код остатка на выходе 26 сдвигается в ком 1мутаторе 10 влево (через вход 27) на(Е.-1) разрядов и запоминается в регистре 1, Параллельно сформированныйкод неполного частного в регистре 46блока 3 сдвигается на (к) разрядоввлево и суммируется с кодом цифрчастного, сформированном на входе 17.В следующем такте указанные операцииповторяются,Требуемое количество тактов программируется в блоке 4 и равноЭто выражение определяет коли 1чество формирующих тактов, т. е. тактов, в которых формируются цифры частного, после которых инициализируетсядополнительный корректирующий такт,в котором на выходе коммутатора 11(см. описание коммутатора 11 и 4 блока 4) формируется код со значением2, который умножается на код де-передаче кода делителя на разряды(/и) первого информационного входасумматора-вычитателя 9, в которомосуществляется вычитание кода делителя из кода остатка, сформированного, сдвинутого на (к) разрядоввлево и записанного в разряды (1/и)регистра 1 в последнем формирующемтакте. 1 ОЕсли полученная разность являетсяотрицательным числом, то на входе 39установится логическая единица, поддействием которой в блоке 4 на выходе 24 установится нулевой код, переводящий регистр 1 и регистр 46 в режим хранения до инициализации корректирующего такта, обеспечив сохранение кода остатка в регистре 1 и кодачастного в регистре 46 блока 3, которые являются правильными и не требуюткорректировки.Если полученная разность являетсяположительным или равным нулю числом,то на входе 39 сумматора-вычитателя 25устанавливается логический ноль, который не влияет на состояния выходовблока 4, а в блоке 3 обеспечиваетформирование логической единицы навходе переноса 61 (фиг. 2) сумматора 42,В результате сформированный кодчастного в регистре 46 суммируетсяс единицей (см. описание блока 3) ив регистр 46 (в старшие разряды) записывается код точного частного. Код,сформированный в корректирующем такте рассматриваемого случая на выходе26 сумматора-вычитателя 9 записывается (без сдвига - через вход 28 коммутатора 10) в регистр 1 и представляет собой код точного остатка, сдвинутого на-- (1 с)-ш разрядов влево1 и гдо первого (включительно) разрядарегистра 1, Режим РД 1 Ф отличается отрежима РД 2 Ф последним формирующимтактом. Режим РД 1 Ф устанавливается,икогда ш=.О, где в=1-"- Ос)-и.1 -1 50В последнем формирующем такте прирежиме РД 2 Ф на- выходе коммутатора 11формируется код последней группыцифр частного, в котором маскируются(в регистре 46) неполного частногосдвигается логически влево на Ь-ш)разрядов, а код цифр частного на входе 17 сдвигается логически вправо на ш разрядов, Сдвинутые таким образом коды суммируются, и полученный код суммы (частного) (выравненный по правую границу разрядной сетки) записывается в регистр 46.Полученный код остатка (на выхо,". де 26) сдвигается логически влево в коммутаторе 10 (через вход 27) на Ь-ш) разряд и записывается в регистр 1. Следующим инициализируется корректирующий такт.После последнего (корректирующего) такта при режимах РД 1 Ф или РД 2 Ф устанавливается состояние КСД устройства.Предлагаемое устройство позволяет выполнять операции деления с операндами различных форматов и использует стандартный узел деления вместо нестандартного шифратора цифр.Формула изобретенияУстройство для умножения и деления, содержащее первый и второй регистры, арифметический блок, блок управления, сумматор округления, узел1 хгделения-1-разрядных умножителей1 к(и - максимальная разрядность сомножителя или делителя, 1 х- ближайшее целое число, большее числа х, 2 ( асс и/2), сумматор произведений, сумматор-вычитатель, причем вход делителя узла деления соединен с выходами разрядов, кроме старшего, сумматора округления, вход переноса которого соединен с входом единичного потенциала устройства, тактовый вход, вход запуска и вход задания количества итераций, которые соединены соответственно с тактовым входом, с входом запуска и с входом задания длительности операции блока управления, тактовый вход которого соединен с входами синхронизации первого, второго регистров и арифметического блока, выходы старших разрядов второго регистра соединены с входом слагаемого сумматора округления, первый информационный вход арифметического блока соединен с входами первых сомножителей умно 1 игжителей с первого по- -й входывторых сомножителей которых соединенысоответственно с выходами разрядоввторого регистра выходы старших раз 15 1376082прядов умножителей с первого по- -й1 Гсоединены соответственно с входами разрядов первого слагаемого суммато 5 ра произведений, выходы младших разрядов умножителей, кроме младшего, соединены соответственно с входами разрядов, кроме старших, второго слагаемого сумматора произведений, вход старших разрядов второго слагаемого которого соединен с входом нулевого потенциала устройства, выход сумматора произведений соединен с входами старших разрядов первого информационного входа сумматора-вычитателя, второй информационный вход которого соединен с выходом первого регистра, вход разрешения приема которого соединен с входом разрешения работы арифметического блока и с первым выходом блока управления, выход стар-. ших разрядов первого регистра соединен с входом делимого узла деления, второй выход блока управления соеди нен с первым входом вида операции арифметического блока, о т л и ч а ющ е е е с я тем, что, с целью повышения точности выполнения операции деления, оно содержит первый и второй коммутаторы, причем выход сумматора-вычитателя соединен со сдвигом на Цс) разряд в сторону старших, без сдвига и со сдвигом на к разрядов в сторону младших соответственно с первым, вторым и третьим информаци 35 онными входами первого коммутатора, выход которого соединен с информаци,онным входом первого регистра, выходы старших разрядов, кроме крайнего,которого соединены с первым информационным входом второго коммутатора,второй и третий информационные входыкоторого соединены соответственно свыходом узла деления и с выходомарифметического блока, первый информационный вход которого соединен свыходом второго коммутатора, первыйуправляющий вход которого соединенс выходом старшего разряда сумматораокругления, второй управляющий входвторого коммутатора соединен с пер-.вым управляющим входом первого коммутатора и с вторым выходом блока управления, третий выход которого соединен с вторым управляющим входомпервого коммутатора, с третьим управляющим входом второго коммутатора ис вторым входом вида операции арифметического блока, второй информационный вход которого соединен с выходами К младших разрядов сумматора-вычитателя, входы младших разрядов первого информационного входа которого соединены с выходами младших разрядовмладшего умножителя, четвертый выходблока управления соединен с третьимуправляющим входом первого коммутатора, с четвертым управляющим входомвторого коммутатора, с управляющимвходом сумматора-вычитателя и с третьим входом вида операции арифметического блока, вход переноса которого соединен с информационным входом блока управления и с выходом старшегоразряда сумматора-вычитетеля, входрежима устройства соединен с входом вида операции блока управления е

Смотреть

Заявка

4104412, 12.08.1986

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

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

МПК / Метки

МПК: G06F 7/52

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

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

Код ссылки

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

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