Реферат: Выполнение операций умножения и деления в ЭВМ

Таблица 3

аi
bi а4 а3 а2 а1
b1 a4 b1 a3 b1 a2 b1 a1 b1
b2 a4 b2 a3 b2 a2 b2 a1 b2
b3 a4 b3 a3 b3 a2 b3 a1 b3
b4 a4 b4 a3 b4 a2 b4 a1 b4
a3 b2 a4 b1 a2 b2 a3 b1 a1 b2 a2 b1 a1 b1
С м С м С м
a3 b3 a4 b2 a2 b3 a1 b3 C1
С м С м С м C2
a4 b4 a3 b4 a4 b3 a2 b4 a1 b4
С м С м С м
C3
П а р а л л е л ь н ы й с у м.
C8 C7 C6 C5 C4

Рисунок 1- Схема устройства для реализации матричного метода

Элементы, составляющие каждый і-й столбец матрицы, просуммируем с помощью обычных трехвходовых двоичных сумматоров. 3начения переносов с этих сумматоров должны быть слагаемыми для (i+1)-гo столбца. Это приведет к тому, что в каждом (i+1)-м столбце появление слагаемых будет происходить с запаздыванием по времени относительно i-гo столбца.

Схема устройства для реализации этого дерева спуска, которое представляет собой одну из разновидностей матричного алгоритма умножения, представлена на рис. 1.

Для одноразрядных сумматоров время образования суммы больше, чем время образования переноса τп , поэтому наибольшее время спуска по дереву данного вида есть Туск = (n-1)(τсмìn ); если только все конъюнкции вида ai bj поступают на дерево спуска одновременно. Это время складывается из спуска по самой длинной вертикали, а затем последовательного распространения переноса через сумматоры нижнего ряда вплоть до самого левого. Рассмотренная структура дерева спуска не единственная Время спуска можно еще уменьшить, преобразовав дерево спуска.


5. Выполнение операции деления в ЭВМ

Операция деления встречается сравнительно редко (Р=0,02), однако, реализация ее по подпрограмме занимает достаточно большое время. Поэтому в большинстве современных ЭВМ деление реализуется специальными операционными блоками.

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

Знак частного при делении определяется сложением по модулю 2 знаковых разрядов делимого и делителя и присваивается частному в конце операции деления.

Частное определяется путем деления модулей исходных чисел. При этом во избежание переполнения разрядной сетки должно соблюдаться условие:

|А|<|В|

где А - делимое, В - делитель. Кроме того: В¹0.

Известны два основных алгоритма выполнения операции деления:

- деление с восстановлением остатков ;

- деление без восстановления остатков.

5.1 Деление чисел с восстановлением остатков

Пусть необходимо разделить А на В. Тогда частное от деления


Yi =А/В = 0,у1 у2 у3 ... уі -1 уі = у1 2-1 2 2-2 3 2-3 ... уі -1 2-і -1і 2 (1.1.)

При любом значении і должно выполняться неравенство:

0 ≤ А - ВYi ≤ В2

т.е. остаток от деления должен быть меньше делителя, умноженного на 2 , или:

0 ≤ (А - ВYi )2і ≤ В, обозначим (А - ВYi ) 2і =Rі и получим:

0 ≤ Rі ≤ В. (1.2)

При делении цифры частного определяются последовательно, начиная со старшего разряда. Допустим, что в результате выполнения і циклов получены старшие і разрядов частного, т.е. приближенное значение частного Yi . В следующем (і+1)-цикле будет получено значение (і+1)-го разряда частного. Исходными данными для этого цикла являются Yi и Rі .

Цифра уі +1 может иметь одно из двух значений:

1 или 0. Если уі +1 =0, то

Yі+ 1 = Yі + уі +1 х 2-( і+1) =Yі ; (1.3.)

Rі+1 =(А-ВYі+ 1 ) х 2і+1 = 2 Rі , (1.4.)

т.е. в частном записывается 0 при условии 0 ≤ Rі+1 =2Ri < В. (1.5.)

Если уі +1 =1, то Yі+ 1 = Yі + 2-( і+1) ; (1.6.)

Rі+1 =(А-Вх Yі+ 1 ) х 2і+1 = (А - В х Yi -B х 2-( і+1) 2( і+1) =2 Rі - В, (1.7.)

К-во Просмотров: 248
Бесплатно скачать Реферат: Выполнение операций умножения и деления в ЭВМ