stringtranslate.com

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

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

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

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

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

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

Описание

Пример схемы полного сумматора.

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

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

, и

Это дает такую ​​последовательность:

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

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

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

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

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

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

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

Этап ,

Этап ,

Этап ,

Этап ,

Добавление

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

Смотрите также

Ссылки

  1. ^ Дадда, Луиджи (май 1965 г.). «Некоторые схемы параллельных умножителей». Альта Фрекенца . 34 (5): 349–356.
    Dadda, L. (1976). "Некоторые схемы для параллельных умножителей". В Swartzlander, Earl E. (ред.). Computer Design Development: Principal Papers . Hayden Book Company. стр. 167–180. ISBN 978-0-8104-5988-5. OCLC  643640444.
  2. ^ Таунсенд, Уитни Дж.; Шварцлендер, младший, Эрл Э.; Абрахам, Джейкоб А. (декабрь 2003 г.). "Сравнение задержек умножителей Дадда и Уоллеса" (PDF) . SPIE Advanced Signal Processing Algorithms, Architectures, and Implementations XIII . Международное общество . doi :10.1117/12.507012.

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