Читать «Архитектура компьютера» онлайн - страница 148

Эндрю Таненбаум

А в с АВ АС АВ+АС
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 0 0 0
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 1 1
А в с А в + с А(В + С)
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 1 1 1

а б

Рис. 3.5. Две эквивалентные функции: AB + AC (a); A(B + C) (б)

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

Чтобы использовать данный подход, нужно знать некоторые соотношения (законы) булевой алгебры, которые показаны в табл. 3.1. Интересно отметить, что каждое соотношение имеет две формы. Одну форму можно получить из другой, меняя И на ИЛИ и 0 на 1. Все соотношения можно легко доказать, составив для них таблицы истинности. Почти во всех случаях результаты очевидны, за исключением соотношения Де Моргана, соотношения поглощения и дистрибутивного соотношения. Соотношение Де Моргана может быть расширено на выражения с более чем двумя переменными, например ABC = A + B + C.

Таблица 3.1. Некоторые соотношения булевой алгебры
Соотношение И ИЛИ
Соотношение тождества 1A = A 0 + A = A
Соотношение нуля 0 A = 0 1 + A = 1
Соотношение идемпотентности AA = A A + A = A
Соотношение инверсии AA = 0 A + A = 1
Соотношение коммутативности AB = BA A + B = B + A
Ассоциативное соотношение (AB ) C = A ( BC ) (A + B) + C = A + (B + C)
Дистрибутивное соотношение A + BC = (A + B)(A + C) A (B + C) = AB + AC
Соотношение поглощения A (A + B) = A A + AB = A
Соотношение Де Моргана AB = A~ + B A + B = AB