Jump to content

Сокращение слагаемых

Сокращение слагаемых — это алгоритм быстрого двоичного умножения беззнаковых двоичных целых чисел. Он выполняется в три этапа: получение слагаемых, сокращение слагаемых и суммирование.

Производство слагаемых

[ редактировать ]

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

   1001
  x1010
  -----
   0000
  1001
 0000
1001

Вторая и четвертая строки слагаемых эквивалентны первому слагаемому. Для формирования слагаемых требуется простой логический элемент И для каждого слагаемого. При достаточном количестве логических элементов И время создания слагаемых составит один цикл арифметико-логического устройства .

Сокращение слагаемых

[ редактировать ]

Слагаемые сокращаются с использованием обычного 1-битного полного сумматора , который принимает два 1-битных члена и бит переноса. Он производит сумму и перенос. Полные сумматоры устроены так, что сумма остается в том же столбце слагаемых, но перенос сдвигается влево. В каждом раунде сокращения три бита в одном столбце используются в качестве двух членов и переноса для полного сумматора, образуя один бит суммы для столбца. Это уменьшит количество битов в столбце в 3 раза. Однако столбец вправо сместится на биты переноса, увеличивая биты в столбце на треть от количества строк слагаемых. В худшем случае сокращение составит 2/3 количества строк за раунд сокращения.

Ниже показано, как выполняется первый этап сокращения. Обратите внимание, что все «пустые» позиции слагаемых считаются нулевыми (здесь . используется как индикатор «предполагаемых нулевых значений»). В каждой строке три старших бита представляют собой три входа полного сумматора (два члена и перенос). Сумма помещается в верхний бит столбца. Вынос размещается во второй строке столбца слева. Нижний бит — это одиночная подача в сумматор. Сумма этого сумматора помещается в третью строку столбца. Вынос игнорируется, поскольку он всегда будет равен нулю, но по замыслу он будет помещен в четвертую строку столбца слева. Для дизайна важно учесть, что строки 1, 3, 5,... (считая сверху) заполняются суммами из самого столбца. Строки 2, 4, 6, ... заполняются значениями выноса из столбца справа.

   1011
  x0110
  -----
...0000
..1011.
.1011..
0000...
-------
0111010
000100.
00000..

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

0111010
000100.
00000..
-------
0110010
001000.

Когда имеется только две значащие строки слагаемых, циклы приведения заканчиваются. Базовый полный сумматор обычно требует трех циклов арифметико-логического устройства . Таким образом, каждый цикл сокращения обычно длится 3 цикла.

Суммирование

[ редактировать ]

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

Время расчета

[ редактировать ]

Время расчета для алгоритма сокращения слагаемых составляет: T = 1Δt + r3Δt + FA (где r — количество циклов сокращения, а FA — время быстрого сумматора в конце алгоритма).

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 816dee7214d42a933a8e682f6a019d42__1561836300
URL1:https://arc.ask3.ru/arc/aa/81/42/816dee7214d42a933a8e682f6a019d42.html
Заголовок, (Title) документа по адресу, URL1:
Reduction of summands - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)