Одноразрядный сумматор двух переменных

Речь идет не о суммировании двух одноразрядных чисел, а о суммировании именно двух одноразрядных переменных, т.к. при суммировании двух чисел необходимо учитывать значение возможного переноса из предыдущего разряда. При суммировании двух переменных «входного» переноса нет. Поэтому такую схему в вычислительной технике называют полусумматор.

Составим комбинационную таблицу 8 для суммы (S) и переноса (P) – как функций двух двоичных переменных а, b.

Таблица 8

Проанализируем столбец S. Как видно, значение S равно «1» в двух случаях: когда комбинация ab равна 01 (т.е. ) и 10 (т.е. ). Входы Выходы
а b S Р
       
       
       
       

Определим функции S и Ркак логические дизъюнкции (операция «ИЛИ») конъюнкций (операция «И») а и b, при которых выходная функция равна 1; при этом, если переменная равна 0, то в конъюнкции эта переменная берется с отри­цанием. Тогда получим булевы функ­ции для Sи P: S = b + a , P = ab.

Несмотря на кажущуюся простоту, непосредственная реализация S и Р на элементах И, ИЛИ, НЕ (рис. 5) неэкономична.

Докажем что ()(a+b) = . Для этого воспользуемся теоремой Моргана: = . Тогда ()(a+b) = ()(a+b) = = = , т.к. , как и , равны «0». По формуле получим новую схему (рис. 6)*.

Как видно, вместо трех «И», одной схемы «ИЛИ» и двух схем «НЕ» в такой реализации использовано: схема «И», одна «И–НЕ» и одна схема «ИЛИ». Этот простейший пример убеждает в необходимости мини­мизации булевых функций. В дальнейшем при рассмотрении систем из бо­лее сложных булевых функций эффективность минимизации будет еще бо­лее очевидной.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: