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

 

Изобретение относится к вьтислительной технике и может быть использовано в высокопроизйодительных системах обработки информации. Целью / изобретения является повышение точ- . ности выполнения операции деления. Поставленная цель Достигается тем, что в устройство для умножения и деления , содержащее первый 1 и второй 2 регистры, арифметический блок 3, блок 4 управления, сумматор 5 округления , узел 6 деления, группу умножителей 7, сумматор 8 произведений, сумматор-вычитатель 9 и соответствующие связи между указанными узлами и блоками, введены первьй 10 и второй 11 коммутаторы с соответствующими новыми связями. 3 ил. zt го 19 i (Л 00 О) о 00 ю за я

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (s®Uа> 1 (50 4 0 06 F 7/52

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

2! О !9

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4104412/24-24 (22) 12.08.86 (46) 23.02.88. Бюл. №- 7 (72) В.Н.Заблоцкий, А.А.Самусев, В.Е.Спасский и А.А.Шостак (53} 681.325(088.8) (56} Авторское свидетельство СССР

И- 1203515, кл. С 06 F 7/52, 1984, Авторское свидетельство СССР № 857977, кл. G 06 F 7/52, 1980.

Авторское свидетельство СССР

У 802962, кл. С 06 F 7/52, 1978. (54} УСТРОЙСТВО Д3И УМНОЖЕНИЯ И ДЕЛЕНИЯ (57} Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных системах обработки информации. Целью

/ изобретения является повышение точ- . ности выполнения операции деления.

Поставленная цель достигается тем, что в устройство для умножения и деления, содержащее первый 1 и второй 2 регистры, арифметический блок 3, блок 4 управления, сумматор 5 округления, узел 6 деления, группу умножителей 7, сумматор 8 произведений, сумматор-вычитатель 9 и соответствующие связи между указанными узлами и блоками, введены первый 10 и второй

11 коммутаторы с соответствующими новыми связями. 3 ил.

1376082

Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействую- щих арифметических устройств.

Цель изобретения — повышение точности выполнения операции деления.

На фиг. 1 изображена структурная схема устройства для умножения и деления; на фиг. 2 структурная схема арифметического блока; на фиг. 3 структурная схема блока управления.

Устройство (фиг. 1) содержит первый 1 и второй 2 регистры, арифметический блок 3, блок 4 управления, 15 сумматор 5 округления, узел 6 деления; к-разрядные умножители 7, сумматор 8 произведений, сумматор-вычитатель 9, первый коммутатор 10, второй коммутатор 11, вход 12 старших разря- 20 дов второго слагаемого сумматора 8 произведений, вход 13 делителя узла 6 деления, выход 14 старшего разряда сумматора 5 округления, вход 15 слагаемого сумматора 5 округления, вход 25

16 переноса сумматора 5, первый ин.— формационный вход 17 арифметического блока, тактовый вход 18 устройства, вход 19 запуска устройства, вход 20 задания количества итераций, вход 21 режима устройства, входы 22 старших разрядов первого информационного входа сумматора-вычитателя 9, второй информационный вход 23 сумматора-вычитателя 9, первый выход 24 блока 4 уп- 35 равления, вход 25 делимого узла 6 деления, выход 26 сумматора-вычитателя 9, информационные входы 27 — 29 коммутатора 10, выход 30 коммутатора 10, информационные Входы 31 — 33 коммутатора 11, второй и третий выходы 34 и 35 блока 4 управления, второй информационный вход 36 арифметического блока 3, входы 37 младших разря-. дов первого информационного входа сумматора-вычитателя 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 (k-1)-ro разряда регистра 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 предназначен для хранения формируемого кода частного и младшего разрядов кода произведения

1376082 и для хранения сдвинутого и сдвигаемого кода множителя.

Арифметический блок 3 предназначен для формирования кода частного при выполнении операции деления и для формирования младших разрядов кода произведения параллельно с формированием сдвинутого кода множителя.

При формировании на выходах 35, 34 10 блока 4 сигналов (кода) соответственно 00 и при установке на выходе 38 блока 4 логической единицы в коммутаторе 40 осуществляется передача на вход 56 сумматора 42 када с входов

51, что эквивалентно сдвигу кода, установленного на выходе (п-младших разрядов) регистра 46 на (k-1) разрядов влево (в сторону старших разрядов) с установкой в освобождаемых разрядах логического нуля благодаря подключению этих разрядов на входе 51 к потенциалу логического нуля.

При установке на выходах 35, 34 кода 10, при логической единице на . 25 выходе 38 в коммутаторе 40 осуществляется передача на вход 56 сумматора 42 кода с входа 52, что эквивалентно сдвигу кода, установленного на младших разрядах выхода регистра 46 íà (k — m-1) разрядов влево с установкой в освобождаемых разрядах логического нуля благодаря подключению этих разрядов на входе 52 к потенциалу логического нуля (m — целое число, меньшее k).

При установке на выходах 35 и 34 кода XI при логической единице на выходе 38 в коммутаторе 40 осуществляется передача транзитом кода с вхо- 40 да 50 на вход 56 (Х вЂ” означает произвольное значение сигнала) суммато-.. ра 42.

При установке на выходе 38 логического нуля в коммутаторе 40 осуще45 ствляется передача кода с входа 49 на вход 56 сумматора 42, что эквивалентно сдвигу на k разрядов вправо кода, установленного на младших разрядах выхода регистра 46 сдвиганием в освобождаемые разряды слева кода, установленного на входе 36, благодаря тому, что разряды входа 36 соединены на входе 49 с разрядами соответствующими "освобождаемым" разрядам.

При установке на выходе 38 логического нуля или на выходе 34 логической единицы на всех разрядах входа 58 сумматора 42 устанавливается логический ноль независимо от значения сигнала на выходе 35.

11ри установке на выходе 38 логической единицы, на выходе 34 логического нуля, а на выходе 35 логического нуля (логической единицы) в коммутаторе 41 осуществляется передача кода с входа 54 (55) на вход 58 сумматора 42. Передача кода с входа 55 на вход 58 эквивалента сдвигу кода, установленного на входе 17 вправо на (k-m) разрядов с установкой в освобождаемых слева разрядах логического нуля, так как эти (освобождаемые) разряды на входе 55 подключены к потенциалу логического нуля.

Сумматор 42 представляет собой стандартный узел арифметического суммирования двоичных кодов. Логическая единица на входе 61 формируется при установке логической единицы, на выходах 34 и 38 и логического нуля на входе 39. Формирование логической единицы на выходе 60 происходит в том случае, если в последнем такте (последней итерации) формирования кода частного на входе 61 и на всех разрядах входа 56 устанавливается логическая единица. Нулевой разряд 45 регистра 46 вместе с элементом ИЛИ 43 и коммутатором 44 предназначены для фиксирования и сохранения значения целой части смешанной дроби частного.

Например, при k=8, п=56 для формирования частного требуется восемь тактов (итераций), При этом в общем случае неизвестно формируется дробьчастное с логическим нулем в целой части или с логической единицей вплоть до последнего девятого такта, в котором осуществляется корректировка частного в случае, если оно не точно. Поэтому требуется сохранять значение разряда целой части дроби-частного, который в седьмом такте устанавливается

1в результатепоследовательных сдвигов частного в каждом предыдущем такте на (k-1) разрядов влево) в (k-1) раз. ряде регистра 46 и в восьмом такте благодаря передаче в коммутаторе 44 при нулевом значении на выходе 34, записывается в разряд 45 регистра 46.

Значение кода в разряде 45 может быть как нулевым, так и единичным. В девятом такте обеспечивается сохранение значения кода в разряде 45 либо установка его единичного значения при формировании логической единицы на выхо13 ?6082 де 60 благодаря соответствующей коммутации в коммутаторе 44 при логической единице на выходе 34.

На входе 33 устанавливается код в младших (правых) разрядах регистра 46.

Блок 3 функционирует следующим образом.

Возможны три режима функционирования блока 3: режим сдвига влево, ре- 10 жим сдвига вправо и режим хранения.

Режим сдвига влево (РСДП) блока 3 устанавливается при установке на выходах 38 и 24 логической единицы и используется при выполнении операции 15 деления.

При режиме РСДП в блоке 3 последо вательно осуществляются логические сдвиги влево кода, хранимого в регистре 46 на (k-1) разрядов при ко- 20 де 00 на выходах 35 и 34 или на (k-m-1) разрядов при коде tO на выходах 35, 34, или на ноль разрядов при коде XI на выходах 35, 34. Параллельно с этими логическими сдвигами 25 влево осуществляется суммирование . сдвинутых .кодов соответственно с kразрядным кодом с входа 1?, сдвинутым логическим вправо на m разрядов кодом с входа 17 и кодом на входе 6t. При 30 этом при сдвигах на ноль осуществляется коррекция сформированного кода частного и обеспечивается сокращение и формирование разряда 45 целой части дроби-частного. На входе 39 форми35 руется сигнал разрешения коррекции сформированного частного.

Режим сдвига вправо (РСДП) блока 3 устанавливается при установке на выходе 38 логического нуля, а на выхо- 40 де 24 — логической единицы и используется при выполнении операции умножения.

Цри режиме РСДП в блоке 3 последовательно осуществляются сдвиги вправо pa k разрядов кода хранимого в регистре 46 с вдвиганием в к освобожденных слева разрядов k-разрядного кода входа 36. На выходе блока последовательно устанавливаются k-разрядные коды соответствующих групп разря50 дов кода, хранимого в регистре 46 в исходном состоянии.

Режим хранения (РХ) устанавливается при установке на выходе 24 логического нуля и используется после за-55 вершения операции деления для хранения сформированного кода частного или младшей части произведения.

Блок ч управления предназначен для управления режимами функционирования устройства и операциями умножения и деления в- соответструющих режимах функционирования.

Блок 4 функционирует следующим образом.

Предварительно перед запуском блока 4 управления осуществляется его программирование путем занесения (sanucu) в вычитающий счетчик через вход 20 кода числа количества тактов (итераций), необходимое для формиро- . вания частного или произведения заданной разрядности (формата) и требуемой точности.

На входе 21 устанавливается код выполняемой операции и код формата данных. Например, код 00 может означать выполнение операции умножения с произвольным форматом данных (в пределах возможностей разрядной сетки регистров устройства) и задавать в блоке 4 режим управления умножением (РУИН).

Код 10 может означать выполнение операции деления с форматом (разрядностью) операнда-частного, равного максимум n+1=1 ° (k-1)+1 разрядов и задавать в блоке 4 режим управления делением с формированием частного первого формата (РД1Ф), где 1 — требуемое количество тактов без учета последнего корректирующего такта.

Код 11 может означать выполнение операции деления с форматом (разрядностью) операнда частного, равной (1 (k-1)+1) — m, где 1" — необходимое количество тактов без учета последнего корректирующего такта, m— количество лишних разрядов частного, которое формируется при генерации в устройстве последних к циФР частного за 1 тактов и задавать в блоке 4

I( режим управления делением с формированием частного второго формата (РД2Ф) .

Шифратор 62 может быть реализован комбинационным либо с помощью ППЗУ согласно приведенным данным.

В исходном состоянии блока 4 (до его запуска после программирования) на выходах 34, 35, 24 блока 4 установлен логический ноль, а на выходе

38 устанавпивается логический ноль, если блок 4 запрограммирован на управление выполнением операции умножения, или логическая единица, если

1376082 блок 4 запрограммирован на выполнение операции деления.

Блок 4 переходит в конечное состо-

5 яние при установке в вычитающем счет.— чике 65 нулевого кода, сопровождаемой установкой логического нуля на выходе 24.

При режиме РУМН после запуска бло- 10 ка 4 путем установки логической единицы на входе 19 на выходе 24 устанавливается логическая единица, а на выходе 38 — логический нуль и удерживаются в течение всего времени выпол- 15 кения операции умножения в устройстве пока не будут проинициированы в устройстве необходимое количество тактов (пока в вычитающем счетчике не установится нулевой код, так как при 20 каждом такте из вычитающего счетчика в блоке 4 вычитается единица). На выходах 34 и 35 устанавливаются логические нули.

При режиме РД1Ф после запуска бло- 25 ка 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 деления предназначен для деления, например, (k+1)-х разрядного двоичного числа, код которого установлен на входе 25 узла на (k+3)-х разрядное двоичное число, код которого установлен на входе 13 узла, при условии, что оно не равно нулю. В случае, если на. входе 13 установлен нулевой код,узел 6 отключается (не используется). Выход узла 6 содержит k старших разрядов, включая крайний старший разряд целой части.

Умножители 7 предназначены для формирования произведений двоичных цифр соответствующих групп разрядов кодов, хранимых в регистре 2, на группу цифр, код которых формируется на выходе коммутатора 11.

Сумматор 8 предназначен для суммирования двоичных чисел, формируемых на младших разрядах последующих (справо налево) умножителей 7, с двоичными числами, формируемыми на старших разрядах соответствующих предыдущих умножителей с целью формирования старшей части кода промежуточного произведения двоичного числа, хранимого в регистре 2, на двоичное число, формируемое на выходе коммутатора 11.

Младшая часть кода промежуточного произведения формируется íà k младших разрядах выхода крайнего правого умножителя 7.

Сумматор-вычитатель 9 предназначен для суммирования частичных произведений при выполнении в устройстве

1376082 операции умножения с установкой на выходе 38 логического нуля или для вычитания из делимого или промежуточного остатка, сдвинутого на соответствующее количество разрядов влево, код которых устанавливается на входе 23, произведения делителя на очередную группу цифр частного, код которой устанавливается на входах 22, 37 первого информационного входа сумматора-вычитателя при выполнении в устройстве операции деления с установкой на выходе 38 логической единицы. 15

Коммутатор 10 предназначен для передачи кода с выхода 26 сумматоравычитателя на выход 30 со сдвигом или на (k-1) разрядов влево (через вход

27), или íà (k-m-1) разряд влево (через вход 27), или без сдвига (через вход 28), или íà k разрядов вправо (через вход 29) при установке на управляющих выходах 38, 34, 35 кодов соответственно 100 или 101 или 11Х, )5 или ОХХ, где Х вЂ” означает произволь.ное значение сигнала. В освобождаемых разрядах при сдвигах справа или слева на выходе 30 устанавливаются логические нули. 30

Коммутатор 11 предназначен или для передачи k-разрядного кода с входа 32. на выход коммутатора без изменений

У или с маскированием (обнулением) т младших разрядов при установке на выходах 14, 34, 35, 38 кодов соответ35 ственно 001 или 0011, или для передачи k-разрядного кода с входа 31 на выход без сдвига беэ изменений младших разрядов или с маскированием (об- 40 нулением) m младших (правых) разрядов на выходе при установке на выходах

14, 34, 35, 38 кодов соответственно

1001 или 1011, или для передачи кода с входа 33 на выход при установке 45 на выходах 14, 34, 35, 38 кода ХХХО, или для формирования на выходе кода со значением 2 (1,00...0) при установке на выходах 14, 34, 35, 38 кода Х1Х1.

В устройстве предусматриваются исходное состояние при умножении (ИСУ}, исходное состояние при деле нии (ИСД), режим деления с формированием частного первого формата (РД1Ф)

55 режим деления с формированием частного второго формата (РД2Ф), режим умножения (РУМН), конечное состояние при делении (КСД) конечное состояние при умножении (КСУ).

При состоянии ИСУ (ИСД) регистры

1, 2, 46 (фиг. -1, фиг.2) устанавливаются в исходное состояние для выполнения операции умножения (деления) (см. описание регистров). При этом в регистрах и в блоке 3 задается режим хранения (PX) ° Блок 4 запрограммирован на режим управления умножением (РУМН) при ИСУ или на режим управле" ния делением с формированием частного первого (РД1Ф) или второго (РД2Ф) формата при ИСД (см. описание блока 4).

После запуска блока 4, устройство начинает функционировать в режиме.

РУМН после ИСУ или в режиме РД1Ф или

РД2Ф после ИСД при программировании и, следовательно, режимах управления в блоке 4 соответственно РД1Ф или

РД2Ф.

11ри запуске блока 4 и устройства в режиме РУМН в каждом такте k циФр множителя с выхода блока 3 подаются через коммутатор 11 на первый вход умножителей, в которых осуществляется умножение их на соответствующие группы цифр множимого, коды которых установлены на втором входе умножителей. Полученные произведения суммируются в сумматоре 8 с формированием старшей части кода произведения k цифр множителя на множимое, младшая часть кода произведения формируется на входе 37. В сумматоре -вычитателе 9 осуществляется суммирование полученного произведения со старшей частью кода неполной суммы частичных произведений, сформированной и записанной в регистр 1 в предыдущем такте.

В первом такте в качестве старшей части кода неполной суммы частичных произведений используется нулевой код, установленный в регистре 1 при установке исходного состояния, Старшая часть кода суммы (неполной) частичных произведений, сформированная на выходе 26, через вход 29 коммутатора 10 записывается в регистр 1.

При этом в крайний правый разряд регистра 1 записывается (и-1)-й разряд кода с выхода 26. Т.е, осуществляется по существу сдвиг в коммутаторе 10 кода сформированного на выходе 26. Младшая часть (k цифр) сформированной суммы частичных произведений через вход блока 3 вдвигается в

1376082

12 качестве k старших цифр младшей час- . ти произведения, формируемой в блоке

3 в регистре 46 путем последовательного вдвигания слева по Е цифр, сформированных в каждом предыдущем такте. при сдвиге. на k разрядов вправо всех предыдущих цифр. Параллельно в блоке 3 осуществляется сдвиг вправо кода множителя и использованная цифра мно- 1р жителя выдвигается (теряется), а вмес то нее пододвигается очередная цифра множителя, код которой формируется на выходе блока 3.

В следующем такте описанные опера- 15 ции повторяются.

Необходимое количество тактов про11г граммируется в блоке 4 и равно — 1, где 1 — количество разрядов множителя, 1 <и. 20

После последнего такта устанавливается состояние КСУ устройства, при котором регистры устройства переводятся в режим хранения, из которого они

25 могут быть выведены только внешней системой путем установки исходного состояния и последующего запуска блока 4. При этом в младших разрядах регистра 1 хранится старшая часть, а в старших разрядах регистра 46 блока 3 (кроме нулевого разряда) — младшая часть кода произведения.

При запуске блока 4 и устройства в режиме РД1Ф (РД2Ф) в каждом такте в узле 6 осуществляется деление чис- 35 ла кода старших разрядов входа 25 делимого на округленное число кода старших разрядов входа 13 делителя, если этот код не .нулевой, и передача сформированного кода (k цифр) част.— ного с входа 32 на выход коммутатора 11. Если код на входе 13 является нулевым, то осуществляется передача .кода с входа 3 1 на выход со сдвигаем (логическим) вправо на один разряд.

С помощью умножителей 7 и сумматора 8 на входах 22, 37 сумматора-вычитателя 9 формируется произведение k цифр частного на делитель, код которого хранится в регистре 2. При этом пред- 5О полагается, что делитель нормализо ван так, что в нулевом разряде регистра 2 установлена логическая единица. Цифры частного, код которых формируется на выходе контактора 11, 55 представляют дробь. Старший разряд кода на выходе коммутатора 11 кодирует целую часть дроби, а для кода, сформированного в первом такте, коди- . рует целую часть всего частного. Младшие разряды кода на выходе коммутатора 11 представляют собой (k-1) цифр очередной группы цифр частного. При этом старшая цифра (разряд целой части) из К цифр, формируемых в каждом последующем такте, имеет вес младшей цифры из (k-1) цифр частного, сформированных в предыдущем такте.

На входах 22, 37 всегда формиру-. ется n+(k-1) цифр произведения, так что в нулевом разряде выхода 22 всег-: да формируется нулевой код благодаря подключению разрядов входа 12 к нулевому потенциалу и благодаря невозможности таких комбинаций значений (кодов) цифр частного на выходе коммутатора 11 и цифр старшей (левой) группы разрядов делителя, в результате перемножения которых бы в крайнем старшем разряде крайнего левого умножителя формировалась. логическая единица и в старших разрядах, кроме крайнего старшего разряда крайнего левого умножителя, формировался единичный код.

В сумматоре-вычитателе 9 осуществляется вычитание из сдвинутого на (k-1) разрядов влево остатка, код которого был сформирован, сдвинут и запомнен в регистре 1 в предыдущем такте, произведения, код которого сформирован на входах 22, 37 сумматоравычитателя 9. Сформированный код остатка на выходе 26 сдвигается в ком1 мутаторе 10 влево (через вход 27) на (k.-1) разрядов и запоминается в регистре 1. Параллельно сформированный код неполного частного в регистре 46 блока 3 сдвигается на (k-1) разрядов влево и суммируется с кодом цифр частного, сформированном на входе 17.

В следующем такте указанные операции повторяются.

Требуемое количество тактов программируется в блоке 4 и равно и

Это выражение определяет колиI чество формирующих тактов, т. е. тактов, в которых формируются цифры частного, после которых инициализируется дополнительный корректирующий такт, в котором на выходе коммутатора 11 (см. описание коммутатора 11 и 4 блока 4) формируется код со значением

2, который умножается на код де- . (k-i) лителя, что эквивалентно транзитной

1376082

14 передаче кода делителя на разряды (!/п) первого информационного входа сумматора-вычитателя 9, в котором осуществляется вычитание кода делителя из кода остатка, сформированного, сдвинутого Hà (k-1) разрядов влево и записанного в разряды (1/n) регистра 1 в последнем формирующем такте. 10

Если полученная разность является отрицательным числом, то на входе 39 установится логическая единица, под действием которой в блоке 4 на выходе 24 установится нулевой код, пере- 15 водящий регистр 1 и регистр 46 в режим хранения до инициализации корректирующего такта, обеспечив сохранение кода остатка в регистре 1 и кода частного в регистре 46 блока 3, кото-20 рые являются правильными и не требуют корректировки.

Если полученная разность является положительным или равным нулю числом, то на входе 39 сумматора-вычитателя 25 устанавливается логический ноль, который не влияет на состояния выходов блока 4, а в блоке 3 обеспечивает формирование логической единицы на входе переноса 61 (фиг. 2) суммато- 30 ра 42.

В результате сформированный код частного в регистре 46 суммируется с единицей (см. описание блока 3) и в регистр 46 (в старшие разряды) записывается код точного частного. Код, сформированный в корректирующем такте рассматриваемого случая на выходе

26 сумматора-вычитателя 9 записывается (без сдвига — через вход 28 комму- 40 татора 10) в регистр 1 и представляет собой код точного остатка, сдвинутого на ††1 (k — 1)-ш разрядов влево и г -1( до первого (включительно) разряда регистра 1. Режим РД1Ф отличается от режима РД2Ф последним формирующим тактом. Режим РД1Ф устанавливается, и когда m=0, где m=1-"-(-(k-1)-п. 1 -1i 50

В последнем формирующем такте при режиме РД2Ф на- выходе коммутатора 11 формируется код последней группы цифр частного, в котором маскируются (обнуляются) m младших разрядов (цифр). Б блоке 3 сформированный код

{в регистре 46) неполного частного сдвигается логически влево на (k-m-1) разрядов, а код цифр частного на входе 17 сдвигается логически вправо на

m разрядов. Сдвинутые таким образом коды суммируются, и полученный код суммы (частного) (выравненный по правую границу разрядной сетки) записывается в регистр 46.

Полученный код остатка (на выхо;. де 26) сдвигается логически влево в коммутаторе 10 (через вход 27) на (k-m-1) разряд и записывается в регистр 1. Следующим инициализируется корректирующий такт.

После последнего (корректирующего) такта при режимах РД1Ф или РД2Ф устанавливается состояние КСД устройства.

Предлагаемое устройство позволяет выполнять операции деления с операндами различных форматов и использует стандартный узел деления вместо нестандартного шифратора цифр.

Формула изобретения

Устройство для умножения и деления, содержащее первый и второй регистры, арифметический блок, блок управления, сумматор округления, узел

1хг деления 1 в (k-разрядных умножителей

)к( (n — максимальная разрядность сомножителя или делителя, jх (— ближайшее целое число, большее числа х, 2 1сс n/2), сумматор произведений, сумматор-вычитатель, причем вход делителя узла деления соединен с выходами разрядов, кроме старшего, сумматора округления, вход переноса которого соединен с входом единичного потенциала устройства, тактовый вход, вход запуска и вход задания количества итераций, которые соединены соответственно с тактовым входом, с входом запуска и с входом задания длительности

1 операции блока управления, тактовый вход которого соединен с входами синхронизации первого, второго регистров и арифметического блока, выходы старших разрядов второго регистра соединены с входом слагаемого сумматора округления, первый информационный вход арифметического блока соединен с входами первых сомножителей умно nг жителей с первого по — 1-й входы

) вторых сомножителей которых соединены соответственно с выходами разрядов второго регистра, выходы старших раз1376082 пг рядов умножителей с первого по ) — -й

11 соединены соответственно с входами разрядов первого слагаемого суммато5 ра произведений, выходы младших разрядов умножителей, кроме младшего, соединены соответственно с входами разрядов, кроме старших, второго слагаемого сумматора произведений, вход 1О старших разрядов второго слагаемого которого соединен с входом нулевого потенциала устройства, выход сумматора произведений соединен с входами старших разрядов первого информацион-15 ного входа сумматора-вычитателя, второй информационный вход которого соединен с выходом первого регистра, вход разрешения приема которого соединен с входом разрешения работы арифметического блока и с первым выходом блока управления, выход стар-. ших разрядов первого регистра соединен с входом делимого узла деления, второй выход блока управления соеди- 25 нен с первым входом вида операции арифметического блока, о т л и ч а ющ е е е с я тем, что, с целью повышения точности выполнения операции деления, оно содержит первый и второй коммутаторы, причем выход сумматора-вычитателя соединен со сдвигом на (k-1) разряд в сторону старших, без сдвига и со сдвигом Hà k разрядов в сторону младших соответственно с первым, вторым и третьим информаци35 онными входами первого коммутатора, выход которого соединен с информаци,онным входом первого регистра, выходы старших разрядов, кроме крайнего, которого соединены с первым информационным входом второго коммутатора, второй и третий информационные входы которого соединены соответственно с выходом узла деления и с выходом арифметического блока, первый информационный вход которого соединен с выходом второго коммутатора, первый управляющий вход которого соединен с выходом старшего разряда сумматора округления, второй управляющий вход второго коммутатора соединен с пер-. вым управляющим входом первого коммутатора и с вторым выходом блока управления, третий выход которого соединен с вторым управляющим входом первого коммутатора, с третьим управляющим входом второго коммутатора и с вторым входом вида операции арифметического блока, второй информационный вход которого соединен с выходами k младших разрядов сумматора-вычитателя, входы младших разрядов первого информационного входа которого соединены с выходами младших разрядов младшего умножителя, четвертый выход блока управления соединен с третьим управляющим входом первого коммутатора, с четвертым управляющим входом второго коммутатора, с управляющим входом сумматора-вычитателя и с третьим входом вида операции арифметического блока, вход переноса которого соединен с информационным входом блока управления и с выходом старшего разряда сумматора-вычитетеля, вход режима устройства соединен с входом вида операции блока управления.

1376082

Составитель А. Клюев

Редактор 0.11àòðóøåaà Техред Л. Олийнык Корректор О. Кундрик

Заказ 788/47 Тираж 704 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д, 4/5

Производственно-полиграфическое предприятие, r.Óæroðoä, ул.Проектная, 4

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

 

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

Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения асинхронного / А --j f-i f-г 4г4 iVl 5 lYl/l/l типа

Изобретение относится к вычислительной технике и может быть применено при разработке быстродействующих арифметических устройств, контроль которых организован по четности

Изобретение относится к вычис-

Изобретение относится к области вычислительной техники и может быть применено для вьтолнения операции деления чисел

Изобретение относится к вычислительной технике и может быть применено для быстрого деления чисел в любой позиционной системе счисления

Изобретение относится к области вычислительной техники и может быть использовано при построении быстродействующих процессов цифровой обработки сигналов и в арифметических устройствах быстродействующих цифровых и комбинированных вычислительных машин о Целью изобретения является увеличение быстродействия устройства для деления, содержащего регистры 1 и 2 Делимого и делителя, три матричных умножителя 3-5, три сумматора 6-8, два блока преобразования прямого кода в дополйительный 9 и 10, блок 11 преобразования прямого кода в обратный, счетчик 14 и триггер 15, Для достижения цели в устройство дополнительно введены два элемента И 16 и 17

Изобретение относится к области цифровой вычислительной техники и может быть использовано в устройст вах обработки цифровой информации

Изобретение относится к вычислительной технике

Изобретение относится к области вычислительной техники и может быть использовано в аппаратуре допускового контроля и автоматического слежения

Изобретение относится к радиоэлектронике и может быть использовано в вычислительных устройствах для реализации перемножения страниц операндов с любым сочетанием знаков

Изобретение относится к автоматике и вычислительной технике и может быть использовано в вычислительных машинах и устройствах, функционирующих в системе остаточных классов

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано в высокоскоростных арифметико-логических устройствах, в том числе для вычисления быстрого преобразования Фурье и сверток по методу Винограда

Изобретение относится к цифровым умножителям и предназначено для умножения цифрового сигнала (ЦС) на сигнал в форме периодической волны, преимущественно синусоидальной

Изобретение относится к области вычислительной техники и может быть использовано для построения систем передачи и переработки дискретной информации

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для синтеза арифметико-логических устройств, для создания быстродействующих и высокопроизводительных цифровых устройств умножения в прямых кодах

Изобретение относится к вычислительной технике и может быть использовано для синтеза арифметико-логических устройств, для создания быстродействующих и высокопроизводительных цифровых систем, выполняющих операцию деления чисел в прямых кодах

Изобретение относится к вычислительной технике и может быть использовано для построения вычислительных систем с повышенной достоверностью выдаваемых данных

Изобретение относится к области устройств обработки, соответствующего программного обеспечения и программных последовательностей, которые выполняют математические операции
Наверх