stringtranslate.com

Сумматор-вычитатель

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

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

4-битный сумматор-вычитатель с пульсирующим переносом, основанный на 4-битном сумматоре, который выполняет дополнение до двух чисел A , когда D = 1, для получения S = BA .

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

Перед каждым входным битом A в сумматоре используется мультиплексор 2-к-1 , где:

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

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

Способ пометить число A как положительное или отрицательное без использования мультиплексора для каждого бита — это использовать вместо этого логический элемент XOR , предшествующий каждому биту.

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

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

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

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

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

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

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

Рекомендации

  1. ^ Теджа, Рави (21 апреля 2021 г.). «Двоичный сумматор и вычитатель». Центр электроники . Проверено 1 июня 2022 г.