Матричный умножитель
Определение
Матричный умножитель — цифровая схема, осуществляющяя умножение двух чисел c помощью суммирования.
Принцип работы
Вычисление частичных произведений
Матричный умножитель вычисляет частичные произведения по формуле:
Суммирование частичных произведений
На этом этапе происходит сложение всех частичных произведений m. Это происходит так: вначале мы суммируем двоичного каскадного сумматора.
и , саму сумму занесем в , а переносы в (в и будет не более n+1 битов в каждом), затем суммируем числа , , и получаем , . Так суммируется , , для всех i = 2, 3, … , n – 1. В итоге получаем два числа и , которые складываем с помощьюСхемная сложность
Частичные произведения вычисляются за n шагов. Сложение с вычислением переносов включает n - 1 шаг. Последнее сложение можно выполнить за O(log n).
В итоге суммарное время работы:
O(n) + O(n) + O(log n) = O(n)
Есть и более быстрые способы умножения двух чисел, например умножение с помощью дерева Уоллеса, которое работает O(log n).
Литература
- Кормен Т., Лейзерсон Ч., Ривест Р.. Алгоритмы: построение и анализ = Introduction to Algorithms / Пер. с англ. под ред. А. Шеня. — М.: МЦНМО, 2000. — 960 с. — ISBN 5-900916-37-5