Jump to content

Множитель Дадда

(Перенаправлено с дерева Дадда )

Множитель Дадда — это аппаратный двоичный умножитель, изобретенный учёным-компьютерщиком Луиджи Дадда в 1965 году. [1] Он использует набор полных и половинных сумматоров для поэтапного суммирования частичных произведений ( дерево Дадда или сокращение Дадда ), пока не останется два числа. Конструкция аналогична множителю Уоллеса , но другое дерево редукции уменьшает необходимое количество вентилей (для всех размеров операндов, кроме самых маленьких) и делает его немного быстрее (для всех размеров операндов). [2]

Множители Дадды и Уоллеса имеют одинаковые три шага для двухбитовых строк. и длины и соответственно:

  1. Умножьте ( логическое И ) каждый бит , по каждому биту , уступая результаты, сгруппированные по весу в столбцах
  2. Сокращайте количество частичных произведений поэтапно полными и половинными сумматорами, пока у нас не останется не более двух битов каждого веса.
  3. Сложите конечный результат обычным сумматором.

Как и в случае с множителем Уоллеса, продукты умножения на первом этапе имеют разные веса, отражающие величину исходных битовых значений при умножении. Например, произведение битов имеет вес .

В отличие от множителей Уоллеса, которые уменьшают максимально возможное количество на каждом слое, множители Дадды пытаются минимизировать количество используемых вентилей, а также задержку ввода/вывода. Из-за этого множители Дадда имеют менее затратную фазу сокращения, но конечные числа могут быть на несколько бит длиннее, что требует немного больших сумматоров.

Описание

[ редактировать ]
Пример схемы с полным сумматором.

Для достижения более оптимального конечного продукта структура процесса приведения регулируется несколько более сложными правилами, чем в множителях Уоллеса.

Прогресс редукции контролируется последовательностью максимальной высоты. , определяемый:

, и

В результате получается такая последовательность:

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

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

  1. Если столбец не требует сокращения, перейти в столбец
  2. Если добавьте два верхних элемента в полусумматор, поместив результат внизу столбца, а перенос — внизу столбца , затем перейдите к столбцу
  3. В противном случае добавьте три верхних элемента в полный сумматор, поместив результат внизу столбца, а перенос — внизу столбца. , перезапуск на шаге 1

Пример алгоритма

[ редактировать ]
4-слойное дадда-уменьшение матрицы частичного произведения 8x8 с использованием 7 полусумматоров (две точки) и 35 полных сумматоров (три точки). Точки в каждом столбце представляют собой биты одинакового веса. Биты с меньшим весом располагаются крайними справа.

Пример на соседнем изображении иллюстрирует уменьшение множителя 8 × 8, описанное здесь.

Исходное состояние выбран как , наибольшее значение меньше 8.

Этап ,

  • все они меньше или равны шести битам по высоте, поэтому никаких изменений не происходит.
  • , поэтому применяется полусумматор, уменьшающий его до шести бит и добавляющий бит переноса к
  • включая бит переноса из , поэтому мы применяем полный сумматор и полусумматор, чтобы уменьшить его до шести бит
  • включая два бита переноса из , поэтому мы снова применяем полный сумматор и полусумматор, чтобы уменьшить его до шести бит
  • включая два бита переноса из , поэтому мы применяем один полный сумматор и уменьшаем его до шести бит
  • все они меньше или равны шести битам по высоте, включая биты переноса, поэтому никаких изменений не происходит.

Этап ,

  • все они меньше или равны четырем битам по высоте, поэтому никаких изменений не происходит.
  • , поэтому применяется полусумматор, уменьшающий его до четырех бит и добавляющий бит переноса к
  • включая бит переноса из , поэтому мы применяем полный сумматор и полусумматор, чтобы уменьшить его до четырех бит
  • включая предыдущие биты переноса, поэтому мы применяем два полных сумматора, чтобы уменьшить их до четырех битов.
  • включая предыдущие биты переноса, поэтому мы применяем полный сумматор, чтобы уменьшить его до четырех битов.
  • все они меньше или равны четырем битам по высоте, включая биты переноса, поэтому никаких изменений не происходит.

Этап ,

  • все они меньше или равны трем битам по высоте, поэтому никаких изменений не происходит.
  • , поэтому применяется полусумматор, уменьшающий его до трех бит и добавляющий бит переноса к
  • включая предыдущие биты переноса, поэтому мы применяем один полный сумматор, чтобы уменьшить их до трех битов
  • все они меньше или равны трем битам по высоте, включая биты переноса, поэтому никаких изменений не происходит.

Этап ,

  • все они меньше или равны двум битам по высоте, поэтому никаких изменений не происходит.
  • , поэтому применяется полусумматор, уменьшающий его до двух бит и добавляющий бит переноса к
  • включая предыдущие биты переноса, поэтому мы применяем один полный сумматор, чтобы уменьшить их до двух битов.
  • включая бит переноса из , поэтому никаких изменений не происходит

Добавление

На выходе последнего этапа остается 15 столбцов высотой два или меньше, которые можно передать в стандартный сумматор.

См. также

[ редактировать ]
  1. ^ Дадда, Луиджи (май 1965 г.). «Некоторые схемы параллельных умножителей». Высокая частота . 34 (5): 349–356.
    Дадда, Л. (1976). «Некоторые схемы параллельных умножителей». В Шварцландере, Эрл Э. (ред.). Развитие компьютерного дизайна: основные статьи . Книжная компания Хайден. стр. 167–180. ISBN  978-0-8104-5988-5 . OCLC   643640444 .
  2. ^ Таунсенд, Уитни Дж.; Шварцландер-младший, Эрл Э.; Авраам, Джейкоб А. (декабрь 2003 г.). «Сравнение задержек множителей Дадды и Уоллеса» (PDF) . Усовершенствованные алгоритмы обработки сигналов SPIE, архитектуры и реализации XIII . Международное общество . дои : 10.1117/12.507012 .

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b2c83e13d73fdb0ac9b539348467ac3e__1697265660
URL1:https://arc.ask3.ru/arc/aa/b2/3e/b2c83e13d73fdb0ac9b539348467ac3e.html
Заголовок, (Title) документа по адресу, URL1:
Dadda multiplier - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)