Гадюка Брента-Кунга - Brent–Kung adder

В Гадюка Брента-Кунга (BKA или BK), предложенный в 1982 г.,[1] продвинутый двоичный сумматор конструкция, имеющая глубину уровня ворот .

Введение

Гадюка Брента-Кунга - это параллельный префиксный сумматор (PPA) форма сумматор с упреждением (CLA). Предложено Ричард Пирс Брент и Hsiang Te Kung в 1982 году он привнес более высокую регулярность в структуру сумматора и уменьшил перегрузку проводки, что привело к лучшей производительности и меньшей площади кристалла, необходимой для реализации по сравнению с Когге – Стоун гадюка (KSA). Это также намного быстрее, чем сумматоры с волновым переносом (RCA).

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

Сумматор Брента-Кунга - это параллельный сумматор, выполненный по стандартной схеме с целью минимизации площади кристалла и простоты изготовления. Добавление n-битного числа может быть выполнено вовремя с размером чипа по площади Таким образом, он является хорошим сумматором с ограничениями по площади и максимальной производительностью. Его симметрия и регулярная структура сборки эффективно сокращают производственные затраты и позволяют использовать его в конвейерных архитектурах. В параллельных сумматорах критический путь определяется вычислением переноса из младший бит (LSB) сумматор к старший бит (MSB) сумматор, поэтому усилия направлены на сокращение критического пути переноса до MSB.

Схема базовой модели

В общем, большинство сумматоров используют перенос и соответствующие биты двух чисел (A и B) для получения соответствующего бита суммы и переноса, а сумматоры с переносом пульсации принимают время для переноса, чтобы достичь MSB.

  • Учитывая, что А = ап ап-1 … А1 и B = bп бп-1 … Б1 оба являются n-битными двоичными числами.
  • С суммой S = sп + 1 sп … С1 и перенос генерируется на каждом этапе C = cп … C0 будет перенесен на следующие этапы.
Брент кунг adder.jpg
  • Для RCA, c0 = 0, и я генерируемый бит суммы и бит переноса cя = гя ∨ (ая ∧ cя-1) ∨ (bя ∧ cя-1),
    sя = ая ⊕ бя ⊕ cя-1 для я = 1, 2,… n
    sп + 1 = cп
    соответственно.
  • Вышеупомянутый перенос пульсации можно преобразовать в упреждающий перенос (CLA), задав бит переноса. я так как c0 = 0,
    cя = (ая ∧ бя) ∨ (pя ∧ cя-1)
    где
    гя = ая ∧ бя и пя = ая ⊕ бя для i = 1, 2,… n. p и g известны как перенос, распространение и перенос. Это соответствует тому, что перенос cя либо порождаетсяя и бя или произошел от предыдущего переноса cя-1.

Брент и Кунг дополнительно преобразовали генерацию и распространение переноса, определив оператор о так как
1, б1о2, б2) = (а1 ∨ (b1 ∧ а2), б1 ∧ б2).

  • Они также определили функцию (Gя, Пя) = (г1, п1) для i = 1;
    в противном случае (gi, pi) o (Gi-1, Pi-1) для i = 2, 3,… n. Можно вывести, что гя в функции эквивалентно cя. Также п, Пп) можно нерекурсивно записать как = (гп, пп) o (гп-1, пп-1) o… o (г1, п1).

Воспользовавшись ассоциативностью оператора о п, Пп) можно вычислить древовидным способом.

Дизайн белых узлов очевиден, поскольку они просто буферизируют gя's и pя's, а черные узлы выполняют операцию, определенную оператором о, который похож на однобитовый сумматор.

  • Это древовидное распространение переноса уменьшает его критический путь до высоты дерева. Поскольку высота несущего дерева может быть максимум , критический путь параллельного сумматора Брента – Кунга также равен , что лучше, чем у обычного сумматора . Древовидная компоновка также уменьшает площадь микросхемы и избыточную проводку, необходимую в обычных сумматорах на основе CLA.

Финальная стадия обработки

Используя распространение переноса и преобразование генерации для вычисления сложения и переноса, используемое Брентом и Кунгом, производительность сумматора значительно возрастает, а также приводит к увеличению регулярности. Итоговую сумму можно рассчитать следующим образом: si = pi ⊕ ci-1

Сумматор малой мощности

Повышение производительности сумматоров Брента-Кунга объясняется древовидной структурой распространения переноса, что также приводит к снижению энергопотребления, поскольку сигнал переноса теперь должен проходить через меньшее количество каскадов, что приводит к меньшему количеству переключений транзисторов. Кроме того, уменьшение количества проводов и разветвлений также в значительной степени способствует более низкому энергопотреблению, чем сумматоры CLA. Сумматор Брента-Кунга также может использоваться в конвейерной манере, что может дополнительно снизить энергопотребление за счет уменьшения глубины комбинаторной логики и стабилизации сбоев.[1] На графике показан маломощный сумматор Брента – Кунга.[2]

Сравнение с сумматором Когге – Стоуна

Схема 8-битного Когге – Стоун гадюка.
Схема 8-битного сумматора Брента – Кунга. Сумматор Брента – Кунга использует меньше модулей и соединений, чем сумматор Когге – Стоуна.

Преимущества

Из-за этого типа сумматора, требующего меньше модулей для реализации, чем Когге – Стоун гадюка сумматор Брента-Кунга построить намного проще. Он также содержит гораздо меньше соединений с другими модулями, что также способствует его простоте.[3]

Недостатки

Одним из основных недостатков этого сумматора является разветвление. Разветвление может разделить и ослабить ток, проходящий через сумматор.[3]

использованная литература

  1. ^ а б Брент, Ричард Пирс; Кунг, Сян Дэ (март 1982 г.) [июнь 1979 г.]. «Обычный макет для параллельных сумматоров». Транзакции IEEE на компьютерах. Департамент компьютерных наук, Университет Карнеги-Меллон, США. С-31 (3): 260–264. Дои:10.1109 / TC.1982.1675982. ISSN  0018-9340. CMS-CS-79-131.
  2. ^ Александр, Джонатан (2004). «Советы по проектированию VHDL и методы проектирования с низким энергопотреблением». Получено 2018-04-21.
  3. ^ а б Пойнтер, Роби (14 ноября 2012 г.). «Как складывать числа (часть 2)». robey.lag.net. В архиве из оригинала на 2018-04-21. Получено 2018-04-21.

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

внешние ссылки