Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konsp_Arkh_EVM (1).doc
Скачиваний:
5
Добавлен:
10.09.2019
Размер:
2.62 Mб
Скачать

9.5. Параллельный сумматор

Такой сумматор значительно быстрее последовательного, в котором сложение происходит разряд за разрядом.

Приведём комбинационную схему параллельного сумматора:

Рисунок 90. Параллельный сумматор

На вход сумматора подаются два двоичных числа: А и В.

N – ый сумматор обрабатывает знаковые разряды, остальные (n-1) – числовые.

Сложение идёт на ОДС. Возникающий перенос в младших разрядах учитывается в старших.

Схема приведена для А и В, заданных в дополнительном коде.

Приведённую выше схему можно представить в виде:

Рисунок 91. Структурное обозначение параллельного сумматора

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

Данная комбинационная схема не обладает функцией памяти, поэтому на выходе сумматора зачастую помещают РОН, в котором и запоминается результат сложения.

Рисунок 92. Сумматор с памятью

В схеме выполняется операция А +В = S.

Для выполнения операции (А – В) следует учесть (А – В) = (А + (-В)), т.е. для осуществления вычитания у вычитаемого инвертируется знак.

Встаёт вопрос о возможности сложения ряда чисел, т. как возможно осуществить операцию : А1 +А2 + А3 + … +Аm.

Эту операцию возможно осуществить с помощью накапливающего сумматора.

Для его реализации требуется запоминание более чем одного байта информации, т.е. необходима последовательность триггеров – регистр, состоящий из “n” триггеров типа D для запоминания “n” разрядного слова.

Регистр D – типа.

Информация D Q

T

СИ

С

Рисунок 93. Триггер задержки

Рисунок 94. N – разрядный регистр

Рисунок 95. Накапливающий сумматор

Рг.Акк. – регистр – аккумулятор – накапливающий элемент

Работа Рг.Акк. происходит следующим образом:

  • Регистр обнуляется

  • При подачи А1 в память регистра заносится Рг.Акк. = А1

  • При подачи А2 регистр переопределяет своё значение Рг.Акк = Рг.Акк. + А2 и т.д.

  • При вводе сигнала окончания счётчик подсчитывает число тактов.

Рисунок 96. Счетчик тактов

Через N слагаемых СТ =0 и соответственно Z принимает значение Z = 0, что служит сигналом окончания суммирования.

Универсальный сумматор

Рисунок 97. Универсальный сумматор

МПР (2) – мультиплексор с организацией (2 1) введён, чтобы накапливающий сумматор функционировал, как сумматор с памятью.

Рисунок 98. Структурное обозначение универсального сумматора

Рисунок 99. Четырехразрядный сумматор

9.6. Десятичный сумматор

Обработка десятичных чисел – одна из самых распространенных операций. Десятичный сумматор выполняет операции над десятичными числами, в том числе и со знаком.

Для записи одного десятичного числа требуется 4 разряда.

Требования Рутисхаузера:

  1. Требование единственности.

  2. Требование четности (четное десятичное число соответствует четному двоичному числу).

  3. Требование упорядоченности (десятичной цифре с большим значением соответствует двоичная комбинация с большим весом).

  4. Требование весомозначимости (вес двоичного числа равен весу цифры).

  5. Требование дополнительности (перенос при сложении десятичных цифр проявляется при сложении их двоичных эквивалентов).

Код «8-4-2-1» не удовлетворяет требованию дополнительности, поэтому он используется только для представления. А для арифметических операций используется код «8-4-2-1 +3» - это самодополняющийся код. Этот код образуется при добавлении тройки к любой цифре в «8-4-2-1».

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

{Ak} – Ak в самодополняющемся коде (СДК).

Преобразование в СДК:

{Ak}=Ak+3

SM – четырех разрядный двоичный сумматор.

Обратное преобразование:

- добавляем 13, но перенос не учитываем.

(дополняем число до 16)

Пример: Ak=9, {Ak}=12

12+13-16=9

Рисунок 100. Прямой и обратный преобразователи СДК в ПК

Желательно чтобы:

  1. Ak=5, Bk=6; Ak+Bk=11

{Ak}=8 (1000),

{Bk}=9 (1001);

1000 - 8

+1001 - 9

10001 - 17, а в СДК должно быть 14 (11+3).

  • Если при сложении появился перенос, то нужно к десятичному числу прибавить 3, чтобы получить .

  1. Ak=3, Bk=4; Ak+Bk=7

{Ak}=6 (0110),

{Bk}=7 (0111);

0110 - 6

+0111 - 7

  1. – 13

  • При отсутствии переноса, если из результата вычесть 3, то получим .

Такая коррекция носит название арифметической коррекции. Она обязательно присутствует при сложении десятичных чисел.

Для построения десятичного сумматора используют два четырех разрядных сумматора:

Sk

Рисунок 101. Функциональная схема одноразрядного десятичного сумматора

Состав:

2 четырехразрядных сумматора SM1 и SM2, 2 преобразователя прямого кода в СДК на входе, обратный преобразователь на выходе.

Работа:

В прямом коде подаются десятичные цифры – на выходе прямой код суммы. В SM1 складываются СДК Ak и Bk, из младшего десятичного разряда возможен перенос P4. На выходе SM1 – 5 полей: 4 – представление десятичной цифры; 1 – наличие или отсутствие переноса при сложении СДК.

SM2 осуществляет арифметическую коррекцию: есть перенос +3, нет – -3 (вычесть 3 = прибавить 13).

Если имеют место двухразрядные числа:

A2A1=A

+ B2B1=B

P3S2S1=S

Рисунок 102. Двухразрядный десятичный сумматор

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]