Сумматор – вычитатель - Adder–subtractor - Wikipedia

В цифровые схемы, сумматор – вычитатель это схема, способная добавление или же вычитание числа (в частности, двоичный ). Ниже приведена схема, которая добавляет или же вычитание в зависимости от управляющего сигнала. Также можно построить схему, которая одновременно выполняет сложение и вычитание.

Строительство

4-битный сумматор-вычитатель с переносом пульсации на основе 4-битного сумматора, который выполняет два дополнения на А когда D = 1 уступить S = BА.

Имея п-битовый сумматор для А и B, тогда S = А + B. Затем предположим, что числа находятся в два дополнения. Затем выполнить BА, теория дополнения до двух говорит, что нужно инвертировать каждый бит А с НЕ ворота затем добавьте один. Это дает S = B + А + 1, что легко сделать с помощью немного измененного сумматора.

Перед каждым А входной бит на сумматоре с соотношением 2 к 1 мультиплексор куда:

  • Вход 0 (я0) является А
  • Вход 1 (я1) является А

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

  • дополнение, когда D = 0, или же
  • вычитание, когда D = 1.

Это работает, потому что когда D = 1 то А ввод в сумматор действительно А и перенос составляет 1. Добавление B к А и 1 дает желаемое вычитание BА.

Как вы можете отметить номер А как положительный или отрицательный без использования мультиплексора на каждом бите - использовать Ворота XOR вместо этого перед каждым битом.

  • Первый вход в вентиль XOR - это фактический входной бит
  • Второй вход логического элемента XOR для каждого - управляющий вход. D

Это дает то же самое таблица истинности для бита, поступающего в сумматор, как это делает решение мультиплексора, поскольку выход логического элемента XOR будет тем же, что и входной бит, когда D = 0 и инвертированный входной бит, когда D = 1.

Роль в арифметико-логическом блоке

Сумматоры являются частью ядра арифметико-логическое устройство (АЛУ). В устройство управления решает, какие операции должен выполнять ALU (на основе код операции выполняется) и устанавливает операцию ALU. В D входом в сумматор-вычитатель выше будет одна такая линия управления от блока управления.

Приведенный выше сумматор-вычитатель можно легко расширить, добавив больше функций. Например, мультиплексор 2: 1 может быть установлен на каждом Bя который переключился бы между нулем и Bя; это можно было бы использовать (вместе с D = 1), чтобы получить два дополнения из А поскольку А = А + 1.

Следующим шагом будет изменение мультиплекса 2: 1 на А до 4-к-1 с третьим входом, равным нулю, затем повторить это на Bя Таким образом, получаются следующие выходные функции:

  • 0 (с обоими Ая и Bя входы установлены на ноль и D = 0)
  • 1 (с обоими Ая и Bя входы установлены на ноль и D = 1)
  • АBя вход установлен на ноль)
  • BАя вход установлен на ноль)
  • А + 1Bя вход установлен в ноль и D = 1)
  • B + 1Ая вход установлен в ноль и D = 1)
  • А + B
  • АB
  • BА
  • ААя установить инвертировать; Bя установить на ноль; и D = 0)
  • ААя установить инвертировать; Bя установить на ноль; и D = 1)
  • BBя установить инвертировать; Ая установить на ноль; и D = 0)
  • BBя установить инвертировать; Ая установить на ноль; и D = 1)

Добавив дополнительную логику перед сумматором, один сумматор можно превратить в нечто большее, чем просто сумматор - ALU.

Смотрите также