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

 

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

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

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

РЕСПУБЛИК (19) (11) (s1)s G 06 E 7/52

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

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ, (21) 4851677/24 (22) 17.07.90 (46) 23.04.92. Бюл. М 15 (71) Научно-исследовательский институт электронных вычислительных машин (72) Э.М.Сафонова и А.А.Шостак (53) 681.325 (088,8) (56) Авторское свидетельство СССР

N. 1322264, кл. G 06 F 7/52, 1985.

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

М 1357947, кл. G 06 F 7/52, 1986. (54) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ (57) Изобретение относится к вычислительной технике и может быть использовано в быстродействующих арифметических устройствах для выполнения операции деления чисел. Целью изобретения является повышение быстродействия устройства путем сокращения длительности такта формирования цифр частного. Устройство содержит два регистра 1 и 2 остатка, регистр

3 делителя, сумматор 5 частного, сумматор

6 принудительного округления делителя, узел 7 вычисления обратной величины, два сумматора 8 и 9, два блока 10 и 11 умножения, вычитатель 12, коммутатор 13, селектор 14, элемент НЕ 15, блок 16 микропрограммного управления и введенный регистр 4 обратной величины. 3 ил.

1728862

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

Известно устройство для деления, формирующее в каждом такте k цифр частного (где 2 < k « ) > (, n — разрядность делимого и и делителя, )x(— ближайшее целое, большее или равное х), содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, блок умножения, сумматор, вычитатель, коммутатор и блок управления.

Недостатком этого устройства является низкое быстродействие, вызванное большой длительностью такта формирования k цифр частного и остатка.

Известно устройство для деления, формирующее в каждом такте k цифр частного (Гд82 « l«) (, п — разрядность делимого и и делителя) и содержащее первый регистр остатка, второй регистр остатка, регистр делителя, сумматор частного, сумматор принудительного округления делителя, узел вычисления обратной величины, два сумматора, два блока умножения, вычитатель, элемент И вЂ” НЕ, два коммутатора и блок микроп рограммного управления.

Быстродействие этого устройства недостаточно высокое из-за относительно большой длительности такта, Наиболее близким по технической сущности к предлагаемому изобретению является устройство для деления, формирующее в каждом такте k цифр частного (где 2 < k <)g (, и — разрядность делимого и делителя) и содержащее два регистра остатка, регистр делителя, сумматор частного, сумматор принудительного округления, узел вычисления обратной величины, два сумматора, два блока умножения, коммутатор, селектор, вычитатель и блок микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом коммутатора, выход которого соединен с информационным входом первого регистра остатка, выходы первого и второго регистров остатка соединены с первым и вторым информационными входами первого сумматора соответственно, выход которого является выходом остатка устройства и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответст5

55 венно, первый информационный вход первого блока умножения соединен с выходом регистра делителя, выходы разности и заема вычитателя соединены с вторым информационным входом коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, выход старшего разряда второго сумматора соединен с входом элемента НЕ, выход которого соединен с управляющим входом селектора, информационный вход которого соединен с выходом второго блока умножения, выход селектора соединен с информационным входом младших разрядов сумматора частного и с вторым информационным входом первого блока умножения, выход старших разрядов регистра делителя соединен с информационным входом сумматора принудительного округления делителя, вход переноса которого соединен с входом логической единицы устройства, выход сумматора принудительного округления делителя соединен с информационным входом узла вычисления обратной величины, выход которого соединен с вторым информационным входом второго блока умножения, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, сумматора частного и блока микроп рограммного управления, первый выход которого соединен с первым управляющим входом коммутатора и входами установки в нуль второго регистра остатка и сумматора частного, выход которого является выходом частного устройства, второй выход блока микропрограммного управления соединен с вторым управляющим входом коммутатора и входами разрешения записи второго регистра остатка и сумматора частного, третий и четвертый выходы блока микропрограммного управления соединены с входами разрешения записи первого регистра остатка и регистра делителя соответственно, пятый выход блока микропрограммного управления является выходом признака окончания деления устройства.

Недостаток известного устройства — относительно низкое быстродействие, вызванное большой длительностью такта формирования k цифр частного в случае, когда на входе данных устройства одновременно находятся и-разрядные двоичные коды делимого Х и делителя Y и загружаются

1728862

30

40

55 в первый регистр остатка и регистр делителя одновременно, Цель изобретения — повышение быстродействия устройства путем сокращения длительности такта формирования k цифр частного при одновременной загрузке операндов в первый регистр остатка и регистр делителя.

Поставленная цель достигается тем, что в устройство для деления, содержащее два регистра остатка, регистр делителя, сумматор частного, сумматор принудительного округления делителя, узел вычисления обратной величины, два сумматора, два блока умножения, коммутатор, селектор, вычитатель и блок микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом коммутатора, выход которого соединен с информационным входом первого регистра остатка, выходы первого и второго регистров остатка соединены с первым и вторым информационными входами первого сумматора соответственно, выход которого является выходом остатка устройства и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответственно, первый информационный вход первого блока умножения соединен с выходом регистра делителя, выходы разности и заема вычитателя соединены с вторым информационным входом коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, выход старшего разряда второго сумматора соединен с входом элемента Н Е, выход которого соединен с управляющим входом селектора, информационный вход которого соединен с выходом второго блока умножения, выход селектора соединен с информационным входом младших разрядов сумматора частного и с вторым информационным входом первого блока умножения, вход логической единицы устройства соединен с входом переноса сумматора принудительного округления делителя, выход которого соединен с входом узла вычисления обратной величины, вход синхрониза.ции устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, сумматора частного и блока микропрограммного управления, первый выход которого соединен с входом разрешения записи регистра делителя, с первым управляющим входом коммутатора и входами установки в нуль второго регистра остатка и сумматора частного, выход которого является выходом частного устройства, второй выход блока микропрограммного управления соединен с вторым управляющим входом коммутатора и входами разрешения записи второго регистра остатка и сумматора частного, третий выход блока микропрограммного управления соединен с входом разрешения записи первого регистра остатка, четвертый выход блока микропрограммного управления является выходом признака окончания деления устройства, введен регистр обратной величины, выход которого соединен с вторым информационным входом второго блока умножения, выход узла вычисления обратной величины соединен с информационным входом регистра обратной величины, вход разрешения записи и синхровход которого соединены с входом разрешения записи и синхровходом регистра делителя соответственно, выход старших разрядов делителя входа данных устройства соединен с информационным входом сумматора принудительного округления делителя, На фиг.1 приведена структурная схема предлагаемого устройства для деления; на фиг,2 — функциональная схема блока микропрограммного управления; на фиг.3 — микропрограмма работы устройства.

Устройство для деления содержит (фиг.1) первый 1 и второй 2 регистры остатка, регистр 3 делителя, регистр 4 обратной величины сумматор 5 частного, сумматор 6 принудительного округления делителя, узел

7 вычисления обратной величины, первый и второй сумматоры 8 и 9 соответственно, первый и второй блоки 10 и 11 умножения соответственно, вычитатель 12, коммутатор

13, селектор 14, элемент НЕ 15, блок 16 микропрограммного управления, вход 17 данных устройства, вход,18 синхронизации устройства, вход 19 логической единицы устройства, выходы 20 и 21 остатка и частного устройства, выходы 22 и 23 регистров 1 и 2, выходы 24 и 25 старших разрядов регистров

1 и 2, выход 26 регистра 3, выход 27 старших разрядов делителя входа 17 данных устройства, выход 28 сумматора 6, выход 29 узла 7 вычисления обратной величины, выход 30 регистра 4, выходы 31 и 32 младших разрядов и старшего разряда сумматора 9 соответственно, выход 33 второго блока 11 умножения, выход 34 селектора 14, выход 35 первого сумматора 8, выходы 36 и 37 первой

1728862 и второй групп блока 10 умножения соответственно, выходы 38 и 39 разности и заема вычитателя 12 соответственно, выход 40 коммутатора 13, выходы 41 — 44 с первого по четвертый блока 16 микропрограммного управления соответственно.

Вход 17 данных устройства соединен с информационным входом регистра 3 делителя и с первым информационным входом коммутатора 13, выход 40 которого соединен с информационным входом первого регистра 1 остатка, выходы 22 и 23 первого 1 и второго 2 регистров остатка соединены с первым и вторым информационными входами первого сумматора 8 соответственно, выход 35 которого является выходом 20 остатка устройства и соединен с входом уменьшаемого вычитателя 12, входы вычитаемого и заема которого соединены с выходами 36 и 37 первой и второй групп первого блока 10 умножения соответственно, первый информационный вход первого блока

10 умножения соединен с выходом 26 регистра

3 делителя. Выходы 38 и 39 разности и заема вычитателя 12 соединены с вторым информационным входом коммутатора 13 и информационнымм входом второго регистра 2 остатка соответственно, выходы 24 и 25 старших разрядов первого 1 и второго 2 регистров остатка соединены с первым и вторым информационными входами второго сумматора 9 соответственно, выход 31 младших разрядов которого соединен с первым информационным входом второго блока 11 умножения, выход 32 старшего разряда второго сумматора 9 соединен с входом элемента НЕ 15, выход которого соединен с управляющим входом селектора 14, информационный вход которого соединен с выходом 33 второго блока 11 умножения, выход

34 селектора 14 соединен с информационным входом младших разрядов сумматора 5 частного и с вторым информационным входом первого блока 10 умножения, выход 27 старших разрядов делителя входа 17 данных устройства соединен с информационным входом сумматора 6 принудительного округления делителя. Вход 19 логической единицы устройства соединен с входом переноса сумматора 6 принудительного округления делителя, выход 28 которого соединен с информационным входом узла 7 вычисления обратной величины, выход 29 которого соединен с информационным входом регистра

4 обратной величины, выход 30 которого соединен с вторым информационным входом второго блока 11 умножения. Вход 18 синхронизации устройства соединен с синхровходами первого 1 и второго 2 регистров остатка, регистра 3 делителя, регистра 4 об5

55 ратной величины, сумматора 5 частного и блока 16 микропрограммного управления, первый выход 41 которого соединен с входом разрешения записи регистра 3 делителя, регистра 4 обратной величины, с первым управляющим входом коммутатора 13 и входом установки в нуль второго регистра 2 остатка и сумматора 5 частного, выход которого является выходом 21 частного устройства, второй выход 42 блока 16 микропрограммного управления соединен с вторым управляющим входом коммутатора

13, входами разрешения записи второго регистра 2 остатка и сумматора 5 частного, третий выход 43 блока 16 микропрограммного управления соединен с входом разрешения записи первого регистра 1 остатка, четвертый выход 44 блока 16 микропрограммного управленияя является выходом признака окончания деления устройства.

Первый регистр 1 остатка (n+2)-разрядный, из которых два разряда расположены слева от запятой, а остальные — справа от запятой. В исходном состоянии в разрядах справа от запятой этого регистра хранится и-разрядный двоичный код делимого без знака, а в процессе деления в него записываются значения сумм очередных остатков.

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

Регистр 3 делителя п-разрядный, причем все разряды расположены справа от запятой. В регистре 3 делителя в исходном состоянии хранится и-разрядный двоичный код делителя без знака.

Регистр 4 обратной величины (k+2)-разрядный, из которых один разряд расположен слева от запятой, а остальные — справа, Регистр 4 предназначен для хранения (k+2) старших разрядов обратной величины принудительно округленного усеченного делителя, поступающих с выхода 29 узла 7 вычисления обратной величины, Предполагается, что все регистры устройства реализованы на двухтактных синхронных

DV-триггерах. Запись информации в регистры производится по синхроимпульсу при наличии разрешающего потенциала на их

V-входах.

Сумматор 5 частного предназначен для хранения частного, Он также участвует в операции деления в процессе формирования правильного частного. В первом такте деления сумматор 5 частного обнуляется путем подачи синхроимпульса с входа 18 синхронизации устройства на его синхровход и

1728862

10 разрешающего потенциала с первого выхода 41 блока 16 микропрограммного управления на вход разрешения установки в нуль сумматора 5 частного. Во всех остальных тактах работы устройства в сумматоре 5 частного накапливается значение частного.

Для этого к значению частного, сформированному на предыдущих тактах работы устройства и сдвинутому на (k — 1) разряд влево (в сторону старших разрядов), прибавляется значение k цифр частного, сформированных на выходе 34 селектора 14 в текущем такте.

Запись информации в сумматор 5 частного также осуществляется по синхроимпульсу

10

15 при наличии разрешающего потенциала на

его входе разрешения записи, который подключен к второму выхбду 42 блока 16 микропрограммного управления. После завершения деления образованное в суммато20 ре 5 частное поступает на выход 21 частного устройства. Сумматор частного реализован так же, как и в известном устройстве, т.е. на комбинационном сумматоре и регистре.

Формирование k цифр частного в каж25 дом такте работы устройства для деления производится путем умножения однорядного кода усеченного остатка, сформированного на выходе 31 младших разрядов второго сумматора 9, на значение старших разрядов обратной величины усеченного

30 делителя, хранимое в регистре 4 обратной величины и подаваемое с выходов 30 регистра 4 обратной величины. Чтобы устранить возможность поступления в устройстве k

35 цифр частного с избытком, значение старших разрядов делителя, поступающее с выхода 27 входа 17 данных устройства,увеличивается на единицу младшего разряда в сумматоре 6 принудительного округлеПусть делимое Х и делитель Y есть нормализованные двоичные дроби, т.е.

1/2 = X < 1 и 1/2 Y < 1. Это справедливо только в первом такте деления. В дальней45 шем, когда в роли делимого выступают промежуточные остатки, возможно нарушение нормализации делимого как влево, так и вправо. В общем случае делимое Х в предлагаемом устройстве может изменяться в

55 пределах О X < 2Y. Можно показать, что для получения на выходе 34 селектора 14 k двоичных цифр частного с точностью до единицы их младшего разряда достаточно обрабатывать (k+4) старших разрядов делимого (один разряд расположен слева от запятой, а остальные — справа от запятой), (k+3) старших разрядов делителя Y (все разряды расположены справа от запятой) и (k+2) старших разрядов обратной величины ния делителя. 40 при нудител ьно округленного усечен ного делителя (один разряд расположен слева от запятой, а остальные — справа от запятой).

Сумматор 6 (k+3)-разрядный комбинационного типа. В сумматоре 6 осуществляется принудительное округление делителя путем прибавления к значению (k+3) старших разрядов делителя, поступающих на информационный вход сумматора 6 с выхода 27 входа 17 данных устройства, единицы в младший разряд, поступающей на вход переноса сумматора 6 принудительного округления делителя через вход 19 логической единицы устройства. На выходе 28 сумматора 6 принудительного округления делителя образуется (k+4)-разрядный результат (один разряд расположен слева от запятой, а остальные — справа от запятой), который далее поступает на вход узла 7 вычисления обратной величины, Узел 7 вычисления обратной величины производит вычисление значения (k+2) старших разрядов обратной величины от принудительно округленного значения (k+3) старших разрядов делителя, поступающего на вход узла 7 вычисления обратной величины с выхода 28 сумматора 6 принудительного округления делителя. На выходе 29 узла

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

Стефанелли, или же совместно с сумматором 6 на ПЗУ по соответствующей таблице истинности, С помощью первого сумматора 8 комбинационного типа двухрядный код остатка, хранимый в первом 1 и втором 2 регистрах остатка, преобразуется в однорядный код, Второй сумматор 9 комбинационного типа осуществляет преобразование (k+5) старших разрядов двухрядного кода остатка, хранимого в регистрах 1 и 2 остатка, в однорядный код (два разряда расположены слева от запятой и (k+3) разряда — справа от запятой). На выходе 31 младших разрядов второго сумматора 9 образуется однорядный код (k+4) старших разрядов остатка (один разряд — слева от запятой, (k+3) разрядов — справа от запятой), а на выходе 32 старшего разряда второго сумматора 9 образуется старший дополнительный разряд остатка.

В первом блоке 10 умножения осуществляется перемножение k-разрядного частного, сформированного на выходах 34 селектора 14 и поступающего на второй ин. формационный вход первого блока 10 умно1728862

30

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

На выходах 36 и 37 первой и второй групп первого блока 10 умножения образуется произведение в двухрядном коде (в виде двух чисел). Первый блок 10 умножения— комбинационного типа — может быть разработан хорошо известными методами, например в виде многослойной структуры без распространения переносов внутри слоев.

Он также может быть реализован в виде совокупности из и/k k-разрядных двоичных умножителей.

Во втором блоке 11 умножения производится умножение значения однорядного кода (k+4) старших разрядов остатка, поступающего на его первый информационный вход с выхода 31 младших разрядов второго сумматора 9, на значение (k+2) старших разрядов обратной величины принудительно округленного усеченного делителя, поступающее на его второй информационный вход с выхода 30 регистра 4 обратной величины. На выходе 33 второго блока 11 умножения формируется значение k цифр частного. Значение k-разрядного частного, полученного на выходах 34 селектора 14, может быть либо равно значению старших k разрядов частного, получаемого при делении и-разрядных чисел, либо меньше его на единицу младшего разряда с весом 2. Второй блок 11 умножения — комбинационного типа — может быть разработан хорошо известными методами, например в виде многослойной структуры с распространением переноса только в последнем слое.

В вычитателе 12 осуществляется вычитание из текущего остатка, сформированного в однорядном коде на выходе 35 первого сумматора 8, произведения делителя на k цифр частного, образованного в двухрядном коде на выходах 36 и 37 первой и второй групп первого блока 10 умножения. Результат этого вычитания является очередным остатком и получается на выходах 38 и 39 разности и заема вычитателя 12 в двухрядном коде. Вычитатель 12 — комбинационного типа без распространения заема, он может быть реализован как на одноразрядных двоичных вычитателях, так и на одноразрядных двоичных сумматорах. B предлагаемом устройстве предполагается, что вычитатель 12 реализован на одноразрядных двоичных сумматорах и на выходах

38 и 39 формируется остаток в двухрядном коде в виде суммы и переноса. Для этого необходимо информацию, поступающую на его входы с выходов 36 и 37 первой и второй групп первого блока 10 умножения, проинвертировать с добавлением единиц в соответствующие весовые позиции (для перевода обратного кода в дополнительный).

С помощью коммутатора 13 осуществляется передача на информационные входы первого регистра 1 остатка либо делимого с входа 17 данных устройства, когда на первом выходе 41 блока 16 микропрограммного управления формируется сигнал логической единицы, либо результата, образованного на выходе 38 разности вычитателя 12, когда на втором выходе 42 блока 16 микропрограммного управления формируется сигнал логической единицы. Коммутатор 13 может быть реализован на элементах 2И-2ИЛИ.

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

35 первого сумматора 8, равно нулю, то при формировании однорядного кода старших разрядов остатка путем сложения на втором сумматоре 9 старших разрядов двухрядного кода остатка возможно получение значения суммы на выходе 31 младших разрядов сумматора 9 меньшего, чем нуль на единицу младшего разряда, т.е, значения 1,11...1. Но в этом случае на выходе 32 старшего разряда второго сумматора 9 формируется логическая единица, а в случае, если значение старших разрядов приведенного остатка, полученного на выходе 35 первого сумматора 8, не равно нулю, на выходе 32 старшего разряда второго сумматора 9 формируется логический нуль. Для исключения возможности получения в первом случае неверного значения k цифр частного в устройстве предусмотрена блокировка (формирование значения k цифр частного, равного нулю) k цифр частного, полученных на выходах 33 второго блока 11 умножения, путем подачи на управляющий вход селектора 14 уровня логического нуля с выхода элемента НЕ 15.

Уровень логического нуля на его выходе устанавливается в том случае, если на выходе

32 старшего разряда второго сумматора 9 устанавливается уровень логической единицы. Во всех других случаях на выход 34 селектора 14 пропускается значение k цифр частного с выхода 33 второго блока 11 умножения.

1728862

Селектор 14 производит формирование на выходе 34 значения k цифр частного, равного нулю, если на его управляющем входе присутствует сигнал логического нуля или же пропускает на выход 34 значение k цифр частного с выхода 33 второго блока 11 умножения. Селектор 14 реализован так же, как и в известном устройстве, т.е. содержит k двухвходовых элементов И, имеющих один общий вход, служащий в качестве управляющего входа.

Блок 16 микропрограммного управления координирует работу узлов и блоков устройства при выполнении в нем операции деления, он может быть реализован различными методами, например на счетчике 45 и памяти 46 микрокоманд (фиг.2), Счетчик 45 — накапливающего типа и предназначен для естественной адресации микрокоманд.

Вход счета счетчика 45 соединен с входом

18 синхронизации устройства. В качестве памяти 46 микрокоманд может быть применена быстродействующая постоянная пап — 1 мять емкостью (М+2) 4, где M = j (—

k — 1 число тактов собственно деления, в течение которых в устройстве формируется (М (k — 1)+ 1) цифр частного; )Х(— ближайшее целое, большее или равное X.

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

Следует особо отметить, что если вычитатель 12 устройства реализован на одноразрядных двоичных вычитателях, то в этом случае на выходах 38 и 39 остаток формируется в двухрядном коде s виде разности и заема. Поэтому сумматоры 8 и 9 могут быть заменены вычитателями, Для получения в этом случае в устройстве k цифр частного с недостатком на вход заема вычитателя 9 .необходимо подавать сигнал логической единицы с входа 19 логической единицы.устройства.

Устройство для деления работает следующим образом.

Пусть на входе данных устройства присутствуют без знаков и-разрядные двоичные коды делителя Y и делимого Х {т.е. коды дробных частей делителя и делимого), а счетчик 45 блока 16 микропрограммного управления установлен в начальное нулевое. состояние. Тогда на первом 41 и третьем 43 выходах блока 16 микропрограммного управления сформиоуются единичные сигналы, под действием которых коммутатор 13 пропускает на информационный вход пер5

55 ваго регистра 1 остатка делимое X с входа

17 данных устройства, на информационные входы сумматора 6 принудительного округления делителя поступает значение старших разрядов делителя с выхода 27 входа 17 данных устройства, принудительно округленное значение усеченного делителя с входа 28 сумматора 6 поступает на вход узла 7 вычисления обратной величины, на выходе

29 которого формируется значение (k+2) старших разрядов обратной величины принудительно округленного усеченного делителя. Регистры 1, 3 и 4 подготовлены к приему информации, а второй регистр 2 остатка и сумматор 5 частного — к обнулению.

С приходом первого синхроимпульса на вход 18 синхронизации устройства осуществляется запись двоичных кодов делимого X и делителя Y в регистры 1 и 3 соответственно, в регистр 4 — значения (k+2) старших разрядов обратной величины принудительно округленного усеченного делителя, а также обнуление второго регистра 2 остатка и сумматора 5 частного. Счетчик 45 блока 1.6 микропрограммного управления устанавливается в состояние логической единицы, После завершения действия, первого импульса на входе 18 синхронизации устройства заканчивается подготовительный этап и начинается собственно деление, в процессе которого в течение М тактов формируется (M (k — 1) + 1) двоичных цифр частного.

Во втором такте (в первом из M тактов собственно деления) работы устройства на втором 42 и третьем 43 выходах блока 16 микропрограммного управления образуются сигналы логической единицы. Под действием этих управляющих сигналов в устройстве выполняются следующие действия, По значению старших разрядов делимого (на следующих тактах в роли делимого выступает остаток, хранящийся в регистрах

1 и 2 остатка в двухрядном коде) и делителя на выходах 33 второго блока 11 умножения формируется значение k двоичных цифр частного. Параллельно с работой блока 11 умножения и второго сумматора 8 частного, который преобразует двухрядный код текущего остатка в однорядный. По значению старшего разряда сумматора 9 осуществляется окончательное формирование k цифр частного на выходе 34 селектора, Если сигнал на выходе 32 второго сумматора 9 соответствуетуровнюлогической единицы, то на выходе элемента НЕ 15 формируется сигнал логического нуля, который устанавливает значение k цифр частного на выходе селектора 14 равное нулю, B противном случае в качестве к-разрядного частного в устройстве используется значение k цифр частного.

1728862

16 сформированное на выходе 33 второго блока 11 умножения. Сформированное на выходе 34 селектора 14 k-разрядное частное Z1 (в следующих тактах — Z j., где i — номер такта собственно деления) поступает на информационные входы младших разрядов сумматора частного и на второй информационный вход первого блока 10 умножения, на выходах

36 и 37 которого образуется в двухрядном коде произведение Y Z1. С помощью вычитателя 12 формируется разность Х вЂ” Y 21 в двухрядном коде, которая в дальнейшем служит остатком и подается на второй информационный вход коммутатора 13 и на информационный вход второго регистра 2 остатка со сдвигом íà (k — 1) разряд влево (в сторону старших разрядов), Регистры 1, 2 и сумматор 5 частного подготовлены к приему информации. С приходом второго синхроимпульса на вход 18 синхронизации устройства в регистры 1 и 2 остатка записывается сформированный на выходах 38 и 39 вычитателя 12 двухрядный код остатка, в младшие разряды сумматора 5 частного заносятся k старших цифр частного, а счетчик 45 блока 16 микропрограммного управления устанавливается в состояние "2". На этом второй такт работы устройства заканчивается и далее выполняется еще (M — 1) аналогичных тактов. Заметим, что в каждом из этих тактов старшая двоичная цифра из k очередных цифр частного, образованных на выходе 34 селектора 14 и поступающих на информационные входы младших разрядов сумматора 5 частного, подсуммируется к младшему разряду содержимого сумматора

5 частного, сдвинутому на (к-1) разряд в сторону его старших разрядов.

После выполнения последнего (М+1) такта на выходе 21 частного устройства образуется и-разрядное частное, на выходе 20 остатка устройства образуется и-разрядный остаток. Одновременно с этим из памяти 46 микрокоманд блока 16 микропрограммного управления считывается микрокоманда (М+2), которой соответствует управляющий сигнал У44 и соответственно на четвертом выходе 44 блока 16 микропрограммного управления устанавливается уровень логической единицы, сигнализирующий об окончании операции деления.

Сравнение предлагаемого устройства для деления и известного устройства по быстродействиюю.

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

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

Тпрот = Спо + Собр + Сумн2 + Ссел +

+ Сумн1+ Свыч+ Ск+ Срг1 (t2 < Спо+ Собр), ГДЕ Спо — ВРЕМЯ фОРМИРОВаНИЯ ПРИНУДИТЕЛЬно округленного значения (k+3) старших разрядов делителя на выходе сумматора принудительного округления делителя; собр вРемЯ фоРмиРованиЯ (k+2) стаРших разрядов обратной величины принудительно округленного усеченного делителя на выходе узла вычисления обратной величины;

Сумн2 — ВРЕМЯ фОРМИРОВаНИЯ k ЦИФР ЧаСтного на выходе второго блока умножения;

teen время формирования правильного значения k цифр частного на выходе селектора;

Сумн1 — ВРЕМЯ фОРМИРОВаНИЯ ПРОИЗВЕдения делителя íà k цифр частного в двухрядном коде на выходах первого блока умножения;

Свых — время формирования очередного остатка в двухрядном коде на выходах вычитателя; ск — время срабатывания коммутатора;

Срт1 — ВРЕМЯ ЗаПИСИ ИНфОРМаЦИИ В ПЕРвый регистр остатка;

t2 — время формирования (k+4) старших разрядов однорядного кода очередного остатка на втором сумматоре, Длительность одного такта работы предлагаемого устройства в случае одновременного присутствия кодов делимого и делителя на входе данных устройства определяется из выражения:

Тпредл = С2+ Сумн2+ teen+ Сумн1+

+ Свыч + Ск + Срег1.

ТаК КаК t2 =Спо ТО Тпрот Тпредл = Собр.

При значениях k = 4-8 время формирования (k+2) старших разрядов обратной величины принудительно округленного усеченного делителя на выходе узла вычисления обратной величины (to6p) составляет

15 — 40 от общей длительности такта.

Следовательно, быстродействие предлагаемого устройства примерно на 17,6—

66,6 выше, чем быстродействие известного устройства. Объем используемого оборудования в них практически тот же, так как в предлагаемое устройство введен только один регистр обратной величины, но он малоразрядный.

1728862

50

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

Устройство для деления, содержащее два регистра остатка, регистр делителя, сумматор частного, сумматор принудительного округления делителя, узел вычис- 5 ления обратной величины, два сумматора, два блока умножения, вычитатель, коммутатор, селектор, элемент НЕ и блок микропрограммного управления, причем вход данных устройства соединен с информа- 10 ционным входом регистра делителя и с первым информационным входом коммутатора, выход которого соединен с информационным входом первого регистра остатка, выходы первого и второго регистров остатка 15 соединены с первым и вторым информационными входами соответственно первого сумматора, выход которого является выходом остатка устройства и соединен с входом уменьшаемого вычитателя, входы вычитае- 20 мого и заема которого соединены с выходами первой и второй групп соответственно первого блока умножения, первый информационный вход которого соединен с выходом регистра делителя, выходы разности и 25 заема вычитателя соединены с вторым информационным входом коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка 30 соединены с первым и вторым информационными входами соответственно второго сумматора, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, выход 35 старшего разряда второго сумматора соединен с входом элемента КЕ, выход которого соединен с управляющим входом селектора, информационный вход которого соединен с выходом второго блока умножения, 40 выход селектора соединен с информационным входом младших разрядов сумматора частного и с вторым информационным входом первого блока умножения, вход логической единицы устройства соединен с входом переноса сумматора принудительного округления делителя, выход которого соединен с входом узла вычисления обратной величины, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, сумматора частного и блока микропрограммного управления, первый выход которого соединен с первым управляющим входом коммутатора и входами установки в "0" второго регистра остатка и сумматора частного, выход которого является выходом частного устройства, второй выход блока микропрограммного управления соединен с вторым управляющим входом коммутатора и входами разрешения записи второго регистра остатка и сумматора частного, третий выход блока микропрограммного управления соединен с входом разрешения записи первого регистра остатка, четвертый выход блока микропрограммного управления является выходом признака окончания деления устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введен регистр обратной величины, выход которого соединен с вторым информационным входом второго блока умножения, выход узла вычисления обратной величины соединен с информационным входом регистра обратной величины, вход разрешения записи которого соединен с первым выходом блока микропрограммного управления и входом разрешения записи регистра делителя; синхровход которого соединен с синхровходом регистра обратной величины, вход старших разрядов данных устройства соединен с информационным входом сумматора принудительного округления делителя.

1728862 и g З

Фиг,2

Фиг.5

Составитель Н.Маркелова

Техред М.Моргентал Корректор Н,Ревская

Редактор Н.Химчук

Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101

Заказ 1409 Тираж Подписное

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

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

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

 

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

Изобретение относится к вычислительной технике и может быть использовано в универсальных и специализированных выII xi да Ui - у числительных системах для аппаратной реализации векторно-скалярных операций виY 1б{1, 2L} (L - количество компонентов векторного операнда) для действительных чисел,-представленных в дополнительном коде в форме с фиксированной запятой

Изобретение относится к области вычислительной техники и предназначено для выполнения операции умножения кодов без знаков, операции умножения в прямом коде , операции деления в прямом коде с авто9 (at) матическим определением делимого и делителя не меньшего делимого по модулю и операции деления в прямом коде с заданными делимым и делителем

Изобретение относится к специализированным устройствам вычислительной техники и может быть использовано в кодирующих и декодирующих устройствах, работающих с элементами конечных полей полиномов GF(2m) при m S 3, например в устройствах системы компакт-диск

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

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

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

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

Изобретение относится к вычислительной технике и позволяет вычислять частное от деления на константу 2 -1 на комбинационной схеме, т.е

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

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

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

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

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

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

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

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

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