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

Иллюстрации

Показать все

Реферат

 

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

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

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

РЕСПУБЛИН (5D 4 G 06 F 7/52

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4060605/24-24 (22) 24.04.86 (46) 07. 12.87. Бюл. Р 45 (71) Минский радиотехнический институт (72) А.Г. Батюков и А.А. Шостак (53) 681.325(088.8) (56) Авторское свидетельство СССР

В 1282117, кл. G 06 F 7/52, 1985.

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

Ф 1322264, кл. G 06 F 7/52, 1985. (54) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ (57) Изобретение относится к области вычислительной техники и может быть применено для выполнения операции деления чисел. Цель изобретения — повышение быстродействия устройства, „„SU„„1357947 Д1 содержащего регистры 1 и 2 остатка, регистр 3 делителя, сумматоры 4 и 5 частного и принудительного округления узел 6 вычисления обратной величины, сумматоры 7 и 8, блоки 9 и 10 умножения, вычитатель 11, коммутатор 12, селектор 13 и блок 15 микропрограммного управления. Для этого в устройство введен элемент НЕ 14. Время формирования К цифр частного в устройстве не зависит от длины исходных операндов, что обеспечивается использованием дополнительного старшего разряда остатка при формировании e каждом такте по значению старших разрядов делителя и старших разрядов двухрядного кода остатка нескольких цифр частного. 3 ил.

1351947

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

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

На фиг..1 приведена структурная схема устройства для деления на фиг.2- функциональная схема блока микропрограммного управления, на фиг.3 — микропрограмма работы устройства.

Устройство для деления содержит первый 1 и второй 2 регистры остатка, регистр 3 делителя, сумматор 4 частного, сумматор 5 принудительного округления, узел 6 вычисления обратной величины, первый.7 и второй 8 сумматоры, первый 9 и второй 10 блоки умножения, вычитатель 11, коммутатор 12, селектор 13, элемент НЕ 14 и блок 15 микропрограммного управления, вход 16 данных, вход 17 синхро— низации, вход 18 логической единицы, выходы 19 и 20 остатка и частного, выходы 21 и 22 регистров 1 и 2, вы ходы 23 и 24 старших разрядов регистров 1 и 2, выход 25 регистра 3, выход

26 старших разрядов регистра 3, выход 27 сумматора 5, выход 28 узла 6, выходы 29 и 30 младших разрядов и, .старшего разряда сумматора 8, выход

31 блока 10, выход 32 селектора 13, вход, 33 уменьшаемого вычитателя 11 входы 34 и 35 первой и второй группы блока 9, выходы 36 и 37 разности и заема вычитателя 11 выход 38 коммутатора, первый 39, второй 40, третий

4 1 и четвертый 42 выходы блока 15, выход 43 признака окончания деления.

Блок микропрограммного управления (фиг.2) содержит счетчик 44 и память

45 микрокоманд.

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

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

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

Сумматор 4 частного предназначен для хранения частного. В первом такте делений сумматор 4 обнуляется путем подачи импульса с входа 17 на его синхровход и разрешающего потенциала с выхода 39 блока 15 на вход разрешения установки в нуль сумматора 4.

Во всех других тактах работы устройства в сумматоре 4 накапливается значение частного. Для этого к значению частного, сформированному на предыдущих тактах работы устройства и сдвинутому на (К-1) разряд влево (в сторону старших разрядов), прибавляется значение К цифр частного, сформированных на выходах 32 селектора 13 в текущем такте. Запись результата этого суммирования в сумматор 4 частного производится по синхроимпульсу при наличии разрешающего потенциала на входе разрешения записи, который подключен к выходу 40 блока

15. После завершения деления образованное в сумматоре 4 частного . частное поступает на выход 20 частного.

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

29 сумматора 8, на значение старших разрядов обратной величины усеченного делителя, сформированного на вьг ходах 28 узла 6. Чтобы устранить возможность получения в устройстве

К цифр частного с избытком, значение старших разрядов делителя, хранимого в регистре 3, увеличивается на единицу младшего разряда в сумматоре 5.

Пусть делимое х и делитель у есть нормализованные положительные двоичные дроби, т.е. 1/2 < х<1 ?? 1>

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

1357947

15 изменяться в пределах О х 2у. Для получения на выходах 32 селектора

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

В сумматоре 5 принудительного округления делителя производится добавление к значению (К+3) старших разрядов делителя, хранящегося в ре- 2р гистре 3 делителя, единицы в мпадший разряд. В узле 6 вычисления об— ратной величины формируется значение (К+2) старших разрядов обратной величины принудительно округленного усе- 25 ченного делителя. В .блоке l0 умножения производится умножение значения (К+4) старших разрядов остатка, полученного путем приведения к однорядному коду старших (К+4) разрядов gp двухрядного кода остатка, на значение старших (К+2) разрядов обратной величины принудительно округленного усеченного делителя. При этом, значение К-разрядного частного, полученного на выходах 32 селектора 13, может быть либо равно значению старших

К разрядов частного, получаемого при делении п-разрядных чисел, либо меньше его на единицу младшего разряда 4р ,> -(к-<) с весом 2

Сумматор 5 принудительного округления делителя является комбинационной схемой. В нем осуществляется принудительное округление целителя путем фб прибавления к значению (К+3) старших разрядов делителя, поступающих на входы сумматора 5 с выходов 26 ре-. гистра 3, единицы в младший разряд, поступающей на вход переноса суммато- щ ра 5 принудительного округления делителя через вход 18 логической единицы устройства. На выходах 27 сумматора 5 образуется значение (К+3) старших разрядов делителя, увеличенное на единицу младшего разряда ° Этим самым устраняется возможность получения на выходах 32 селектора 13 частного с избытком.

Узел 6 вычисления обратной величины производит вычисление значения (К+2) старших разрядов обратной величины от принудительно округленного значения (К+3) старших разрядов делителя, поступающего на входы узла 6 с выходов 27 сумматора 5 принудительного округления делителя ° На выходах

28 узла 6 вычисления обратной величины формируется значение (К+2) старших разрядов обратной величины С принудительно округленного усеченного делителя.

Сумматор 8 комбинационного типа осуществляет преобразование (К+5) старших разрядов двухрядного кода остатка, хранимого в регистрах l и 2 остатка, в однорядный код (два разряда слева от запятой и (К+3) разряда справа от запятой) . На выходах 29 младших разрядов второго сумматора

8 образуется однорядный код (К+4) старших разрядов остатка (один разряд слева от запятой и (К+3) разрядов справа от запятой), а на выходе 30 старшего разряда второго сумматора

8 образуется старший разряд остатка.

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

I разрядов приведенного остатка, полученного на выходах 33 первого сумматора 7, равно нулю, то при формировании однорядного кода старших разрядов остатка путем сложения во втором сумматоре 8 старших разрядов двухрядного кода остатка возможно получение значения суммы на выходах

29 младших разрядов сумматора 8 меньшего, чем нуль на единицу младшего разряда, т.е. значения 1, 11...1

Но в этом случае на выходе 30 старшего разряда второго сумматора 8 формируется логическая единица, а в случае, если значение старших разрядов приведенного остатка, полученного на выходах 33 первого сумматора

7, не равно нулю, на выходе 30 старшего разряда второго сумматора 8 формируется логический нуль.

Для исключения воэможности получения в первом случае неверного зна5 13 чения К цифр частного в устройстве предусмотрена блокировка (формирование значения К цифр частного, равного нулю) цифр частного, полученных на выходах 31 второго блока 10 умножения, путем подачи на управляющий вход селектора 13 уровня логического нуля с выхода элемента НЕ 14. Уровень логическога нуля íà его выходе устанавливается в том случае, если на выходе

30 старшего разряда второго сумматора

8 устанавливается уровень логической единицы. Во всех других случаях на выходы 32 селектора 13 пропускается значение К цифр частного с выходов

31 второго блока 10 умножения.

Блок 10 производит умножение значения однорядного кода (К+4) старших разрядов остатка, поступающего на его входы первой группы с выходов 29 младших разрядов сумматора 8, на значение (К+2) старших разрядов обратной величины, поступающее на его входы с выходов 28 узла 6. На выходах 31 блока 10 формируется значение К цифр частного.

В блоке 9 умножения осуществляется перемножение К-разрядного частного, сформир аванного на выходах 32 селектора 13 и поступающего на вторую группу входов первого блока 9 умножения, и п †разрядно делителя, хранимого в регистре 3 делителя и поступающего на первую группу входов блока 9 с выходов 25 регистра 3 делителя. На выходах 34 и 35 первой и второй групп первого блока 9 умножения образуется произведение в двухрядном коде (в виде двух чисел) .

В вычитателе 11 осуществляется вычитание из остатка, сформированного в однорядном коде на выходах 33 сумматора 7, произведения делителя на

К цифр частного, образованного в двухрядном коде на выходах 34 и 35 блока 9 умножения. Результат этого вычитания является очередным остатком и получается на выходах 36 и 37 вычитателя ii в двухрядном коде.

С помощью сумматора 7 двухрядный код остатка, хранимый в регистрах

1 и 2 остатка, преобразуется в однорядный код.

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

Пусть на вход 16 данных устройства уже поступили п-разрядные двоичные коды делимого х и.делителя у (здесь

57947

55 предполагается, что делимое и делитель правильные положительные дроби), а счетчик 44 блока 15 установлен в исходное нулевое со<:таяние. Па содержимому счетчика 44, которое служит адресом обращения к памяти 45 микрокоманд блока 15, из памяти 45 считывается микрокоманда 1, которой соот- ветствуют управляющие сигналы У39, У41 и У42 (фиг.3). В результате этого, соответственно на выходах 39,41 и 42 блока 15 устанавливаются уровни логической единицы.

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

15 в состояние "1". С момента окончания действия первого импульса на входе 17 заканчивается подготовительный этап и начинается собственно деление, в процессе которого в течение ш тактов формируется m (К-1)+1 двоичных цифр частного.

В некоторых случаях может оказаться целесообразным подготовительный этап организовывать двухшаговым,причем на его первом шаге осуществлять запись только делителя у в регистр 3, а на втором шаге производить запись делимого в регистр 1 и обнулять регистр 2 остатка и сумматор 4. Этим самым будет обеспечена меньшая длительность такта работы устройства, так как временная задержка сумматора

5 и узла 6 не будет влиять в =-том случае на временной цикл работы устройства. В тех же случаях, когда операнды на могут быть загружены в регистр 1 и регистр 3 одновременна (например, при последовательной их выборке из памяти), необходимо всегда в первую очередь записывать делитель, а потом уже делимое.

В первом такте собственно деления по значению старших разрядов делимого (на следующих тактах в роли дели1357947

55 мого будет. выступать остаток, хранящийся в регистрах 1 и 2 в двухрядном коде) и делителя на выходах 31 блока

10 формируются четыре двоичных цифры частного.

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

30 сумматора 8 осуществляется окончательное формирование К цифр частного, Если сигнал на выходе 30 сумматора

8 соответствует уровню логической единицы, то на выходе элемента НЕ 14 формируется сигнал логического нуля, который устанавливает значение К цифр частного на выходах 32 селекто ра 13 равное нулю. В противном случае, в качестве К-разрядного частного в устройстве используется значение К цифр частного, сформированных на выходах 31 блока 10 умножения. Сформированное на выходах 32 селектора

13 К-разрядное частное z, (на следующих тактах z;, где i — номер такта собственно деления) поступает на информационные входы младших разрядов сумматора 4 и на входы первого блока 9 умножения, на выходах 34 и

35 которого образуется в двухрядном коде произведение у я,, а с помощью вычитателя 11 формируется разность х -ух в двухрядном коде, которая в дальнейшем служит остатком и подается на информационные входы коммутатора 12 и регистра 2 остатка со сдвигом на (К-1) разрядов влево (в сторону старших разрядов).

Одновременно с этим из памяти 45 микрокоманд считывается микрокоманда

2 ", которой соответствуют управляющие сигналы У40 и У41 и соответственно на выходах 40 и 41 блока 15 устанавливаются уровни логической единицы.

Под действием этих управляющих сигналов коммутатор 12 пропускает на информационные входы регистра 1 резуль- тат с выхода 36 вычитателя 11, ре-:. гистры 1 и 2 и сумматор 4 подготовлены к приему информации. С приходом второго импульса на вход 17 в регистры 1 и 2 записывается сформированный на выходах 36 и 37 вычитателя 11 двух рядный код остатка, в младшие разряды сумматора 4 частного заносится K старших цифр частного, а счетчик 44

25 блока 15 устанавливается в состояние "?".

Аналогичным образом устройство работает и в других тактах. В каждом такте старшая двоичная цифра из К очередных цифр частного, образованных на выходах 32 селектора 13 и посту-. пающих на информационные входы младших разрядов сумматора 4 частного, подсуммируется к младшему двоичному разряду содержимого сумматора 4 частного, сдвинутому на (К-1) разрядов в сторону его старших разрядов.

После выполнения последнего (m+1) такта на выходе ?О частного устройства образуется и-разрядное частное, на выходе 19 образуется и-разрядный остаток. Одновременно с этим из памяти 45 микрокоманд блока 15 считывается микрокоманда (m+2), которой соответствует управляющий сигнал У43 и соответственно на выходе 43 блока 15 устанавливается уровень логической единицы, сигнализирующий об окончании операции деления.

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

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

1357947

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

ll ll

5 коммутатора и входами установки в О второго регистра остатка и сумматора частного, выход которого является выходом частного устройства, второй выход блока микропрограммного управле1п ния соединен с вторым управляющим входом коммутатора и входами разрешения записи второго регистра остатка и сумматора частного, третий и четвертый выходы блока микропрограммно15 го управления соединены с входами разрешения записи первого регистра остатка и регистра делителя, пятый выход блока микропрограммного управ,ления является выходом признака окон20 чания деления устройства, о т л и— ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введен элемент НЕ, выход которого соединен с управляющим входом селек>5 тора, выход старшего разряда второго сумматора соединен с входом элемента НЕ.

1357947

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

Техред А.Кравчук . Корректор Л. Патай

Редактор А. Шандор

Заказ 5999/49 Тираж 671

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

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

Подписное

Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4