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

Иллюстрации

Показать все

Реферат

 

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

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

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

РЕСПУБЛИК (5ц 4 С 06 F 7/52

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

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

ПРИ ГКНТ СССР

8.::

i ATth

Б4Ь. .

ОПИСАНИЕ ИЗОБРЕТЕНИЯ. к вторсноМ свиДКТКЛЬСтвМ (21) 4385315/24-24 (22) 29.02.88 (46) 07.11.89. Бюл. ¹ 4 1 (72) А.А. Жалковский, А.А. Шостак и Л.О. Шпаков (53) 681.325(088.8) (56) Авторское свидетельство СССР № 802962, кл. G 06 F 7/52, 1978.

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

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

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

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

Устройство для деления содержит (фиг. 1) регистр 1 делимого, регистр

2.делителя, сумматор 3 частного, блок 4 деления усеченных чисел, блок

5 умножения, первый вычитатель 6, второй вычитатель 7, коммутатор 8, блок 9 микропрограммного управления, ÄÄSUÄÄ 1520510 А1 пользовано в универсальных и специализированных ЭВМ для построения устройств для деления. Целью изобретения является повышение быстродействия. Для достижения этой цели в устройстве, содержащем регистры делимого и делителя, сумматор частного, блок деления усеченных чисел, блок умножения, два вычитателя, коммутатор и блок микропрограммного управления, изменена функция блока деления усеченных чисел и исключен сумматор принудительного округления. 5 ил. вход 10 данных, вход 11 синхронизации, выходы 12 частного, выходы 13-17 у блока 9 микропрограммного управления, выходы 18 разрядов регистра 1 делимого, выходы 19 старших разрядов регистра 1 делимого, выходы 20 разрядов регистра 2 делителя, выходы 21 { д старших разрядов регистра 2 делителя, выходы 22 блока 4 деления усеченных чисел, выходы 23 первой группы блока 5 умножения, выходы 24 вто- © рой группы блока 5 умножения, выходы 25 разности первого вычитателя 6, 4ю3 выходы 26 заема первого вычитателя . 6, выходы 27 второго вычитателя, вы-ходы 28 коммутатора 8.

Блок 4 деления усеченных чисел содержит (фиг. 2) матрицу 29 ячеек, вход 30 логического нуля, вход 31 логической единицы, выходы 32-34 суммы старших ячеек первого, второго и третьего рядов матрицы соответI ственно.

152051Î

Ячейка 29 содержит (фиг. 3) эг.емент 35 неравнозначности, одноразрядный двоичный сумматор 36, вход

37 разряда делимого (остатка), вход

38 разряда делителя, управляющий вход 39 ячейки, выход 40 переноса, выход 4 1 переноса ячейки, управляющий выход 42 ячейки; выход 43 суммы ячейки, выход 44 остатка ячейки. 10

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

Функциональное назначение и реализация основных блоков устройства 15 для деления следующие.

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

Регистр 2 делителя содержит раз- 2 ряды, которые все расположены справо от запятой. В первом такте деления в эти регистры "àãðóæàþòñÿ двоичные коды делимого и делителя, которые являются правильными положнтель- 30 ными дробями.

Сумматор 3 частного предназначен для хранения частного, а также участ-вует при выполнении операции деления в процессе формирования правильного значения частного. Поспе завершения деления образо. нное в нем частное поступает на выходе 12 частf ного устройства. Сумматор 3 частного может быть реализован на основе ком- 40 бинационного сумматора и регистра.

Блок, 4 деления усеченных (малораэрядных) чисел непосредственно участвует в формировании очередных и двоичных цифр частного.. В нем реа- 45 лизован алгоритм деления без восстановления остатка, заключающийся в делении значения определенного числа старших разрядов делимого на увеличенное на единицу младшего разряда значение определенного числа старших разрядов делителя (увеличение значения старших разрядов делителя на единицу их младшего разряда осуществляется в самом блоке деления).

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

Число старших разрядов операндов, обрабатываемых в блоке 4 деления усеченных чисел, определяется в зависимости от диапазонов значений делимого и делителя. В данном устройсгее предполагается, что делимое X и делитель Y есть нормализованные положительные двоичные дроби, В ходе деления в роли делимого выступают промежуточные остатки и возможно нарушение нормализации делимого как влево, так и вправо. В общем случае делимое Х в устройстве может изменяться в пределах О X < 27. При принятых допущениях для получения на выходах

22 блока 4 деления усеченных чисел к двоичных цифр частного с точностью до единицы их младшего разряда достаточно обрабатывать-(k+2) старших разрядов делимого Х (один разряд слева от запятой и (k+1) разряд справа от запятой) и (1+2) старших разрядов делителя Y (все разряды находятся справа от запятой). При этом значение k-разрядного частного, получаемого на выходах 22 блока 4 при делении в нем (k+2)-разрядных чисел, может быть либо равно значению старших k разрядов частного, получаемого при делении k-разрядных чисел, либо меньше его на единицу младшего разряда с весом 2

На первый ряд ячеек 29 подаются значения (k+2) разрядов делимого и делителя, а на вход 39 первой (самой старшей) ячейки постоянно подается сигнал логической единицы с входа 31 обеспечивающий суммирование значения делимого с обратным кодом делителя, что равносильно суммированию значения делимого с дополI нительным кодом предварительно округ- ленного делителя. Второй, третий и четвертый ряды ячеек 29 осуществляют прибавление к значению промежуточных остатков от деления усеченных чисел либо значения прямого кода делителя с одновременным его округлением, либо обратного кода делителя.

Округление делителя (добавление единицы к его младшему разряду) в случае его прибавления в прямом коде во втором, третьем и четвертом ряду к значениям промежуточных остатков от деления усеченных чисел выполняется путем подачи логических единиц с выходов 32-34 ячеек соответственно первого, второго и третьего рядов.

Следует отметить, что суммирование

1520510 в каждом ряду ячеек 29 может быть

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

В блоке 5 осуществляется перемножение и-разрядного делителя, хранимого в регистре, и Е-разрядного частного, сформированного на выходах 15

22 блока 4. На выходах 23 и 24 первой и второй групп блока 5 образуется произведение в двухразрядном коде. Блок 5 умножения комбинационного типа может быть реализован в 20 виде совокупности из n/k — разрядных двоичных умножителей.

С помощью первого вычитателя 6 производится вычитание из содержимого регистра 1 делимого произведения, 25 сформированного на выходах 23 и 24 блока 5 умножения в двухрядном коде.

Результат вычитания образуется на выходах 25 и 26 разности и заема в двухрядном коде. 30

Второй вычитатель 7 производит вычитание из значения разности, сформированной на выходах 25 первого вычитателя 6 значения заема, образованного на выходах 26 первого вычитателя, Второй вычитатель 7 ком35 бинационного типа с ускоренным распространением заема может быть заменен быстродействующим сумматором, если информацию, поступающую на его вход

40 вычитаемого, проинвертировать, а на вход переноса сумматора подать сигнал логической "1", С помощью коммутатора-8 осуществляется передача значения делимого на информационные входы регистра

1 с входа 10 устройства, когда на первом выходе 13 блока 9 микропрограммного управления формируется сигнал логической "1", либо остатка, образованного на выходах 27 второго вычитателя 7, когда на втором выходе

14 блока 9 микропрограммного управления формируется сигнал логической

"1". Коммутатор 8 может быть реализован на элементах 2И-2ИЛИ.

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

Граф-схема (фиг. S) алгоритма работы блока 9 управления содержит вершины начала и окончания работы блока 9 по реализации в устройстве операции деления, а также (m+1)-операторную вершину. Во время выполнения первой операторной вершины в устройстве производится загрузка исходных операндов в регистры 1 и 2 делимого и делителя, а также обнуление сумматора 3 частного. Далее в устройстве выполняется ш однотипных вершин, в течение каждой иэ которых формируется k двоичных цифр частного.

На фиг, 5 приняты следующие обозначения управляющих сигналов (они соответствуют принятым ранее обозначениям выходов блока 9 управления):

Y13 — управляющий сигнал, под действием которого на выходы 28 коммутатора передается значение делимого с входа 10 устройства и разрешается сброс сумматора 3 частного в нуль, Y14 — управляющий сигнал, под действием которого на выходы 28 коммутатора 8 передается значение разности с выходов 27 второго вычитателя 7 и разрешается запись информации в сумматор 3 частного1

У15 и Y16 — управляющие сигналы, разрешающие запись информации в регистры 1 и 2 соответственно

Y17 — управляющий сигнал, сообщающий об окончании операции

m — число тактов собственно деления, в течение которых формируется (n(k-1)+1)-разрядное частное в сумматоре 3.

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

Пусть на вход 10 устройства поступили и-разрядные двоичные коды делимого Х и делителя Y а счетчик

45 блока 9 микропрограммного управления установлен в исходное состояние. По содержимому счетчика 45, которое служит адресом обращения к памяти 46, из памяти 46 считывается следующий двоичный код первой микрокоманды ИК1=10110. Старший разряд этого кода формируется на первом выходе 13 блока 9, а младший разрядна пятом выходе 17 блока управления.

Под действием кода МК1 коммутатор 8

1520510 пропускает на информационные входы регистра 1 делимое Х с входа 1О устройства, регистры 1 н 2 подготавливаются к приему информации, так как на их входах разрешения записи присутствуют потенциалы логической "1", а сумматор 3 настраивается на обнуление. С приходом первого импульса на вход 11 синхронизации устройства произ-1

0 водится запись двоичных кодов делимого

Х и делителя Y врегистры 1и 2соответственно, а также обнуление сумматора 3 частного и установка счетчика 45 блока 9 в состояние "1". С момента окончания действия первого импульса на входе 11 синхронизации устройства заканчивается подготовительный этап и начинается собственно деление, в процессе которого в течение m тактов формируется

n(k-1}+1 двоичных цифр частного. !

В первом такте собственно деления по значению старших разрядов делимого Х и делителя Y на выходах 22 блока 4 деления усеченных чисел формируются наиболее старшие k двоичных цифр z, частного z, которые далее поступают на информационные входы младших разрядов сумматора Э. На выходах 23 и 24 блока умножения образуется s двухрядном коде произведение 7 i, а с помощью первого и

1У второго вычитателей б и 7 формируется разность Х-7 Е,, которая в даль- 35 нейшем служит первым остатком и подается на входы втор,Л группы коммутатора 8 со, сдвигом íà (k-1) разрядов влево {в сторону старших разрядов), Одновременно с этим из памяти 40

4б блоков 9 управления считывается код второй микрокоманды ИК2-01 100.

С приходом второго импульса на вход

11 устройства в регистр i делимого записывается сформированный на вы- 45 ходах 27 второго вычитателя 7 первый остаток, в младшие разряды сумматора

3 частного заносятся k старших цифр частного, а счетчик 45 блока 9 управления устанавливается в состоя- 50 ние "2".

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

После выполнения последнего m-ro такта на пятом выходе 17 блока 9 появляется потенциал логической " 1", сигнализирующий об окончании операции деления.

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

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

1520510

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

98(1f ÞО

ui3

Составитель Е.Мурзина

Редактор В.Данко Техред А.Кравчук Корректор И Иуска

Заказ 6758/49 Тираж 668 Подписное

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

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

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