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

Матричные методы умножения.

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

Пусть имеем сомножители: Мн = А = аn ... a2 a1

Мт = B = bn ... b2 b1

Рассмотрим схему традиционного (“школьного”) алгоритма умножения (Б).

А = аn ... a2 a1

* B = bn ... b2 b1

anb1 ... a3b, a2b1, a1b1

+anb2 . . . a2b2, a1b2

+ . . .

anbn ... a2bn, a1bn

C = C2n . . . . C2 C1

Рассмотренная схема умножения может быть представлена в виде матрицы.

Таблица 3

an

. . .

a2

a1

b1

an b1

. . .

a2 b1

a1 b1

b2

an b2

. . .

a2 b2

a1 b2

.

.

.

. . .

bn

an bn

. . .

a2 bn

a1 bn

Каждый элемент ai bj ( i, j = 1, n)принимает значение 0 или 1. Произведение A∙B может быть получено, если суммировать элементы матрицы (по диагонали).

+

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

На рис. 10 приведена структурная схема устройства умножения для реализации матричного алгоритма.

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

Машинные методы деления

Деление - простое многократное вычитание вначале из делимого, затем из остатков. Введем обозначения, используемые ниже: Дм - делимое, Дт - делитель, Аi– очередной (i-ый) остаток, Чт – частное. Известны два основных подхода к операции деления:

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

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

Независимо от метода деления после каждого вычитания делителя формируется цифра частного. Операция деления является операцией дающей невсегда точный результат. Поэтому признаком окончания операции деления может быть достижение заданной точности (по числу сдвиговых сигналов). Если при выполнении деления получен нулевойi-ый остаток, то деление прекращается и в в оставшиеся разряды частного записываются нули. Первым шагом деления двух чисел машиной является пробное вычитание, выявляющее соотношение между делимым и делителем. При делении в случае переполнения следует: для чисел с фиксированной запятой процесс остановить, с плавающей запятой продолжить до конца, а потом после получения последней n-ой цифры частного, число сдвигается вправо на один разряд с добавлением единицы к порядку, равному разности порядков делимого и делителя.