УСТРОЙСТВО ДЛЯ ВЫЧИТАНИЯ
SUBTRACTOR

Изобретение относится к области вычислительной техники и предназначено для применения в специализированных вычислителях, а также в системах управления и контроля.
Известно устройство для вычитания (а.с. СССР №1183183), содержащее генератор импульсов, первый, второй, третий и четвертый элементы И, первый, второй и третий счетчики, схему сравнения, триггер, полусумматор, элемент ИЛИ.
Известно также устройство для определения разности двух чисел (а.с. СССР №1109741), содержащее генератор импульсов, первый, второй, третий, четвертый, пятый и шестой триггеры, первый и второй счетчики, первый, второй, третий, четвертый, пятый и шестой элементы И, первый, второй, третий, четвертый и пятый элементы ИЛИ.
Недостатком данных устройств является наличие большого количества элементов и связей между ними, что ведет к усложнению устройства, снижению его быстродействия и надежности.
Задачей, на решение которой направлено изобретение, является создание устройства для вычитания чисел, выраженных в дополнительном коде, обеспечивающего повышение быстродействия и надежности.
Техническим результатом при реализации изобретения является повышение быстродействия и надежности.
Для достижения указанных технических результатов устройство для вычитания содержит n логических элементов НЕ, (n+1) сумматоров, n входов разрядов уменьшаемого числа, n входов разрядов вычитаемого числа, шину логической «1», (n+1) выходов, где n-ые входы является входами знакового разряда уменьшаемого и вычитаемого чисел, (n+1)-й выход является выходом знакового разряда. Вход (1,…, n-1)-го разряда уменьшаемого числа соединен с первым входом соответствующего (1,…, n-1)-го сумматора, вход n-го разряда уменьшаемого числа соединен с первым входом n-го и (n+1)-го сумматора, вход (1,…, n)-го разряда вычитаемого числа соединен с входом соответствующего (1,…, n)-го логического элемента НЕ. Выход (1,…, n-1)-го логического элемента НЕ соединен со вторым входом соответствующего (1,…, n-1)-го сумматора, выход n-го логического элемента НЕ соединен со вторым входом n-го и (n+1)-го сумматора, шина логической «1» соединена с входом переноса первого сумматора, выход переноса (1,…, n)-го сумматора соединен с входом переноса последующего (2,…, n+1)-го сумматора.
Отличительными признаками предлагаемого устройства для вычитания являются наличие n логических элементов НЕ, (n+1) сумматоров, n входов разрядов уменьшаемого числа, n входов разрядов вычитаемого числа, шину логической «1», (n+1) выходов, при этом n-ые входы являются входами знакового разряда уменьшаемого и вычитаемого чисел, (n+1)-й выход является выходом знакового разряда. Вход (1,…, n-1)-го разряда уменьшаемого числа соединен с первым входом соответствующего (1,…, n-1)-го сумматора, вход n-го разряда уменьшаемого числа соединен с первым входом n-го и (n+1)-го сумматора. Вход (1,…, n)-го разряда вычитаемого числа соединен с входом соответствующего (1,…, n)-го логического элемента НЕ. Выход (1,…, n-1)-го логического элемента НЕ соединен со вторым входом соответствующего (1,…, n-1)-го сумматора, выход n-го логического элемента НЕ соединен со вторым входом n-го и (n+1)-го сумматора. Шина логической «1» соединена с входом переноса первого сумматора, выход переноса (1,…, n)-го сумматора соединен с входом переноса последующего (2,…, n+1)-го сумматора.
Так как вычисление производится за один такт, длительность которого определяется разрядностью операндов, то применение предложенного устройства значительно повышает его быстродействие. При этом сокращается количество и наименование входящих в него элементов и связей между ними, что также позволяет повысить его быстродействие, надежность и значительно упрощает устройство.
На фиг.1 приведена схема электрическая принципиальная устройства для вычитания.
Устройство для вычитания содержит n логических элементов НЕ 1, (n+1) сумматоров 2, n входов 3 разрядов уменьшаемого числа, n входов 4 разрядов вычитаемого числа, шину логической «1» 5, (n+1) выходов 6.
n
n
1
n-1
1
n-1
n
n
n+1
1
n
1
n
1
n-1
1
n-1
n
n
n+1
1
1
n
2
n+1
1
n+1
1
n+1
n+1
n
n
n+1
n
n
n+1
Входы 3 и 4 являются входами знаковых разрядов уменьшаемого X и вычитаемого Y чисел. Вход 3,…, 3 разряда уменьшаемого числа X соединен с первым входом соответствующего сумматора 2,…, 2, вход 3 знакового разряда уменьшаемого числа X соединен с первыми входами сумматоров 2 и 2. Вход 4,…, 4 разряда вычитаемого числа Y соединен с входом соответствующего логического элемента НЕ 1,…, 1. Выход логического элемента НЕ 1,…, 1 соединен со вторым входом соответствующего сумматора 2,…, 2, выход логического элемента НЕ 1 соединен со вторым входом сумматоров 1,…, 2. Шина логической «1» 5 соединена с входом переноса сумматора 2 младшего разряда, выход переноса сумматора 2,…, 2 соединен с входом переноса последующего сумматора 2,…, 2. На выходах 6,…, 6 сумматоров 2,…, 2 представлено (n+1)-разрядное число S, полученное в результате вычитания. Выход 6 является знаковым разрядом числа S. Для устранения переполнения предусмотрено увеличение числа S на один разряд по сравнению с числами X и Y, которое осуществляется за счет соединения входа 3 знакового разряда с первыми входами сумматоров 2 и 2 и соединения выхода логического элемента НЕ 1 со вторыми входами сумматоров 2 и 2.
Рассмотрим работу устройства на примере (-7)-(-2)=(-5).
1
4
1
4
1
На входы 3,…, 3 устройства поступает выраженное в дополнительном коде уменьшаемое число (-7) (Х=1.001). На входы 4,…, 4 устройства поступает выраженное в дополнительном коде вычитаемое число (-2) (Y=1.110). Шина логической «1» 5 соединена с входом переноса сумматора 2 младшего разряда.
Состояние входов и выходов устройства для вычитания и входов и выходов входящих в него элементов приведено в таблице 1.
Таблица 1
Порядковый номер сумматора 2
5
4
3
2
1
Входы 3<sub>4</sub>…3<sub>1</sub> (X)
-
1
0
0
1
Входы 4<sub>4</sub>…4<sub>1</sub> (Y)
-
1
1
1
0
Первый вход сумматора 2<sub>5</sub>…2<sub>1</sub>
1
1
0
0
1
Второй вход сумматора 2<sub>5</sub>…2<sub>1</sub>
0
0
0
0
1
Вход переноса сумматора 2<sub>5</sub>…2<sub>1</sub>
0
0
0
1
1
Выход сумматора 2<sub>5</sub>…2<sub>1</sub> (S)
1
1
0
1
1
5
5
В результате на выходах сумматоров 2,…, 2 будет представлено выраженное в дополнительном коде число (-5) (S=1.1011), число разрядов которого увеличено на единицу по сравнению с числами Х и Y.
Таким образом, устройство для вычитания обеспечивает выполнение операции вычитания для чисел, выраженных в дополнительном коде. При этом сокращается количество, наименование входящих в него элементов и связей между ними, что позволяет повысить его быстродействие, надежность и значительно упрощает устройство.