Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
27
Добавлен:
23.11.2019
Размер:
6.47 Mб
Скачать

Булева алгебра

Чтобы описать схемы, которые строятся путем сочетания различных вентилей, нужен особый тип алгебры, в которой все переменные и функции могут прини­мать только два значения: 0 и 1. Такая алгебра называется булевой алгеброй. Она названа в честь английского математика Джорджа Буля (1815-1864).

Как и в обычной алгебре, в булевой алгебре есть свои функции. Булева функция имеет одну или несколько перемен­ных и выдает результат, который зависит только от значений этих переменных. Можно определить простую функцию f, сказав, что f(A)=1, если А=0, и f(A)=0, если А=1. Такая функция будет функцией НЕ (Рис. 3 .12, а).

Так как булева функция от n переменных имеет только 2n возможных комбина­ций значений переменных, то такую функцию можно полностью описать в табли­це с 2n строками. В каждой строке будет даваться значение функции для разных комбинаций значений переменных. Такая таблица называется таблицей истинно­сти. На Рис. 3 .13, а) показана таблица истинности для функции от трех переменных: M = f (A, B, C).

Рис. 3.13. Таблица истинности для функции большинства от трех переменных (а); схема для этой функции (б)

Для функций от большего числа переменных такой тип записи становится громоздким, поэтому часто используются другой тип записи – компактная запись.

Л

Инвертирование функции A также называется «дополнением от функции A».

юбую булеву функцию можно определить, указав, какие комбинации значений переменных дают значение функции 1. Для функции, приведенной на Рис. 3 .13, а), существует 4 комбинации переменных, которые дают значение функ­ции 1. Мы будем рисовать черту над переменной, чтобы показать, что ее значение инвертируется (принимает обратное значение, например, инвертирование 1 это 0). Отсутствие черты означает, что значение переменной не инверти­руется. Кроме того, мы будем использовать знак умножения (точку) для обозначе­ния булевой функции И (знак умножения может опускаться) и + для обозначения булевой функции ИЛИ. Например, принимает значение 1, только если А=1, В=0 и С=1. принимает значение 1, только если (А=1 и В=0) или (B=1 и С=0).

В таблице на Рис. 3 .13, а) функция принимает значение 1 в четырех строках: , , и . Функция М принимает значение истины (то есть 1), если одно из этих четырех условий истинно. Следовательно, мы можем написать:

Это компактная запись таблицы истинности. Таким образом, функцию от n переменных можно описать суммой максимум 2n произведений, при этом в каж­дом произведении будет по n множителей.

Разработчики схем часто стараются сократить число вентилей, чтобы снизить ее цену, уменьшить занимаемое схемой место, сократить потребление энергии и т. д. Что­бы упростить схему, разработчик должен найти другую схему, которая может вычислять ту же функцию, но при этом требует меньшего количества вентилей. Булева алгебра является ценным инструментом в поиске эк­вивалентных схем.

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

Чтобы использовать данный подход, нам нужны некоторые равенства из буле­вой алгебры. Ниже показаны некоторые основные законы (Таблица 3 .4). Необходимо отме­тить, что каждый закон имеет две формы. Одну форму из другой можно получить, меняя И на ИЛИ и 0 на 1. Все законы можно легко доказать, составив их таблицы истинности.

Названия законов

И

ИЛИ

Законы тождества

Законы нуля

Законы идемпотентности

Законы инверсии

Коммуникативные законы

Ассоциативные законы

Дистрибутивные законы

Законы поглощения

Законы Де Моргана

Т

Названия законов

И

ИЛИ

Законы тождества

Законы нуля

Законы идемпотентности

Законы инверсии

Коммуникативные законы

Ассоциативные законы

Дистрибутивные законы

Законы поглощения

Законы Де Моргана

аблица 3.4. Некоторые законы булевой алгебры

Законы Де Моргана распространяются на выражения с более чем двумя переменными, например .