Арифметические устройства (46831)

Посмотреть архив целиком

Арифметические устройства


Двоичное сложение


К арифметическим устройствам относятся логические схемы, которые способны реализовывать сложение и вычитание. Сумматоры и вычитатели можно получить, соединяя друг с другом обычные логические элементы.

Рассмотрим сложение двух чисел (рис. 15.1)


Рис. 15.1. Правила двоичного сложения


Первые три результата очевидны. Поскольку они соответствуют сложению десятичных чисел. В последнем суммировании (1+1), при сложении десятичных чисел результат будет 2. В двоичной системе 2 записывается как 10. Из рис. 15.1 видно, что происходит перенос 1 в соседний, старший двоичный разряд.

Рассмотрим пример на сложение двоичных чисел (рис 15.2)


Рис. 15.2. Пример двоичного сложения


Рис. 15.3. Правила двоичного сложения


Пример решается просто, пока не доходим до разряда двоек, где нужно найти двоичную сумму 1+1+1. В десятичной системе счисления эта сумма равна 3, что соответствует двоичному числу 11. При этом следует заметить, что сумма 1+1+1 может возникать в любом разряде, исключая разряд единиц. Таким образом к рис 15.1 нужно добавить еще одну комбинацию (рис. 15.3), которая справедлива для всех разрядов двоичных чисел (двоек, четверок, восьмерок и т. д.), за исключением разряда единиц.

Полусумматоры

Рассмотрим таблицу истинности для двоичных чисел (табл. 15.1). входные столбцы таблицы заполнены значениями слагаемых. В качестве выходных используется столбец для суммы и столбец для переноса.


Таблица 15.1. Таблица истинности полусумматора


Для построения схемы полусумматора, определим из табл. 15.1 булево выражение, которым можно описать состояние выходов и : , т. е. для обеспечения требуемого логического уровня на выходе входные сигналы нужно подать на входы логического элемента И;

, для реализации такой логической функции можно использовать два логических элемента И и один логический элемент ИЛИ. Кроме этого, такая логическая функция может быть реализована логическим элементом исключающее ИЛИ. Состояние этого выхода запишем в более простой булевой форме: .

Построим логическую схему полусумматора, который состоит из двух логических элементов: 2-входового логического элемента И и 2-входового логического элемента исключающее ИЛИ (рис. 15.4). Полусумматор имеет два входа (А,В) и два выхода (У,С0).

Рис. 15.4. Логическая схема полусумматора


Полусумматор осуществляет сложение только в разряде единиц. Для двоичного сложения в разрядах двоек, четверок, восьмерок и т. д. Необходимо пользоваться полным сумматором.

Полный сумматор

Рассмотрим таблицу истинности, в которой представлены все возможные комбинации двоичный одноразрядных слагаемых А и В и сигнала переноса Cin (табл. 15.2).


Таблица 15.2 Таблица истинности сумматора


Таблица 15.2 - таблица истинности для полного сумматора. Полные сумматоры используются для сложения во всех двоичных разрядах, кроме разряда единиц. Полные сумматоры имеют три входа: А, В и дополнительный вход переноса.

Один из способов построения логической структуры полного сумматора показан на рис. 15.5. В данном способе используется два полусумматора и логический элемент ИЛИ. Соответствующие булево выражение для этой логической структуры имеют вид , .


Рис. 15.5. Структурная схема полного сумматора


Используя схему полусумматора (рис. 15.4), структурную схему изображенную на рис. 15.5 можно развернуть (рис. 15.6).


Рис. 15.6. Логическая схема полного сумматора


Полусумматоры, сумматоры обычно используются вместе. Так, для решения примера, показанного на (рис. 15.3), нужно иметь один полусумматор (для сложения в разделе единиц) и два полных сумматора (для сложения в разрядах двоек и четверок). Для сложения много разрядных двоичных чисел требуется довольно много полусумматоров и полных сумматоров. Микропроцессорные арифметико-логические устройства (АЛУ) используются для сложения 8-разрядных, 16- или 32-разрядных двоичных чисел в микропроцессорных системах, и в их состав входит большое количество схем, аналогичных полусумматорам и сумматорам.

Параллельный сумматор

Определенным образом, соединяя полусумматоры и полные сумматоры, друг с другом, получают устройства, одновременно выполняющие сложение нескольких двоичных разрядов. На рис. 15.7 показана схема 3-разрядного сумматора. Слагаемые обозначены A2A1A0 и B2B1B0.


Рис. 15.7. Структура 3-разрядного сумматора


Сигналы, соответствующие значениям разряда единиц в слагаемых, поступают на входы полусумматора. Входными сигналами для полного сумматора разряда двоек является сигнал переноса с выхода полусумматора на вход и значения разряда двоек в слагаемых. Сумматор четверок складывает и сигнал переноса с выхода сумматора двоек. Полученный результат отображается на выходах полусумматора и двух полных сумматоров. В результате сложения двух полных сумматоров. В результате сложения двух 3-разрядных двоичных чисел может получиться 4-разрядное число, поэтому на индикаторе суммы имеется дополнительный разряд восьмерок. Этот разряд связан с выходом сумматора четверок.

3-разрядный сумматор, изображенный на (рис. 15.7) является параллельным сумматором. В данной схеме информационных биты всех разрядов поступают на входы одновременно. Результат сложения появится на выходе практически мгновенно. Параллельный сумматор относится к классу комбинационных логических схем. Для фиксации данных на входах и выходах сумматоров обычно используется различные дополнительные регистры.

Двоичное вычитание

Рассмотрим вычитание двоичных чисел (рис. 15.8).


Рис. 15.8. Правила двоичного вычитания


На основании этих правил вычитания двоичных чисел, составим таблицу истинности (табл. 15.3).


Таблица 15.3. Таблица истинности для полувычитателя


Из табл. 15.3 видно, что если В больше А, то нужно занять 1 в соседнем старшем разряде. Сигнал заема указан в столбце .

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


Рис. 15.9. Логическая схема полувычитателя


При вычитании многоразрядных двоичных чисел нужно принимать во внимание заем 1 в более старших разрядах.

Рассмотрим пример на вычитание двоичных чисел (рис. 15.10).


Рис. 15.10. Пример на двоичное вычитание


Составим таблицу истинности, которая содержит все возможные комбинации при вычитании двоичных чисел (табл. 15.4).


Таблица 15.4. Таблица истинности для полного вычитателя

Например, строка 5 (табл. 15.4) описывает ситуацию, возникающего при вычитании в разрядах единиц для вышерассмотренного примера (рис. 15.10).

Вычитанию в разряде двоек соответствует строка 3, в разряде четверок – строка 6, в разряде восьмерок – строка 3, в разряде с весом 16 – строка 2 и в разряде с весом 32 – строка 6 (табл. 15.4).

Полный вычитатель, по аналогии с полным сумматором, можно собрать из двух полувычитателей и логического элемента ИЛИ (рис. 15.11).


Рис. 15.11. Структурная схема полного вычитателя


Полный сумматор имеет три входа и два выхода . Используя схему полувычитателя (рис. 15.9) можно построить развернутую логическую схему полного вычитателя, которая работает в соответствии с табл. 15.4 (рис. 15.12).


Рис. 15.12. Логическая схема полного вычитателя


Параллельный вычитатель

Чтобы построить параллельный вычитатель, нужно соединить друг с другом полувычитатели, по аналогии с построением параллельного сумматора (рис. 15.7). Рассмотрим схему 3-разрядного параллельного вычитателя, который обеспечивает вычитание двоичного числа из двоичного числа (рис. 15.13).


Рис. 15.13. Структурная схема 3-разрядного параллельного вычитателя


Из рис. 15.13 видно, что выход полувычитателя связан с вычитанием разряда двоек. В данной схеме выходы заема каждого вычитателя связаны со входами заема вычитателя старшего разряда.


Использование сумматоров для вычитания


В этом разделе рассмотрим возможность использования сумматоров для вычитания двоичных чисел. Решим пример на вычитание двоичного числа 0110 из числа 1010. Вычитание произведем по следующей схеме: сначала запишем вычитаемое в форме поразрядного дополнения до 1, а затем сложим с уменьшаемым. Дополнение до 1 означает замену 1 на 0 и 0 на 1 во всех разрядах вычитаемого. В результате сложения получим промежуточный результат. Далее осуществляем циклический перенос старшего разряда в разряд единиц и складываем с полученным остатком промежуточной суммы. В результате получается разность исходных двоичных чисел. Эта схема вычисления проиллюстрировала на (рис. 15.14).


Рис. 15.14. Пример вычитания двоичных чисел


В результате решения предложенного примера получим двоичное число 100.

Рассмотренный способ вычитания используется в сумматорах для вычитания. Рассмотрим схему 3-разрядного параллельного вычитателя, который построен на трех полных сумматорах и трех инверторах (рис. 15.15).


Рис. 15.15. Структурная схема вычитателя с использованием полных сумматоров

Инверторы обеспечивают преобразования двоичного числа в форму дополнения до 1. Сумматоры складывают двоичные числа и . Циклический перенос осуществляется с выхода сумматора старшего разряда на вход сумматора единиц. Разность двоичных чисел отображается на выходном индикаторе.






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.