Сумматоры на основе ПЦУ
Из типовых функциональных узлов КЦУ и ПЦУ можно строить сложные устройства обработки информации. Рассмотрим проектирование одного из важных устройств обработки информации - сумматора. С помощью многоразрядного сумматора можно реализовать микрооперацию сложения С:=X+Y, где X и Y - n-разрядные двоичные числа.
Выполнение операций алгебраического сложения, вычитания, умножения и деления сводится к последовательности микроопераций сложения, сдвига, инвертирования. Для реализации этих операций необходимо использовать сумматоры, которые содержат в своем составе регистры. Такие сумматоры принято называть накапливающими. Накапливающий сумматор содержит в своем составе регистр, на котором перед началом микрооперации хранится слагаемое, а после выполнения микрооперации С:=С+Y - сумма.
В зависимости от способа ввода кодов слагаемых различаются накапливающие сумматоры последовательного и параллельного действия. Сумматор последовательного действия (рис. 9.3.1.) состоит из одноразрядного сумматора, выходы которого соединены с входом D-триггера и регистром сдвига Рг3. Для подачи на входы сумматора разрядов слагаемых используются регистры Рг1 и Рг2, а для приема разрядов суммы – регистр Рг3. В сумматор коды чисел вводятся в последовательной форме младшим разрядом вперед. С первым тактовым сигналом на сумматор подаются цифры первых разрядов слагаемых X1и Y1. Процесс циклически повторяется до выполнения сложения над всеми разрядами чисел X и Y.
Рис. 9.3.1. Структурная схема сумматора последовательного действия
В сумматоре параллельного действия для присваивания сумме начального значения сначала реализуется микрооперация установки С:=0. Накапливающий сумматор состоит из регистра для хранения и комбинационного сумматора, с помощью которого вычисляется сумма.
В качестве основного элемента накапливающего одноразрядного сумматора может использоваться триггер со счетным входом. Если на счетный вход триггера Тi, установленного предварительно в 0, подать последовательно сигналы одноразрядных слагаемых Xi, Yi и переноса Пi, то по окончании этого процесса триггер устанавливается в состояние, определяющее значение одноразрядной суммы. Сигнал переноса Пi+1 в следующий разряд вырабатывается, если по сигналу Yi или Пi триггер переключается из единичного состояния в нулевое.
Простейший двоичный сумматор на триггерах со счетным входом строится по схеме с последовательным переносом (рис. 9.3.2.).
Рис. 9.3.2. Структурная схема сумматора параллельного действия
Сложение двоичных чисел X={Xn, Xn-1, …, X1} и Y={Yn, Yn-1, …, Y1} выполняется в три такта. В первом такте выполняется микрооперация С:=0. Во втором такте в сумматор заносится код слагаемого X. В третьем такте – код слагаемого Y. Если после второго такта (после записи числа X) триггер i-ого разряда находится в состоянии 1 и на его вход поступит сигнал Yi=1, то триггер перейдет в состояние 0. При этом на инверсном выходе триггера сформируется сигнал переноса в следующий разряд. Если триггер следующего (i+1)-го разряда находиться в состоянии 1, то сигнал переноса переведет этот триггер в состояние 0. Перенос будет распространяться по цепи переносов до триггера, который находится в состоянии 0 после передачи на сумматор кода Y. По окончании переносов триггеры сумматора устанавливаются в состояние, соответствующее коду суммы: С=X+Y. Сигнал переноса из старшего разряда сумматора соответствует переполнению сумматора.
Накапливающий сумматор является основным регистром для выполнения арифметических и логических операций над многоразрядными двоичными числами. Он используется так же для построения еще более сложного ПЦУ для обработки информации, получившего название арифметико-логического устройства (АЛУ).