Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебное пособие по А и ЛО ВТ.doc
Скачиваний:
123
Добавлен:
24.02.2016
Размер:
4.95 Mб
Скачать

Последовательное и параллельное сложение чисел

Параллельный способ передачи информации является более быстродействующим по сравнению с последовательным, но менее экономичным (требуется вместо одного проводника (и усилителя сигналов) n проводников).

В соответствии со способом приема/передачи информации устройства, обрабатывающие эту информацию, могут быть либо параллельного, либо последовательного действия.

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

Сумматор – устройство, предназначенное для выполнения арифметического сложения чисел в двоичном коде. Простейший случай - это суммирование двух одноразрядных чисел.

Tc(посл)  n t,t-время задержки сигнала переноса на элементе задержки.

В этой схеме на входыxиyпоследовательно подаются попарно разряды слагаемыхxiиyi. На выходеSформируютсяsiразряды суммы. Триггер введен в схему для хранения значения переноса до следующего такта (следующей пары разрядов).

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

старший разряд младший разряд

xn SM S x2 SM S x1 SM S

. . .

yn y2 y1

P P P

Рис. 4. Схема параллельного суммирования.

Тс(пар)  nлэ ,

Очевидно, Tc(посл) ≤ Тс(пар),так как

t (3,6) kлэ ,

где k- коэффициент запаса, обеспечивающий полное окончание всех переходных процессов в сумматоре последовательного действияk [1,2, 1,3].

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

Сложение чисел с плавающей запятой

При сложении чисел складываемые цифры (разряды) должны иметь одинаковый вес. Это требование выполняется, если складываемые числа имеют одинаковые порядки. Пусть имеются два числа с плавающей запятой:

A=mArpA,

B=mBrpB.

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

1. Производится сравнение порядков pA и pB. Для этого из порядка числаAвычитается порядок числаB. Разностьp=pA-pBуказывает, на сколько разрядов требуется сдвинуть вправо мантиссу числа с меньшим порядком. Еслиp=pA-pB>0, тоpA>pB и для выравнивания порядков необходимо сдвинуть вправо мантиссуMB. Еслиp=pA-pB<0, тоpB>pA и для выравнивания порядков необходимо сдвинуть вправо мантиссуMA. Еслиp=pA-pB=0, тоpA=pB и порядки слагаемых выравнивать не требуется.

2. Выполняется сдвиг соответствующей мантиссы до тех пор, пока p≠0.

3. Выполняется сложение мантисс MAиMBпо правилу сложения правильных дробей.

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

Пример: МА=-0,10110 рА=+0111

МВ=-0,11011 рВ=+0101

[MA]доп=1,01010 p= [рА]доп+[-рВ]доп= 0.0111

[MB]доп=1,00101 1.1011

1 0.0010

так как [рАВ]доп>0, то сдвигу подвергается мантисса МВ.

В рассматриваемом примере при каждом сдвиге мантиссы на один разряд из положительной разности порядков производим последовательное вычитание единицы до тех пор, пока в результате не будет получен ноль. При этом выполняется анализ разности порядков на каждом шаге. Если она отлична от нуля, то производится очередной сдвиг соответствующей мантиссы. В случае если разность [рАВ]доп<0, то необходимо либо прибавлять единицу до нуленого результата, либо измненить знак разности на противоположный и, как и выше, выполнять вычитание единицы.

[MB]доп=1,00101 0.0010

[-1]доп= 1,1111

[MB]доп=1,10010 1 0.0001

[MB]доп=1,11001 01 [-1]доп= 1,1111

0.0000

[MB]доп=1,11001 01

[MA]доп=1,01010

11,00011 01 = [МА+В] рА+В=max(рА,pB)=pA=+0.0111

Полученный результат нормализован. После выполнения операции округления получим [МА+В]= 1,00011.