Когге – Стоун гадюка - Kogge–Stone adder

Пример 4-битного сумматора Когге – Стоуна с нулевым выносом.

В вычисление, то Когге – Стоун гадюка (KSA или же KS) - параллельная префиксная форма нести прогнозирующий сумматор. Другой параллельные префиксные сумматоры (PPA) включают Гадюка Брента-Кунга (BKA),[1] то Гадюка Хана – Карлсона (HCA),[2][3] и самый быстрый из известных вариантов, Линч – Шварцлендер сумматор связующего дерева (STA).[4][5]

В Когге – Стоун гадюка занимает больше места для внедрения, чем сумматор Брента-Кунга, но имеет более низкую разветвление на каждом этапе, что увеличивает производительность типичных узлов процесса CMOS. Однако перегрузка проводки часто является проблемой для сумматоров Когге – Стоуна. Дизайн Линча – Шварцлендера меньше, имеет более низкую разветвление, и не страдает от перегрузки проводки; однако для использования узел процесса должен поддерживать Манчестерская цепочка для переноски реализации. Общая проблема оптимизации параллельных сумматоров префиксов идентична переменному размеру блока, многоуровневому, сумматор задача оптимизации, решение которой найдено в диссертации Томаса Линча 1996 года.[5]

На диаграмме показан пример 4-битного сумматора Когге – Стоуна. Каждая вертикальная ступень производит биты «распространения» и «генерации», как показано. Завершающие биты генерации ( несет ) производятся на последнем этапе (вертикально), и эти биты XOR 'd с начальным распространением после ввода (красные прямоугольники) для получения битов суммы. Например, первый (наименее значимый) бит суммы вычисляется с помощью операции «исключающее ИЛИ» для распространения в крайнем правом красном поле («1») с переносом («0»), получая «1». Второй бит вычисляется путем XOR распространения во втором прямоугольнике справа («0») с C0 («0»), создавая «0».

Концепция сумматора Когге – Стоуна была разработана Питер М. Когге и Гарольд С. Стоун, который опубликовал его в основополагающей статье 1973 года под названием Параллельный алгоритм эффективного решения общего класса рекуррентных уравнений.[6]

Улучшения

Усовершенствования исходной реализации включают увеличение числа оснований системы счисления и разреженности сумматора. В основание сумматора указывает, сколько результатов предыдущего уровня вычислений используется для генерации следующего. В исходной реализации используется основание основания 2, хотя возможно создание основания 4 и выше. Это увеличивает мощность и задержку каждой ступени, но уменьшает количество необходимых ступеней. В так называемом редкая гадюка Когге – Стоуна (СКА) редкость Сумматора указывает, сколько битов переноса генерируется деревом переноса. Создание каждого бита переноса называется разреженным-1, тогда как генерация каждого другого - разреженным-2, а каждый четвертый - разреженным-4. Полученные в результате переносы затем используются в качестве вводов переноса для гораздо более коротких сумматоров переноса пульсаций или какой-либо другой конструкции сумматора, которая генерирует биты окончательной суммы. Увеличение разреженности уменьшает общее количество необходимых вычислений и может уменьшить перегрузку маршрутизации.

Когге – Каменная гадюка разреженности-4. Пример сумматора Когге – Стоуна с разреженностью-4. Элементы, удаленные из-за разреженности, показаны отмеченными прозрачностью.

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

Расширение

Этот пример является перспективным - в 4-битном сумматоре, подобном показанному на вводном изображении этой статьи, есть 5 выходов. Ниже расширение:

S0 = (A0 XOR B0) XOR CinS1 = (A1 XOR B1) XOR ((A0 AND B0) OR ((A0 XOR B0) AND Cin)) S2 = (A2 XOR B2) XOR ((A1 AND B1) OR (( A1 XOR B1) AND (A0 AND B0)) OR ((A1 XOR B1) AND (A0 XOR B0) AND Cin)) S3 = (A3 XOR B3) XOR ((A2 AND B2) OR ((A2 XOR B2) AND (A1 И B1)) ИЛИ ((A2 XOR B2) AND (A1 XOR B1) AND (A0 AND B0)) OR ((A2 XOR B2) AND (A1 XOR B1) AND (A0 XOR B0) AND Cin)) Cout = (A3 AND B3) OR ((A3 XOR B3) AND (A2 AND B2)) OR ((A3 XOR B3) AND (A2 XOR B2) AND (A1 AND B1)) OR ((A3 XOR B3) AND (A2 XOR B2) AND (A1 XOR B1) AND (A0 AND B0)) OR ((A3 XOR B3) AND (A2 XOR B2) AND (A1 XOR B1) AND (A0 XOR B0) AND Cin)

Рекомендации

  1. ^ Брент, Ричард Пирс; Кунг, Сян Дэ (март 1982 г.). «Обычный макет для параллельных сумматоров». Транзакции IEEE на компьютерах. С-31 (3): 260–264. Дои:10.1109 / TC.1982.1675982. ISSN  0018-9340.
  2. ^ Хан, Такдон; Карлсон, Дэвид А .; Левитан, Стивен П. (октябрь 1982 г.). «Разработка СБИС высокоскоростной схемы сложения малой площади». Труды 1981 Международная конференция IEEE по компьютерному дизайну: СБИС в компьютерах и процессорах. IEEE: 418–422. ISBN  0-81860802-1.
  3. ^ Хан, Такдон; Карлсон, Дэвид А. (октябрь 1987 г.). «Быстрые СБИС-сумматоры с эффективностью по площади». Труды 8-го симпозиума по компьютерной арифметике. IEEE: 49–56.
  4. ^ Линч, Томас Уокер; Шварцлендер-младший, Эрл Э. (август 1992 г.). «Остовное дерево переносит сумматор вперед». Транзакции IEEE на компьютерах. 41 (8): 931–939. Дои:10.1109/12.156535.
  5. ^ а б Линч, Томас Уокер (май 1996 г.). "Бинарные сумматоры" (Тезис). Техасский университет. В архиве (PDF) из оригинала на 2018-04-14. Получено 2018-04-14.
  6. ^ Когге, Питер Майкл; Стоун, Гарольд С. (август 1973 г.). «Параллельный алгоритм эффективного решения общего класса рекуррентных уравнений». Транзакции IEEE на компьютерах. С-22 (8): 786–793. Дои:10.1109 / TC.1973.5009159.

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