Как известно, все математические операции в ЭВМ сводятся к сложению двух чисел. Поэтому для их реализации требуется единственное устройство – сумматор. Так как в вычислительной технике используется двоичная система счисления, то будем считать, что числа X и Y содержат n разрядов , , где , i=1,…,n.
Операция сложения X и Y в обычной записи:
+
xnxn-1…x2x1
ynyn-1…y2y1
snsn-1…s2s1
Структурная схема сложения чисел X и Y будет иметь следующий вид:
xn yn xi yi x2 y2 x1 y1
pn pn-1 … pi pi-1 … p2 p1 S
sn si s2 s1
Обозначения: si – сумма значений xi и yi;
pi – перенос из i – го разряда в i + 1й разряд.
Блок, реализующий сложение чисел x1 и y1, является логическим (2,2)-полюсником. Он называется полусумматором.
x f1
S
y f2
Сложение в двоичной системе счисления выполняется по правилам:
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0.
Поэтому функция f1 реализует операцию сложения по модулю два.
f1=s1=x1 y1=
Функция f2 реализует перенос p1 во второй разряд. Он имеет место только при единичных значениях x1 и y1. Поэтому функция f2 реализует операцию конъюнкции:
f2=p2=
Все остальные блоки являются полными сумматорами, представляющими собой логические (3,2)- полюсники:
x f1
y
p f2
Функция f1 реализует сложение по модулю два чисел x, y, p. Функция f2 реализует перенос в старший разряд.
Составим таблицу истинности для функций f 1 и f2.
x
y
p
f1
f2
Функция f 1 равна 1, если при сложении по модулю два x, y, p получится 1, то есть при нечетном числе единиц в строке. Выпишем СДНФ функции f 1 и покажем, что f1= .
f1= p)== .
На наборах данных функция f2 равна 1, когда из трех переменных x, y, p, по крайней мере, две равны 1. Выпишем СДНФ функции f2 и упростим ее: