Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.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