Устройство для деления
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и может быть использовано в универсальных и специализированных ЭВМ для построения устройств деления чисел. Целью изобретения является повышение достоверности результата деления и быстродействия устройства. Устройство содержит регистры делимого 1, делителя 2 и частного 3, коммутатор 4, блок 5 деления усеченных чисел, блок 8 умножения, первый блок 7 коррекции частного, первый вычитатель 10, два сумматора 11, 12, блок 13 управления, а также введенные второй блок 6 коррекции частного и второй вычитатель 9 с соответствующими связями, которые позволяют получать K-разрядное частное при любых значениях усеченного делимого (остатка) и делителя, обеспечивают выполнение коррекции остатка в случает формирования значения K-разрядного частного, большего его истинного значения на две единицы младшего разряда. 6 ил.
СО103 СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (51) 5 0 06 F 7/52
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н ABTOPCHGMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ
ПО ИЗОБРЕТЕНИЯЫ И ОТНРЬГГИЯМ
ПРИ ГКНТ СССР
1 (21) 4408159/24-24 (22) 11.04.88 (46) 07.02.90. Вюл. В 5 (72) A.À.ÆàëêîBLêèé, А.A.Øîñòàê и Л.О.Шпаков (53) 681.325 (088.8) (56) Авторское свидетельство СССР
Р 802962, кл. С 06 F 7/52, 1978.
Авторское свидетельство СССР
N- 1203515, кл. G 06 F 7/52, 1984. (54) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ (57) Изобретение относится к вычислительной технике и может быть использовано в универсальных и специализированных ЭВМ для построения устройств деления чисел. Целью изобретения является повышение достоверности ре зультата,деления и быстродействия
„„su„„ a<
2 устройства. Устройство содержит регистры делимого 1, делителя 2 и частного 3, коммутатор 4, блок 5 деления усеченных чисел, блок 8 умножения, первый блок 7 коррекции частного, первый вычитатель 10, два сумматора
11 и 12, блок 13 управления, а также введенные второй блок 6 коррекции частного и второй вычитатель 9 с соответствующими связям, которые позволяют получать К-разрядное частное при любых значениях усеченного делимого (остатка) и делителя, обеспечивают выполнение коррекции остатка в случае формирования значения К-разрядного частного, большего его истинного значения на две единицы младшего разряда. 6 ил.
1541596
Изобретение относится к вычислительной технике и может быть использовано в быстродействующих арифметических устройствах для выполнения
5 операции деления.
Цель изобретения — повышение достоверности результата деления и быстродействия устройства.
На фиг. 1 проведена функциональная схема устройства для деления; на фиг. 2 — функциональная схема блока деления усеченных чисел для случая К=4; на фиг. 3 — функциональная схема ячейки блока деления усеченных 15 чисел; на фиг. 4 — функциональная схема второго- блока коррекции частного для случая К=4; на фиг. 5 функциональная схема первого блока коррекции частного для случая К=4; 20 на фиг. 6 — функциональная схема блока управления, Устройство для деления (фиг. 1) содержит регистры Делимого 1, делителя 2 и частного 3, коммутатор 4, 25 блок 5 деления усеченных чисел, второй 6 и первый 7 блоки коррекции частного, блок 8 умножения, второй 9 и первый 10 вычитатели, первый 11 и второй 12 сумматоры, блок 13 управле- 30 ния, вход 14 данных устройства, вход
15 синхронизации устройства, выход 16 результата устройства, выходы 17 — 21 блока 13 управления, выход 22 старшего разряда первого вычитателя 10, вы-. ход 23 старшего разряда первого сум35 матора 11, выходы 24 разрядов регистра 1 делимого, выходы 25 старших разрядов регистра 1 делимого, выходы 26 разрядов регистра 2 делителя, выходы
27 старших разрядов регистра 2 делителя, выходы 28 младших К разрядов и выход 29 старшего разряда блока 5 деления усеченных чисел, выходы 30 второго блока
6 коррекции частного, выходы первой 45
31 и второй 32 групп блока 8 умножения, выходы 33 разности и заема 34 второго вычитателя 9, выходы 35 первого вычитателя 10, выходы 36 первого сумматора 11, выходы 37 второго сумматора 12, выходы 38 коммутатора 4.
Блок 5 деления усеченных чисел (фиг. 7) содержит матрицу ячеек 39, вход 40 логического "0" и вход 41 логической "1". Ячейка 39 (фиг. 3) содержит элемент 42 неравнозначности, 55 одноразрядный двоичный сумматор 43, вход 44 разряда делимого (остатка) ячейки, вход 45 разряда делителя ячейки, управляющий вход 46 (на этот вход подается значение соответствующей цифры частного) ячейки, вход 47 переноса ячейки, выход 48 суммы ячейки, выход 49 разряда делителя ячейки, выход 50 переноса ячейки, выход 51 цифры частного ячейки.
Второй блок 6 коррекции частного (фиг. 4) содержит группу 52 элементов ШП1. Первый блок 7 коррекции частного (фиг. 5) содержит вычитатель
53 и элемент И 54. Блок 13 управле— ния (фиг. 6) содержит счетчик 55, память 56 микрокоманд, два элемента
И 57 и 58 и элемент И-НЕ 59.
Рассмотрим функциональное назначение и реализацию основных узлов и блоков устройства для деления.
Регистры 1 и 2 делимого и делителя соответственно предназначены для временного хранения двоичных кодов делимого (остатков) и делителя. Регистр 1 делимого (п + 1)-разрядный, из которых один разряд расположен слева от запятой и п разрядов — справа от запятой. Регистр 2 делителя содержит и разрядов, которые все расположены справа от запятой. В начале выполнения операции деления в эти регистры загружаются двоичные коды делимого и делителя, которые являются правильными положительными дробями (делимое загружается в и младших разрядов регистра 1).
Регистр 3 частного предназначен для хранения частного и реализован в виде регистра с. возможностью сдвига на К разрядов в сторону старших разрядов.
Коммутатор 4 предназначен для передачи на информационные входы регистра 1 делимого информации с четырех направлений через соответствующие группы входов. Через первую группу входов поступает значение делимого с входа 14 данных устройства, через вторую группу входов — значение скорректированного остатка с выходов 36 первого сумматора 11 (случай, когда значение частного на выходе 30 превышает истинное значение на единицу младшего разряда), через третью группу входов — зцачение остатка с выходов 35 первого вычитателя 10 (случай, когда значение частного на выходе
30 совпадает с истинным значением частного), а через четвертую группу
154 входов — значение скорректированного остатка с выходов 37 второго сумматора 12 (случай, когда значение частного на выходе 30 превышает истинное значение на две единицы младшего разряда).
Блох 5 деления усеченных чисел предназначен для получения (К+1)-разрядного частного от деления старших
2К разрядов делимого, поступающих с выходов 25 регистра 1, и старших К разрядов делителя, поступающих с выходов 27 регистра 2 делителя. При малых значениях К блок 5 деления усеченных чисел может бы=ь разработан по соответствующей таблице истинности либо в виде быстродействующего логического шифратора„ либо в виде быстрой поисковой таблицы, реализованной на ПЗУ, причем в этом случае целесообразна совместная реализация блока
5 с вторым блоком 6 коррекции частного. При больших же значениях К более предпочтительной является реализация блока 5 в виде быстродействующей однотактной матричной схемы деления, использующей алгоритм с восстановлением или без восстановления ос1596 6 равно кулю, то значение К младших цифр частного, сформироьанное HB выходах 28 блока 5 деления, г..реда5 ется транзитом на выходы 30 блока 6.
10 !
Первый блок 7 коррекг-ьи предназначен для окончательной коррекции частного, сформированного в текущем такте. Как было показано выше, значение К-разрядного частного, поступающего с выхода 30 блока 6 на вход частного блока 7, в некоторых случаях может быть больше истинного значения
К-разрядного частного и тогда в блоке
7 осуществляется вычитание-из K-разрядного частного значения единицы или двух единиц его младшего разряда. При наличии на выходе 22 сигнала логической "1" в блоке 7 осуществляется вычитание из К вЂ разрядно частнога единицы его младшего разряда, если на выходе 23 присутствует сигнал логичес.кого "0, и двух единиц его младII;eI î разряда, если íà выходе 23 присутствует сигнал логической "!". Для этого используются вход младшего разряда вычитаемого вычитателя 53 и вход заема вычитателя 53. На входы
-.àòêîâ и все известные средства ускоренной реализации этих алгоритмов.
Возможны и другие варианты реализации блока 5 деления усеченных чисел. На фиг. 2 для случая K=-4 приведена функциональная схема блока 5 в виде однотактной матричной схемы деления без восстановления остатков, построенной из однотипных ячеек.
Значение частного, получаемое на . выходах 28 и 29 блока 5 нри делении в нем значения 2К старших разрядов делимого (остатка) на К старших разрядов делителя, может быть либо равно значению К старших разрядов истинного частного, получаемого при делении п-разрядных чисел, либо больше на одну или на две единицы младшего разряда этого значения.
Второй блок 6 предназначен для предварительной коррекции значения цифр частного, формируемого на выхо-, ! дах 28 и 9 блока 5 деления. Если в у
"блоке 5 деления формируется частное, у которого значение (К+1)-го (старшего) разряда равно единице, то на
1 выходах группы 52 элементов ИЛИ образуется значение скорректированного
К-разрядного частного вида 11...1.
Если же значение (К+1)-го разряда
55 старших разрядов вычитаемого вычитателя 53 с входа 40 — îäàåòñÿ постоянно сигнал логического "0".
F, блоке 8 умножения осуществляется перемножение К-разрядного частного, сформированногo H BbIxooBx 30 второго блока 6 коррекции частного и поступающего на вторую группу входов блока 8, и и-разрядного делителя, хранимого в регистре 2 и псступающего на первую группу входов блока 8 с выходов 26 разрядов регистра 2. На выходах 31 и 32 первой и второй групп блока 8 образуется произведение в двухрядном коде (в виде двух чисел),, Блок 8 умножения — комбинационного типа и может быть реализован в виде совокупности из n/К К-разрядных двоичных умножителей.
С помощью вычитателей 9 и 10 сумматоров 11 и !2 в устройстве формируется три возможных значения остатка, одно из которых записывается в качестве нового остатка через коммутатор 4 в регистр 1 делимого в зависимости о т значения К-разрядного частного на выходах 20 блока 6. Если
К-разрядное частное равно истинному
К-разрядному частному, то в регистр
1 делимого в качестве нового остатка
1541596 заносится значение остатка с выходов (35 первого вычитателя 10, если К-разрядное частное больше, чем истинное
К-разрядное частное на одну единицу
5 его младшего разряда, то новый остаток формируется на выходах 36 первого сумматора i l, если же на две единицы его младшего разряда, то на вы-. ходах 37 второго сумматора 12 °
Второй вычитатель 9 — комбинационного типа и выполнен по принципу вычитателя беэ распространения заема.
В вычитателе 9 осуществляется вычитание из содержимого регистра 1 делимо- 15 го произведения, сформированного на выходах 31 к 32 блока 8 умножения в двухрядном коде. Результат вычитания образуется на выходах 33 и 34 соответственно разности и заема вычитателя 9 в двухрядном коде.
Первый вычитатель 10 предназначен для вычитания из значения разности, сформированной на- выходах 33 второго вычитателя 9, значения заема, образо- 25 ванного на выходах 34- второго вычитателя 9. Первый вычитатель 10 — комбинационного типа с ускоренным распространением заема. Он может быть заменен быстродействующим сумматором, 30 если информацию, поступающую на его вход вычитаемого, проинвертировать, а на вход переноса сумматора подать сигнал логической "1". Если разность делимого (остатка), хранимого в ре-. гистре l и произведения, образованного на выходах блока 8 умножения, положительна, то в старшем разряде ,первого вычитателя 10 формируется значение логического "0", если же данная разность отрицательна, то в старшем разряде первого вычитателя
10 формируется значение логической
"1"
Первый 11 и второй 12 сумматоры предназначены для коррекции некоторого промежуточного значения остатка, образуемого на выходах 35 первого вычитателя 10, если на выходах 30 блока 6 получилось К-разрядное част50 ное, большее истинного. На первом сумматоре 11 к значению остатка прибавляется значение делителя, а на втором сумматоре 12 — удвоенное значение делителя. С выходов 36 и 37
55 первого 11 и второго 12 сумматоров скорректированные значения остатка поступают на входы коммутатора 4.
Если разность, получившаяся на выхо дах 35 первого вычитателя 10, больше, чем значение делимого или остатка, хранимого в регистре 1, на величину, превышающую значение делителя, то в старшем разряде первого сумматора 11 формируется логическая "1", в противном случае — логический 0
Блок 13 управления координирует работу узлов и блоков устройства при выполнении в нем операции деления двух чисел.
Устройство работает следующим образом.
Перед началом выполнения соответственно деления в регистр 1 делимого и регистр 2 делителя заносятся и-разрядный код делимого и и-разрядный код делителя соответственно, счетчик 55 устанавливается в исходное состояние, а регистр 3 частного обнуляется (делимое загружается в и младших разрядов регистра 1, в старший разряд которого записывается нуль). Процесс определения частного состоит иэ m циклов, в каждом из которых формируется К двоичных цифр частного (где и
m = — число К-разрядных групп частК ного) .
Каждый цикл начинается с определения К-разрядного частного, формируемого в блоке 5. Затем К-разрядное частное, образованное на выходе 30 блока 6, умножается на и-разрядный делитель в блоке 8 умножения и на втором 9 и первом l0 вычитателе образуется остаток, равный разности между предыдущим остатком и полученным произведением. В конце цикла деления в зависимости от значения нового остатка в регистр 1 делимого через коммутатор 4 заносится информация из трех возможных источников.
Выбор источника осуществляется блоком
13 управления, куда поступают значения старших разрядов первого вычитателя 10 и первого сумматора 11. Если значение остатка, получаемого на первом вычитателе 1 положительно, то информация в регистр 1 делимого поступает с выходов первого вычитателя 10.
Если значение остатка, получаемого на первом вычитателе 10, отрицательно, то требуется коррекция на одинарное или удвоенное значение делителя, которая выполняется на первом
11 и втором 12 сумматорах соответст9 15415 венно. Если результат коррекции о«татка на одинарное значение делителя положителен, то информация в регистр
1 делимого поступает с выходов первого сумматора 11, в противном слу5 чае — с выходов второго сумматора 12.
Одновременно с коррекцией остатка выполняется коррекция К-разрядного частного в блоке 7, куда так же, как и в блок 13 управления поступают значения старших разрядов первого вычитателя 10 и первого сумматора 11.
В конце каждого цикла деления К-разрядное частное записывается в младшую часть регистра 3, освобождающуюся при сдвиге в регистре 3 информации .на К-разрядов в сторону старших разрядов.
30 второго слагаемого первого сумматора и выходом регистра делителя, а выход — c четвертым информационным входом коммутатора, выходы разности и заема второго вычитателя соединены соответственно с входами уменьшаемого и вычитаемого первого вычитателя, выход старшего разряда которого соединен с первым входом блока управления, второй вход которого соединен с выходом старшего разряда первого сумматора и вторым корректирующим входом первого блока коррекции частного, выходы которого соединены с информационными входами младших К разрядов регистра частного.
40
Формула изобретения
Устройство Для деления, содержащее регистры делимого, делителя и частного, коммутатор, блок деления усеченных чисел, блэк умножения, первый блок коррекции частного, первый вычитатель, два сумматора и блок управления, причем вход данных устройства соединен с информационным входом регистра делителя и первым информационным входом коммутатора, выход которого соединен с информационным входом регистра делимого, выходы 2К старших разрядов которого соединены с входами делимого блока деления усеченных чисел, входы делителя которого соединены с выходами
К старших разрядов регистра делителя, разрядные выходы которого соединены с первыми входами блока умножения, вход первого слагаемого первого сумматора соединен с выходом первого вычитателя, выход старшего разряда которого соединен с первым корректирующим входом первого блока коррекции частного, выход первого сумматора соединен с вторым информационным входом коммутатора, первый и второй управляющие входы которого соединены соответственно v первым и вторым выходами блока управления, третий вы96 10 ход которого соединен с входами записи регистра делимого и регистра част ного, выход которого соединен с выходом, результата устройства, вход синхронизации которого соединен с синхровходами регистров делимого, делителя и частного и блока управления, четвертый и пятый выходы кото. рого соединены соответственно с входом записи регистра делителя и выхо-. дом сигнализации окончания деления устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения бьк тродецствия и достоверности результата целения, в него введены второй блок коррекции частного и второй вычитатель, вход уменьшаемого которого соединен с выходом регистра делимого, а входы вычитаемого и заема — соответственно с выходами первой и второй групп блока умножения, второй вход которого соединен с входом частного первого блока коррекции и выходом второго бпока коррекции, корректирующий вход и вход частного которого соединены соответственно с выходами старшего разряда и К младших разрядов блока деления усеченных чисел, третий информационный вход коммутатора соединен с выходом первого вы1 читателя и входом первого слагаемого второго сумматора, вход второго слагаемого которого соединен с входом
1541596
1541596