4-х слойная редукция Уоллеса матрицы частичных произведений 8x8 с использованием 14 полусумматоров (две точки) и 38 полных сумматоров (три точки). Точки в каждом столбце - биты одинакового веса.
Уоллес мультипликатор является аппаратной реализацией двоичного умножителя , цифровая схема , которая умножает два целых числа. Он использует набор полных и половинных сумматоров ( дерево Уоллеса или редукция Уоллеса ) для поэтапного суммирования частичных произведений, пока не останется два числа. Множители Уоллеса уменьшают максимально возможное количество на каждом слое, тогда как множители Дадда стараются минимизировать необходимое количество ворот, откладывая сокращение до верхних уровней. [1]
Множители Уоллеса были изобретены австралийским компьютерным ученым Крисом Уоллесом в 1964 году [2].
Дерево Уоллеса состоит из трех ступеней:
Умножьте каждый бит одного аргумента на каждый бит другого.
Уменьшите количество частичных продуктов до двух с помощью слоев полных и половинных сумматоров .
Сгруппируйте провода по два числа и сложите их обычным сумматором. [3]
По сравнению с наивным добавлением частичных продуктов с помощью обычных сумматоров, преимуществом дерева Уоллеса является его более высокая скорость. У него есть понижающие слои, но каждый слой имеет только задержку распространения. Наивное добавление частичных продуктов потребует времени. Поскольку создание частичных произведений есть и окончательное сложение , общее умножение не намного медленнее, чем сложение. С точки зрения теории сложности алгоритм дерева Уоллеса помещает умножение в класс NC 1 . Обратной стороной дерева Уоллеса по сравнению с наивным добавлением частичных продуктов является гораздо большее количество ворот.
В этих вычислениях учитываются только задержки затвора и не учитываются задержки проводов, которые также могут быть очень значительными.
Дерево Уоллеса также может быть представлено деревом сумматоров 3/2 или 4/2.
Дерево Уоллеса - это вариант длительного умножения . Первый шаг - умножить каждую цифру (каждый бит) одного множителя на каждую цифру другого. Каждый из этих частичных продуктов имеет вес, равный произведению его факторов. Конечный продукт рассчитывается как взвешенная сумма всех этих частичных продуктов.
Первым шагом, как сказано выше, является умножение каждого бита одного числа на каждый бит другого, что выполняется как простой логический элемент и, в результате чего получаются биты; частичное произведение долот на имеет вес
На втором этапе полученные биты сокращаются до двух чисел; это выполняется следующим образом: пока есть три или более проводов с одинаковым весом, добавьте следующий слой: -
Возьмите любые три провода с одинаковым весом и введите их в полный сумматор . Результатом будет выходной провод того же веса и выходной провод с более высоким весом для каждых трех входных проводов.
Если осталось два провода одинакового веса, введите их в полусумматор .
Если остался только один провод, подключите его к следующему слою.
На третьем и последнем этапе два результирующих числа подаются в сумматор, в результате чего получается конечный продукт.
Пример
, умножение на :
Сначала мы умножаем каждый бит на каждый бит:
вес 1 -
вес 2 - ,
вес 4 - , ,
вес 8 - , , ,
вес 16 - , ,
вес 32 - ,
вес 64 -
Редукционный слой 1:
Пропустить единственный провод веса-1, на выходе: 1 провод веса-1
^ Таунсенд, Уитни Дж .; Swartzlander, Earl E .; Авраам, Джейкоб А. (2003). «Сравнение задержек множителей Дадды и Уоллеса» . Расширенные алгоритмы обработки сигналов, архитектуры и реализации XIII . 5205 : 552–560 . DOI : 10.1117 / 12.507012 . ISSN 0277-786X .
^ Уоллес, Кристофер Стюарт (февраль 1964). «Предложение по быстрому множителю». Транзакции IEEE на электронных компьютерах . ИС-13 (1): 14–17.
^ Бохсали, Мунир; Доан, Майкл (2010). «Прямоугольные мультипликаторы дерева Уоллеса» (PDF) . Архивировано из оригинального (PDF) 15 февраля 2010 года.
^ «Введение» . 8x8 Booth Закодированный множитель дерева Уоллеса . Университет Тафтса. 2007. Архивировано 17 июня 2010 года.
^ Weems младший, Чарльз С. (2001) [1995]. «Обсуждение 7 CmpSci 535: Числовые представления» . Амхерст: Массачусетский университет. Архивировано из оригинала на 2011-02-06.
дальнейшее чтение
Савард, Джон Дж. Г. (2018) [2006]. «Продвинутые арифметические методы» . квадиблок . Архивировано 3 июля 2018 года . Проверено 16 июля 2018 .
внешние ссылки
Общая реализация множителя дерева Уоллеса на VHDL .
Категории :
Арифметико-логические схемы
Компьютерная арифметика
Умножение
1964 г.
1964 г. в науке
Скрытые категории:
CS1: длинное значение объема
Статьи с кратким описанием
Краткое описание соответствует Викиданным
Статьи, требующие дополнительных ссылок, от декабря 2009 г.