Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf

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

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

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

Добавлен: 09.07.2024

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

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

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

Произведение

W P

_99

 

256

'

При умножении двух чисел в ЦВМ действия над знаками и мно­ жителями выполняются раздельно. Знак произведения находится согласно таблице 3-1

00 + 11 = 11 (+ ) X ( - ) =

Знак произведения хранится в знаковых разрядах регистра ре­ зультата.

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

I такт .

00,0000

00,1001 — множитель.

+

00,1011

Умножение на младший разряд множителя.

 

00,1011

I частичное произведение (ЧП).

 

00,01011

Сдвиг вправо на один разряд.

IIтакт . 00,01011

^00,00000 Умножение на вторую цифру множителя.

 

00,01011

II

частичное произведение.

 

00,001011

Сдвиг вправо на один разряд.

III такт ,

00,001011

 

 

+

00,000000

Умножение на третью цифру множителя.

 

00,001011

III

частичное произведение.

 

00,0001011

Сдвиг вправо на один разряд.

IV такт .

00,0001011

 

 

+

00,1011000

Умножение на четвертую цифру множителя.

 

00,1100011

IV

частичное произведение.

 

00,01100011

Сдвиг вправо на один разряд.

 

00,01100011

Произведение мантисс.

С учетом знака

 

 

 

 

=

11,01100011 = -----— .

 

 

пр

256

Пример 11. Найти произведение двух чисел

Множимое

м ; р= о о ,п п = - ! | .

52


Множитель

 

В Д Р = 00, П о д ­

l i

 

 

 

 

16

произведение

 

 

 

195

 

Ш 1пр

 

 

 

 

 

256 '

 

 

 

 

Знак произведения равен согласно табл. 3-1

00

00

00

( ; ) X

( )

I такт . 00,0000

00,1101

— множитель.

+00,1111 Умножение на младшую цифру множителя.

00,1111 I частичное произведение (ЧП).

00,01111 Сдвиг вправо на I разряд.

II

такт

00,001111

Сдвиг вправо. Суммирование не произво­

 

 

 

дится, так как

вторая цифра множителя

 

 

 

равна 0.

 

III

такт

00,001111

Умножение .на третью цифру множителя.

 

 

00,111100

 

 

01,001011

III частичное

произведение.

 

 

00,1001011

Сдвиг вправо на I разряд.

IV такт

00,1001011

Умножение на четвертую цифру множи-

 

 

”'00,1111000

 

 

--------------------

теля

произведение.

 

 

01,1000011

IV частичное

 

 

00,11000011

Сдвиг вправо на I разряд.

 

 

00,11000011

Произведение

мантисс.

 

 

 

 

195

С учетом знака произведения [хг/]“ =00,11000011 = -|----- .

 

 

 

 

256

 

Как видно из примера 11, после передачи множимого в сумматор

до сдвига частичное произведение может превышать единицу (ком­ бинация 01 в знаковых разрядах сумматора).

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

Т ум = (хх + хсяв)п.

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

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

53


в тех случаях, ког^а очередная цифра множителя есть нуль. Если полагать, что разряды множителя не зависят один от другого и в каждом из них с равной вероятностью могут находиться как 1, так и 0, то среднее количество тактов суммирования при умноже­

нии п разрядных чисел оказывается равным — . Применение этого

метода сокращает среднее время выполнения умножения в отно­ шении

 

 

Т-СДВ

 

 

Д

 

 

сдв

Обычно т2

= 2тсдв, поэтому Д = 0,667, т. е. сокращение сред­

него времени умножения составляет 33%.

Для дальнейшего сокращения времени выполнения умножения

в варианте

1

можно в каждом такте анализировать содержимое

не одного,

а двух младших разрядов множителя. В этих разрядах

с равными вероятностями могут встретиться комбинации 00, 01, 10, 11, которые можно выразить следующим образом:

00 = 0; 01 = 2°; 10 = 21; 11 = 22 2°.

В соответствии с этим представлением при выполнении первого шага умножения придется произвести не более одного прибавления или вычитания множимого. При необходимости добавить произве­ дение множимого на 22, т. е. на единицу третьего разряда, эта еди­ ница запоминается специальной схемой (СС). В дальнейшем перед началом каждого следующего шага умножения будет расшифро­ вываться комбинация из цифр, имеющихся в двух очередных раз­ рядах множителя и в схеме СС. Перечень элементарных операций в зависимости от возможных комбинаций трех цифр приведен в таблице 3-2.

Если после просмотра всех разрядов множителя схема СС будет находиться в «1», то к окончательному результату необходимо при­ бавить множимое в прямом коде.

Сокращение среднего времени умножения при попарном про­ смотре цифр разрядов множителя выражается отношением

АО

1—— т ------ >

Т2 + Тсдв

при т2 ^ 2тсдв Дх = 0,583, что соответствует экономии времени на 41,7%.

Пример 12. Найти произведение двух чисел, пользуясь методом просмотра двух очередных цифр множителя.

54


Т а б л и ц а 3-2

Номера

Комбинация

цифр

Порядок выполнения элементарных операций

п. п.

1

«00»

и «0»

СС

Сдвиг вправо на

2 разряда частичного про­

2

«01»

и «0»

СС

изведения (ЧП)

 

 

 

 

 

Прибавление

множимого в

ПК

к частич­

 

 

 

 

ному произведению и сдвиг результата на

3

«10»

и «0»

СС

2 разряда

вправо

 

 

 

 

Прибавление удвоенного

множимого в ПК

 

 

 

 

к ЧП и сдвиг

результата

на

2 разряда

4

«11»

и «0»

СС

вправо

 

 

 

 

 

 

Вычитание множимого

из ЧП,

сдвиг ре­

 

 

 

 

зультата на 2 разряда вправо.

 

5

«00»

и «1»

СС

Установка в «1»

СС

 

2

со

сбросом в

Выполняется

аналогично п.

6

«01»

и «1»

СС

«0» СС

аналогично п.

3

со

сбросом

Выполняется

7

«10»

и «1»

СС

в «0» СС

 

 

 

 

 

 

Выполняется аналогично п. 4

с установки

8

«11»

и «1»

СС

Выполняется

аналогично п.

1

 

 

 

 

в «1» СС

 

 

 

 

 

 

Множимое

 

[х]"

=11,111111 = — — .

1пР

64

Множитель

 

[У]«

=00,111001 = + — .

Произведение

 

 

3591

 

[ ^ ] “р

 

 

4096 '

Знак произведения определяется согласно таблице 3-1

 

11

+ 00 = 11 ( - ) X (+ ) = — .

I такт

00,000000

«01» и «0» СС.

+00,111111 Прибавление множимого в ПК.

00,111111 I частичное произведение.

00,00111111 Сдвиг I ЧП на 2 разряда вправо.

II такт . 00,00111111

«10» и «0» СС.

+01,11111000 Прибавление удвоенного множимого.

10,00110111 II частичное произведение.

55


00,1000110111 Сдвиг II части произведения на 2 раз­ ряда вправо.

III такт

00,1000110111

«11» и «0» СС.

11,0000010000 Дополнительный код множимого.

11,1001000111 III частичное произведение.

11,111001000111 Модифицированный сдвиг на 2 раз­ ряда вправо.

__ 11,111001000111 «1» СС.

1 00,111111000000 Прибавление множимого в ПК-

00,111000000111 Произведение мантисс.

С учетом знака

[хуГ =

11,111000000 = — — .

а ПР

4096

§ 4. ДЕЛЕНИЕ ЧИСЕЛ В ЦВМ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

Деление чисел в ЦВМ сводится к выполнению последовательных вычитаний делителя у первоначально из делимого х, а затем из об­ разующихся в процессе деления частичных остатков zh и сдвига частичных остатков на один разряд влево (10 zt).

Знак частного определяется как сумма по модулю два для зна­ ков делимого и делителя согласно таблице 3-1, а модуль частного— как частное от деления модуля делимого на модуль делителя. По­ этому деление двух чисел с произвольным сочетанием знаков может быть сведено к делению двух положительных чисел, заданных

впрямом коде.

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

В дальнейшем будем считать, что

\ х \ < \ у \ .

(3.1)

При автоматическом выполнении деления делитель у вычитается из делимого х. и определяется знак остатка z ± — ху. При выпол­ нении условия (3.1) остаток zx всегда будет отрицательным, по­ этому первая старшая цифра частного равна 0. В этом случае можно идти двумя различными способами.

По первому способу возвращаемся к делимому х путем прибав­ ления делителя у к остатку zlt то есть х = z1 -'r у. Сдвигаем делимое х на один разряд влево (10 х) и вновь вычитаем делитель у. Если полученный остаток z2 = 10х—у будет положительный, то простав­ ляем в частном 1, сдвигаем частичный остаток z2 на один разряд влево (10 z2) и вновь вычитаем делитель (z3 = 10z2—у) и т. д.

56