Патент ссср 330671
33067I
Союз Советских
Социалистических
Республик
К ПАТЕНТУ
Зависимый от патента №вЂ”
Заявлено 13.IX.1968 (¹ 1272527/18-24) М. Кл. G Off 7/52
Приоритет 22.XI.1967 г., ¹ ВП 42m/128476, ГДР
Комитет по делам изобретеиий и открытий при Совете Министров
СССР
Опубликовано 24.11.1972. Бюллетень № 8
Дата опубликования описания 31.Х.1972
УДК 681.325(088.8) Авторы изобретения
Инос.пр анцы
Герхард Христианмайер и Клаус Грайиер (Германская Демократическая Республика) Иностранное пред приятие
«Феб Электронише Рехенмашинен» (Германская Демократическая Ресл» блика) Заявитель
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ ДВОИЧНЫХ ЧИСЕЛ
Изобретение относится к области вычислительной техники и, в частности, к арифметическим устройствам.
Известны устройства для деления двоичных чисел, содержащие регистры делимого, делителя, знака делимого и сумматор.
Недостаток известных устройств заключается в том, что в них применяются длительные и громоздкие процессы кодирования для отрицательных делимых, остатков и частных, если все они представлены в дополнительном коде.
Предлагаемое устройство отличается тем, что оно содержит блок распознавания конечного остатка и схему корректировки, выход которой подключен ко входу сумматора, первый вход схемы корректировки соединен с выходом знакового разряда регистра делит=ля, второй вход — с регистром знака делимого, а третий вход — через блок распознавания конечного остатка — с выходом регистра делимого.
Это позволяет производить деление отрицательных двоичных чисел без преобразования отрицательного делимого в дополнительный код.
Устройство работает по следующему алгоритму.
Делимое или остаток нормализуются в накопительном устройстве, в котором возможно осуществление сдвига. В случае сдвига на один плп более нулей, стоящих спереди, на каждый разряд сдвига записывается нуль, если делитель положительньш, и единица, если делитель отрицательный; при сдвиге на одну или более единиц на каждый разряд сдвига записывается единица, если делитель положительный, и нуль, если делитель отрицательный.
Когда дальнейшая нормализация оказывается невозможной, осуществляется прибавление
1О пли вычитание делителя с помощью сумматора от старших разрядов делимого или остатка. Если нормализованное делимое или остаток положигельное, то делитепь вычитается, если он г»оложительный, и прибавляется, если он
l5 отрицательный. Если нормализованное делимое или остаток отрицательное, то делитель прибавляется, если он положительный, и вычитается, если он отрицательный.
Когда остаток, полученный путем прибавления или вычитания делителя, будет положительным, то в частное записывается единица, если делитель положительный, и нуль, если делитель отрицательный. Если же этот остаток будет отрицательным, то в частное записывается нуль, если делитель положительный, и единица, если делитель отрицательный. После сложения или вычитания производится сдвиг остатка на один разряд.
Нормализация, в соответствии с алгоритмом, » продолжается в том случае, когда остаток
330671 может быть нормализован; в противном случае производится сложение или вычитание.
Частное, вычисленное по данному алгоритму, будет правильным, если будет выполняться одно из следующих условий а, б или в: 5 а) делимое и делитель положительны; б) делимое отрицательное, делитель положительный, а последний остаток равен нулю; а) делимое отрицательное, делитель отрицательный, а последний остаток не равен нулю. 10
Во всех остальных случаях полученное частное будет меньше на единицу и должно быть скорректировано прибавлением единиць;.
Для этого частное пропускается через сумматор. 15
Для получения последнего остатка в по леднем этапе деления всегда производится хожение или вычитание без последующего сдвига, Полученный-ври этом остаток должен быть еще скорректирован в следующих случаях:
1. а) делимое положитель !ое, остаток отрица„гельный (коррекция путем прибавления положительного делителя.или вычитания отрицательного делителя); 25 б) делимое отрицательное, остаток больше нуля (коррекция путем прибавления отрицательного делителя); в) делимое отрицательное, остаток меньше нуля (коррекция путем прибавления положи- 30 тельного делителя или вычитания отрицательного делителя. Однако нескорректированный остаток будет считаться последним остатком, если скорректированный остаток не равен нулю) . 35
Для лучшего понимания материала приводится несколько примеров.
Пример 1
1011011:0110= 1010; остаток 1111 (— 37:6= — 6; остаток — 1)
Делимое (остаток) Частное
Операция
1011101
001101
01101
0001
101!в последний остаток
0001
10I
1010
Сложение п сдвиг
Сдвиг
Вычитание и сдвиг
Вычитание
Сложение
Прибавление 1
1011
Делимое (остаток) Операция
Частное
Сложение и сдвиг
1011011
001011
01011
1111
OIOI
111!— последний остаток
10
I0O
1001
Сдвиг
Вычитание и сдвиг
Сложение
Вычита,ние
Таблица 1
1010 50
Полученные сигналы управления
Прибавление 1 г, 15 и 16
15 н 17
15 и 17
15 и 16
Делимое (остаток) Операция
Частное
0000— последний остаток
Сложение и сдвиг
Сдвиг
Вычитание и сдвиг
Вычитание
Сложение
10!
1010
50 Сигналы 1в и 2о выда!отся с ячеек старших разрядов регистра 2 или 1 и имеют значение знака делителя, делимого или остатка, Сигналы 2в и 2! служат для распознавания, являются ли ячейки О и 1 регистра 2 одинаковыми
Пример 2
1011100:0110=1010, остаток 0000 (— 36:6 = — 6; остаток О) Пример 3
1011101:0110= 1011, остаток 1011 (— 35:6 = — 5; остаток — 5) Рассмотрим блок-схему предлагаемого устройства, где регистр 1 является бинарным накопителем для записи и-разрядного делителя. Регистр 2 является к-разрядным бинарным накопителем, в котором может производиться сдвиг в сторону единиц старших разрядов; в начале процесса деления в старших разрядах этого регистра записывается делимое. Ячейки разрядов в регистре 1, начиная со сгарших разрядов, имеют последовательную нумерацию
О... n — 1, а в регистре 2 — О... к — 1. Сиг!!алы, соответствующие этим разрядам, имеют соответственно наименования 1p... 1-! и 2p... Ъ-!.
Делимое или остаток делимого передается из ячеек О... n — 1 регистра 2 на сумматор 8 по шине 4. Одновременно на сумматор через шину б подается делитель из регистра 1. Выход сумматора 8 связан с ячейками О., n — 1 регистра 2 через шину б, а с ячейками к — и ...к — 1 — через шину 7. Имеется еще связь между ячейками, к — и ...к — 1 регистра 2 и одним из входов сумматора 8 через шину 8. Сумматор также принимает сигналы 9, 10, 11 и выдает сигнал 12, последний соответствует старшему разряду выхода, Через шину 18 выход с ячеек 1 ...к — 1 регистра 2 подается на вход ячеек О... к — 2 для обеспечения сдвига влево. В блоке 14 производится преобразование сигналов lp, 2p и 2! в сигналы 15, 1б, 17 и 9, 10 согласно приво-димой ниже таблице 1
330671
Таблица 4
Сигнал на выходе
2о
28
28
10
Таблица 2
Сигнал
HB выходе
10
И
Таблица 3
Сигнал на выходе
25
60 или разными. При появлении сигнала 15, если одновременно появляется сигнал lб, в частное в ячейку к — 1 регчстра 2 записывается нуль, если же вместе с сигналом 15 появляется сигнал 17, то — единица. После этого содержимое регисгра 2 сдвигается на один разряд влево по шине 13. Сигнал 9 переключает сумматор
3 на сложение, а сигнал 10 — на вычитание.
Под воздействием сигнала 9 или 10 в сумматоре происходит объединение (по сумме или разности) данных из ячеек О... n — 1 регистра 2 с делимым из регистра 1. При этом сумма или разность подаегся по шине б на ячейки О... п — 1 регистра 2, в частное записывается цифра в ячейку к — 1 регистра 2, а содержимое последнего сдвигается на один разряд. Для определения цифры, введенной в ячейку к — 1 регистра 2, производится опрос (в блоке 18) высшего разряда суммы или разности, образованной в сумматоре. Для этой цели на блок18 подается сигнал 12, и в зависимости от сигнала 1, блок 18 формирует сигналы 19 и 20 согласно таблице 2.
При воздействии сигнала 19 в частное в ячейку к — 1 регистра 2 записывается нуль, а при сигнале 20 — единица. После того как все разряды частного вычислены, блок распознавания 21 выцает сигнал 22 в том случае, если после запроса по шине 23 поступает ответ, что в ячейках О... n — 1 регистра 2 остаток делимого равен нулю. Затем в блоке 24 формируется сигнал 11 в зависимости от поступления сигналов 22, lo и 25; последний поступает из регистра 2б, в котором хранится знак делимого. Сигнал 11 формируется согласно таблице 3.
Под воздействием сигнала 11 к частному, поданному по шине 8 на сумматор 3, прибавляется единица, после чего оно по шине 7 снова вводится в ячейки к —... к — 1 регистра 2.
Блок 27 формирует сигнал 28 из сигнала 25 регистра 26, сигнала 2о и сигнала 22 после последней операции деления (см. таблицу 4).
Зо
Под воздействием сигнала 28 происходит коррекция остатка последней операции деления. Этот скорректированный остаток не будет вводиться в качестве окончательного остатка в регистр 2, если делимое и нескорректированный остаток отрицательны и скорректированный остаток не равен нулю. В целях повышения скорости вычисления можно за одну операцию осуществлять сдвиг на несколько разрядов, если это позволяют условия нормализации.
Аналогично в некоторых случаях можно не выполнять коррекцию частного путем пропускания его через сумматор. Для этой цели при определении последней цифры частного, если это цифра — нуль, при поступлении сигнала ll в частное записывается обратная величина.
Вполне очевидно, что данное изобретение может быть реализовано с помощью устройств, отличающихся от описанного выше. В частности, содержание изобретения не ограничивается тем, что частное определяется с правильным знаком. Может оказаться необходимым, независимо от знака результата, определяемого с помощью арифметических правил в соответствии со знаком числа, над которым произзодится действие, вначале вычислить положительное пли отрицательное частное (например, с целью определения характера изменения частного), а затем уже дополнить его, Например, если описанное выше устройстзо изменить таким образом, что в блоках 14 и l для формирования сигналов lб, 17, 19 и 20 будет попользоваться не сигнал 1о, а сигнал
25, а блок 24 выдает сигнал 11 только тогда, когда приходяг сигналы 25 и 22. В этом случае всегда будет вычисляться положительное частное, которое потом дополняется, если числа, над которыми производятся действия, имеюг различные знаки
Предмет изобретения
Устройство для деления двоичных чисел, содержащее регистр делителя и регистр делимого, подсоединенные к сумматору, и регистр знака делимого, отгичающееея тем, что, с целью осуществления деления отрицательных чисел без перевода отрицательного делимого в дополнительный код, оно содержит блок распознавания конечного остатка и схему корректировки, выход которой подключен ко вхо330671
Со"таъитель А. А. Плащин
Техред Т. Ускова Корректор Е.,Миронова
Редактор Б. Нанмина
Заказ 153 Изд. >№ 283 Тираж 448 Подписное
ЦНИИПИ Комитета по делам изобретений и открь1тий при Совете Министров СССР
Москва, К-35, Раулская наб., д. 4/5 Типография № 24 Главполиграфпрома, Москва, Г-19, ул. Маркса-Энгельса, 14 ду сумматора, первый вход схемы корректировки соединен с выходом знакового разряда регистра делителя, второй вход — с выходом регистра знака делимого, а третий вход — через блок распознавания конечного остатка с выходом регистра делимого.



