Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
42 Мухопад Теория дискретных устройств.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
10.48 Mб
Скачать

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

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

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

Таблица 8

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

Входы

Выходы

а

b

S

Р

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

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

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

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

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

1.5. Дешифратор и шифратор двоичного позиционного кода

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

Для трехвходового дешифратора получим восемь выходных функций от трех входных переменных соответственно:

z0 = , zl = , …, z7 = abс.

К количеству входов (в схемах «И») добавляется еще один вход для сигнала (С). С – это микрооперация опроса дешифратора (рис. 7).

Рис. 5

Рис. 6

Таблица 9

Рис. 7

Z

А

В

0

1

2

3

0

0

1

0

1

1

1

0

1

1

1

1

Шифратор

Рассмотрим шифратор на четыре входа (х0, х1, х2, х3) и два выхода (y0, y1) (см. табл. 10) (Аналогичную таблицу для трех выходов и восьми входов предлагается составить студенту самому). Шифратор преобразует единичный сигнал на одном из входов хi в дво­ичный позиционный код y0y1 (рис. 1.8).

Таблица 10

x

y1

y0

x0

1

0

0

x1

1

0

1

x2

1

1

0

x3

1

1

1

у0 = x1 + x3,

у1 = x2 + x3.

Для трех выходов у0, у1, y2 получим:

у0 = х1 + x3 + х5 + х6;

у1 = x2 + x3 + х6 + х7;

у2 = х4 + x5 + х6 + х7.

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

Очевидно, что шифраторы и дешифраторы могут быть построены не только для ДПК, но и для ДКГ или других двоичных кодов.