Сумматоры и формирователи обратного кода

Комбинационные операционные элементы способны выполнять только преобразование и передачу данных, но не хранение их.

Сумматор предназначен для арифметического сложения двоичных кодов, которое осуществляется в нем с помощью операции

S := A + B + C,

где A, B – двоичные коды слагаемых, C – перенос в младший разряд суммы (от сложения предыдущих разрядов).

Условное обозначение n – разрядного комбинационного сумматора на структурных схемах показано на рис. 1.8.

P – выход переноса из старшего, т.е. n–1-го разряда. Сигнал с этого выхода может использоваться в качестве сигнала ЛУ.

При сложении чисел в дополнительном коде знаки чисел располагаются в старшем разряде разрядной сетки и участвуют в суммировании наряду с числовыми разрядами. В результате в n–1-м разряде сумматора формируется знак результата.

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

Для получения сумматоров большей разрядности два или большее число сумматоров соединяют последовательно по цепи переноса (рис. 1.9).


















Рис. 1.9



Если операнды являются числами в дополнительном коде, то на сумматоре можно выполнить операцию вычитания. Для этого на одну из шин, например, на шину B подается обратный код уменьшаемого, т.е. , а на вход C подается сигнал 1 (рис. 1.10). Тогда

S = A+ + 1 = A + ( +1) = A + (-B) = A - B.















Реализация операции вычитания в дополнительном коде на сумматоре основана на том, что инвертирование кода числа В и прибавление к его младшему разряду 1 эквивалентно смене знака числа.

Формирователи (преобразователи) двоичных кодов предназначены для преобразования двоичных кодов из одного формата в другой (рис. 1.11). Для арифметических операционных устройств наиболее типичным является преобразование прямого кода в обратный. Такое устройство в зависимости от управляющего сигнала выдает либо входной код D без изменения, либо обратный код D. Формирователи обратного кода реализуются на схемах сложения по модулю 2.

Функционирование формирователя обратного кода полностью определяется табл. 1.1


Таблица 1.1

Y1

Микрооперация

0

U := D

1

U := ¬D




Использование формирователя обратного кода на входе сумматора позволяет синтезировать универсальную схему для выполнения операций сложения и вычитания в дополнительном коде (рис. 1.12).



















Рис. 1.12


Если Y1 = 0, то формирователь кода передает код B на вход сумматора без изменения. При этом сумматор производит сложение

S = A +B + 0,

что соответствует выполнению команды арифметического сложения.

Если подать Y1 = 1, то формирователь кода будет передавать на вход сумматора обратный код B. При этом сумматор будет производить сложение

S = A+ + 1,

что соответствует выполнению команды арифметического вычитания.

Сайт управляется системой uCoz