Матричный умножитель — различия между версиями
(→Схема) |
(→Литература и источники) |
||
Строка 49: | Строка 49: | ||
Есть и более быстрые способы умножения двух чисел, например умножение с помощью [[дерево Уоллеса|дерева Уоллеса]], которое работает <tex>O(\log n)</tex>. | Есть и более быстрые способы умножения двух чисел, например умножение с помощью [[дерево Уоллеса|дерева Уоллеса]], которое работает <tex>O(\log n)</tex>. | ||
− | == | + | == Источники информации == |
* [http://bookfi.net/book/556972 Е. Угрюмов "Цифровая схемотехника" 2001г.] | * [http://bookfi.net/book/556972 Е. Угрюмов "Цифровая схемотехника" 2001г.] | ||
Строка 63: | Строка 63: | ||
[[Категория: Схемы из функциональных элементов ]] | [[Категория: Схемы из функциональных элементов ]] | ||
+ | |||
+ | |||
+ | == Смотри так же == | ||
+ | *[http://neerc.ifmo.ru/wiki/index.php?title=%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%A3%D0%BE%D0%BB%D0%BB%D0%B5%D1%81%D0%B0 Дерево Уоллеса] |
Версия 22:54, 18 января 2016
Содержание
Назначение
Матричный умножитель предназначен для арифметического умножения двух двоичных чисел произвольной разрядности.
Принцип работы
Умножение в бинарной системе
Умножение в бинарной системе счисления происходит точно так же, как в десятичной - по схеме "умножения столбиком". Если множимое -
разрядное, а множитель - разрядный, то для формирования произведения требуется вычислить частичных произведений и сложить их между собой.Вычисление частичных произведений
В бинарной системе для вычисления частичного произведения можно воспользоваться логическими элементами "AND" - конъюнкторами. Каждое частичное произведение (
) - это результат выполнения логических операции "AND" ( между текущим разрядом множителя и всеми разрядами множимого) и сдвига результата логической операции влево на число разрядов, соответствующее весу текущего разряда множителя. Матричный умножитель вычисляет частичные произведения по формуле:
Суммирование частичных произведений
На этом этапе происходит сложение всех частичных произведений
.Схема
Принципиальная схема умножителя, реализующая алгоритм двоичного умножения в столбик для двух четырёх-разрядных чисел приведена на рисунке. Формирование частичных произведений осуществляется посредством логических элементов "AND". Полные одноразрядные сумматоры обеспечивают формирование разрядов результата. Разрядность результата -
определяется разрядностью множителя- и множимого- :.
Все конъюнкторы работают параллельно.
Полные одноразрядные сумматоры обеспечивают поразрядное сложение результатов конъюнкций и переносов из предыдущих разрядов сумматора.
В приведенной схеме использованы четырех разрядные сумматоры с последовательным переносом.
Время выполнения операции умножения определяется временем распространения переносов до выходного разряда .
"Матричный умножитель"
Если внимательно посмотреть на схему умножителя, то можно увидеть, что она образует матрицу, сформированную проводниками, по которым передаются разряды числа
и числа . В точках пересечения этих проводников находятся логические элементы “И”. Именно по этой причине умножители, реализованные по данной схеме, получили название матричных умножителей.Схемная сложность
Частичные произведения вычисляются за
шагов. Сложение с вычислением переносов включает шаг. Последнее сложение можно выполнить за .В итоге суммарное время работы:
Время работы схемы можно сократить, если сумматоры располагать не последовательно друг за другом, как это предполагается алгоритмом, приведенным на первом рисунке (общая схема), а суммировать частичные произведения попарно, затем суммировать пары частичных произведений и т.д. В этом случае время выполнения операции умножения значительно сократится.
Особенно заметен выигрыш в быстродействии при построении многоразрядных умножителей, однако ничего не бывает бесплатно. В обмен на быстродействие придётся заплатить увеличением разрядности сумматоров, а значит сложностью схемы.
Есть и более быстрые способы умножения двух чисел, например умножение с помощью дерева Уоллеса, которое работает .
Источники информации
- Кормен Т., Лейзерсон Ч., Ривест Р.. Алгоритмы: построение и анализ = Introduction to Algorithms / Пер. с англ. под ред. А. Шеня. — М.: МЦНМО, 2000. — 960 с. — ISBN 5-900916-37-5