Файл: Чеботарев Н.А. Построение схем сложения и вычитания в электронных цифровых машинах [пособие].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.04.2024

Просмотров: 26

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

(3.11)

Сравнивая выражения (2.6), (3.7) и (3.11), видим, что время

сложения в сумматоре с групповым переносом примерно в !- раз

Рис. 29

больше, чем в сумматоре с одновременным переносом, но в к раз меньше, чем в сумматоре с последовательным переносом.

1)..1111

Д3 4

& &

4 В,

m m

 

II П ||

1 * /

Qi

L = 2

Qt-*

i - i

i1

 

 

 

\р«

 

к к Ц

 

 

 

Рис. 30

&S

Г л а в а IV

СЛОЖЕНИЕ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ

ВНОРМАЛЬНОЙ ФОРМЕ

4.1.Общие принципы выполнения операции сложения

Внормальной форме числа представляются в виде мантиссы

ипорядка, а именно:

N = M 2n,

где

М — мантисса чисел; П — порядок числа.

Порядок числа придает определенный вес разрядам мантиссы. Одинаковые разряды мантисс двух чисел с разными порядками имеют разные значения.

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

(выравнять порядки). Принципиально приведение можно осуще­ ствлять к любому порядку как меньшего, так и большего числа. В ЭЦМ числа приводятся к большему порядку. Это обусловлено следующими обстоятельствами. При изменении порядка, для того чтобы число осталось неизменным, необходимо сдвигать мантиссу на столько разрядов, на сколько единиц изменяется порядок. При этом, если порядок уменьшают, то мантиссу сдвигают в сторону старших разрядов (влево), а если — увеличивают, то мантиссу сдвигают в сторону младших разрядов (вправо). Так как в ЭЦМ разрядная сетка ограничена, то сдвиг мантиссы будет сопровож­ даться потерей определенного количества разрядов. При приведе­ нии порядков к меньшему порядку сдвиг мантиссы приведет к по­ тере старших разрядов, что недопустимо. Поэтому выравнивание порядков производят путем увеличения меньшего порядка и сдвига мантиссы вправо. Потеря при этом младших разрядов приводит к незначительной погрешности, равной половине значения младшего разряда разрядной сетки.

51


Проиллюстрируем сложение чисел с разными порядками при-

'мерой.

Пр и м е р : Требуется сложить два числа

А = 0,11011 • 10по; В—0,11001 • Ю100.

Число В меньше числа А, поэтому увеличим порядок числа В до порядка числа А (на две единицы) и сдвинем мантиссу числа В на два разряда вправо. После выравнивания порядков число В будет

В=0,00110Ю110.

Теперь можно выполнять сложение чисел путем сложения ман­ тисс:

, 0,11011 • 10llfl +0,00110Ю110

А + В = 1,00001 • 10110

При использовании нормальной формы представления чисел обычно оперируют с нормализованными числами. У нормализован­ ных двоичных чисел значение мантиссы лежит в диапазоне

0,5<М <1.

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

В рассмотренном выше примере результат получился ненорма­ лизованным, так как мантисса больше единицы. Для нормализации сдвинем мантиссу вправо на один разряд и увеличим на единицу порядок. При сдвиге теряется младший разряд. Произведя округ­ ление, получим

А + В =1,00001 • 101!0= 0 ,10001 •

10»‘.

Рассмотрим еще один пример.

 

П р и м е р : Найти разность чисел

 

А—-0,10011 • 10101 и В =0,11001 •

Ш100.

Выравниваем порядки, для чего сдвигаем мантиссу числа В вправо на один разряд и производим округление:

В =0,01101 • 10«н.

Теперь можно производить вычитание чисел путем вычитания мантисс:

0,10011Ю10‘

0,01101 • 1010> А—В=0,00110 • 10101

S2

Результат получился ненормализованный, гак как мантисса меньше 0,5. Для нормализации сдвигаем мантиссу влево на два разряда и порядок уменьшаем на две единицы:

А—В—0,00110 • Ю‘01^0,1100010011.

Из рассмотренных примеров видно, что операции сложения или вычитания выполняются в три этапа: выравнивание порядков, опе­ рация с мантиссами и нормализация результата.

Операции с.порядками можно выполнять параллельно опера­ циям с мантиссами. Поэтому в арифметическом устройстве целе­ сообразно иметь два блока операций: блок операций с порядками (БОП) и блок операций с мантиссами (БОМ).

4.2. Блок операций с порядками

Прежде чем заниматься построением блока операций с поряд­ ками, рассмотрим, в каком виде порядки, представляются в ЭЦМ.

Форма представления порядков определяется теми действиями, которые выполняются с порядками. При выполнении всех четырех арифметических операций с числами с порядками выполняются только операции сложения и вычитания. Так как эти операции наи­ более просто выполняются при хранении чисел в дополнительном или обратном коде, то целесообразно порядки хранить в запоми­ нающем устройстве в виде одного из этих кодов. Так же просто операции сложения и вычитания выполняются с положительными числами. Поэтому часто порядки в ЭЦМ (машинные порядки) представляют в виде целых положительных чисел. В этом случае для получения машинного порядка к фактическому порядку, име­ ющему р разрядов, прибавляют число .Таким образом,

/7м= /7 ф+2*\

где

Ям-~представление порядка в ЭЦМ (машинный порядок);

Яф—фактический порядок; р — число разрядов, отведенное для представления цифровой

части порядка.

Значение машинных порядков для р 6 приведено в табл. 8. В этом случае фактический порядок может принимать значения от —64 до 63, а машинный от 0 до 127. Положительные порядки представляются в старшем разряде единицей и з остальных раз­ рядах цифровой частью фактического порядка. Отрицательные по­ рядки представляются в старшем разряде нулем и в остальных раз­ рядах дополнением цифровой части фактического порядка.

Рассмотрим пррцесс выравнивания порядков и на основании этого выясним состав блока операций с порядками.

При выравнивании порядков нужно произвести сдвиг мантиссы

53


одного из чисел (меньшего) на определенное количество разрядов. Следовательно, нужно установить, какое число меньшее и на сколь­ ко разрядов нужно сдвигать мантиссу этого числа. Для этого до­ статочно произвести вычитание из порядка первого числа порядка второго числа. Знак разности порядков укажет, какое число мень­ ше, а абсолютная величина разности — на сколько разрядов нужно сдвигать мантиссу.

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

Схема-блока операций с порядками при использовании сумма­ тора накапливающего типа приведена на рис. 31, а при использо­ вании сумматора комбинационного типа — на рис. 32.

Таблица 8

П ф

 

 

 

Пм

 

 

- 6 4

0

0

0

0

0

0

0

— 6 3

0

0

0.

0

0

0

1

— 21

0

1 0

1 0

1 1

- 0 1

0

1

1

1

1

1

1

0

1

0

0

0

0

0

0

01

1

0

0

0

0

0

1

21

1 0

1 0

1 0

1

631 1 1 1 1 1 1

4.3.Блок операций с мантиссами

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

При выравнивании порядков необходимо осуществить сдвиг

54


мантиссы меньшего числа. Поэтому нужно предусмотреть либо возможность осуществления сдвига на регистре, либо наличие

сдвигателя.

Меньшим может оказаться любое число. Поэтому нужно преду­ смотреть возможность подачи любого числа на сдвигатель, для че­ го необходимо иметь переключатель или обеспечить возможность сдвига на сумматоре накапливающего типа.

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

 

 

 

 

 

 

J

 

Odd

 

i

РзСмП

1

 

| РгСмМ

 

 

 

 

 

f

. Ds-jct

 

 

 

 

 

SUj.dfa-PcMtC

 

 

 

 

 

 

......

1

 

 

СмМ

 

 

 

 

 

1

С JLl.

 

 

 

 

1

СмП

 

 

 

 

QlWPpn

 

 

*йачснМ* о c

 

|

 

I

 

...... -I .

 

 

---------

 

 

 

fv

 

Рг/у.^

WdSРгЛ2-Снп\Ж * гг^ Уз'c5-

 

ОвчСмМа

 

 

ОдРгмг

QuPsni

PslfT

I

РеП2

Qopcns

 

 

 

I

 

Qrw

Qnfvni - jikdiA^/7-РД IУ).е& ЧН-РгП^ Qnd

 

I

 

 

 

 

 

 

 

l

чм

Рис. 32

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

ков.

Наличие сдвигателя в составе блока операций с мантиссами позволяет производить сдвиг сразу на требуемое количество раз­

55