параллельный асинхронный сумматор
Классы МПК: | G06F7/50 для сложения; для вычитания |
Автор(ы): | Титенко Е.А., Титов В.С., Довгаль В.М. |
Патентообладатель(и): | Курский государственный технический университет |
Приоритеты: |
подача заявки:
1994-03-22 публикация патента:
27.11.1997 |
Изобретение относится к вычислительной технике и может быть использовано в высокоскоростных цифровых устройствах. Параллельный асинхронный сумматор содержит n блоков 61-6n параллельной обработки разрядных срезов, n-1 формирователей 71-7n-1 импульсов, запускающий формирователь 70 импульсов, элемент 8 ИЛИ-НЕ, каждый блок 6 содержит 4 ключа 1 - 4, имеющих выходы с высокоимпедансным состоянием, и арифметический полусумматор 5. Отличительной особенностью параллельного асинхронного сумматора является организация процесса сложения операндов по разрядным срезам. С помощью обратной связи выхода суммы арифметического полусумматора на его вход через один из ключей осуществляется пространственное разделение ситуаций возникновения переносов и их одновременная коррекция в разных позициях параллельного асинхронного сумматора, что существенно повышает его быстродействие. 3 ил.
Рисунок 1, Рисунок 2, Рисунок 3
Формула изобретения
Параллельный асинхронный сумматор, содержащий n блоков параллельной обработки разрядных срезов, n 1 формирователей импульсов и запускающий формирователь импульсов, выходы которых соединены с соответствующими входами элемента ИЛИ НЕ, выход которого является внешним выходом готовности суммы, все блоки параллельной обработки разрядных срезов, кроме первого, содержат первый, второй, третий и четвертый входы и два выхода, первый блок параллельной обработки разрядных срезов содержит первый, второй, третий входы и два выхода, третий и четвертый входы с второго по n-й и второй и третий входы первого блоков параллельной обработки разрядных срезов являются внешними входами для подачи операндов, вторые входы с второго по n-й и первый вход первого блоков параллельной обработки разрядных срезов соединены с внешним входом начала суммирования, который соединен также с входом запускающего формирователя импульсов, сумматор, первый выход i-го блока параллельной обработки разрядных срезов (i 1 n 1) соединен с входом i-го формирователя импульсов и первым входом (i + 1)-го блока параллельной обработки разрядных срезов, первый выход n-го блока параллельной обработки разрядных срезов является внешним выходом переноса, вторые выходы n блоков параллельной обработки разрядных срезов являются внешними выходами суммы, отличающийся тем, что в состав каждого блока параллельной обработки разрядных срезов входит четыре ключа с высокоимпендансными выходами и арифметический полусумматор, выходы первого и второго ключей объединены с первым входом арифметического полусумматора, первый выход которого является первым выходом блока параллельной обработки разрядных срезов, выходы третьего и четвертого ключей объединены и соединены с вторым входом арифметического полусумматора, второй выход которого является вторым выходом блока параллельной обработки разрядных срезов и соединен с первым входом четвертого ключа этого же блока параллельной обработки разрядных срезов, первые входы третьих и вторых ключей являются соответственно четвертыми и третьими входами с второго по n-й и третьим и вторым входами первого блоков параллельной обработки разрядных срезов соответственно, первые входы первых ключей являются первыми входами всех блоков параллельной обработки разрядных срезов, первый вход первого ключа первого блока параллельной обработки разрядных срезов соединен с вторым входом этого же ключа, вторые входы с второго по n-й блоков параллельной обработки разрядных срезов соединены с вторыми входами ключей соответствующих им блоков.Описание изобретения к патенту
Изобретение относится к вычислительной технике и может быть использовано в высокоскоростных цифровых устройствах. Недостаток известных параллельных сумматоров заключается в том, что предельное быстродействие определяется с учетом максимальной, а не реальной длительности распространения сигналов переноса. Повышения быстродействия можно добиться путем учета изменения времени суммирования в зависимости от количества переносов, возникших при сложении операндов. Наиболее близким по техническому решению к предлагаемому является комбинационный сумматор, содержащий n одноразрядных сумматоров специальной конструкции, n + 1 формирователь импульсов, элемент ИЛИ-НЕ и два элемента И. Внешними входами комбинационного сумматора являются входы для подачи операндов A и B, входы Z и C, управляющие началом процесса суммирования, вход OK для сложения чисел в обратном коде. Внешними выходами комбинационного сумматора являются выходы суммы S и выход готовности суммы Y. Каждый одноразрядный сумматор имеет 4 входа и 2 выхода разряд суммы Si и разряд переноса Пi. На его входы, кроме ai, bi, Пi, поступает еще управляющий сигнал Z. Комбинационный сумматор представляет собой параллельный сумматор с последовательными цепями переносов. Повышение быстродействия достигается путем анализа переносов П1 Пn и формирования сигнала готовности суммы Y. С этой целью формирователи импульсов З1 - Зn-1 соединены своими входами и выходами переносов одноразрядных сумматоров, выход переноса соединен со вторым входом первого элемента И, выход которого соединен со входом формирователя импульсов Зn и со входом переноса первого (младшего) одноразрядного сумматора, первый вход первого элемента И соединен с внешним входом OK, формирователь импульсов Зn+1 соединен своим входом с выходом второго элемента И, на входы которого поданы сигналы Z и C, выходы формирователей импульсов соединены со входами элемента ИЛИ-НЕ. Сигнал Y с выхода элемента ИЛИ-НЕ вырабатывается согласно выражению:т. е. сигнал окончания суммирования выдается как только завершена обработка всех переносов и окончательно сформирована сумма. Комбинационный сумматор работает следующим образом. При Z 1, C 1, поступивших одновременно с операндами A и B, формирователем импульсов Зn+1 вырабатывается сигнал Xn+1, который инициирует начало суммирования. В результате сложения операндов на выходе комбинационного сумматора формируется текущая сумма. Если не было переносов, то текущая сумма становится окончательной, о чем сигнализирует "1" на выходе готовности результата Y. При наличии переносов производится последовательная коррекция текущей суммы. На время коррекции формирователь импульсов Зi выдает сигнал Xi на элемент ИЛИ-НЕ, так что на выходе готовности суммы Y формируется сигнал "0". Недостаток комбинационного сумматора заключается в последовательном способе организации цепей переносов и избыточных аппаратурных затратах в виде одноразрядных сумматоров специальной конструкции. Технической задачей изобретения является повышение быстродействия и упрощение схемы комбинационного сумматора за счет параллельного способа организации процесса суммирования по разрядным срезам. Сложение выполняется независимо по n разрядным срезам. Результатом сложения разрядов операндов ai и bi являются текущие значения разрядов суммы si и переноса пi. Если переносы равны нулю, то сформировано окончательное значение суммы. В противном случае осуществляется параллельная коррекция разрядов суммы путем сложения по разрядным срезам текущего значения переноса ni и текущего значения суммы si+1. Коррекция ведется до тех пор, пока переносы п1 пn-1 не станут нулевыми. На фиг. 1 показан пример сложения чисел 10011, 00101. Для сложения чисел в обратном коде в параллельный асинхронный сумматор добавляют необходимые технические средства. На фиг. 2 показана структурная схема параллельного асинхронного сумматора. Параллельный асинхронный сумматор состоит из блоков 6 параллельной обработки разрядных срезов, формирователей 71 7n-1 импульсов, и 70 запускающего формирователя импульсов, элемента 8 ИЛИ-НЕ, каждый блок параллельной обработки разрядных срезов содержит ключи 1 4 и арифметический полусумматор 5, входы 9 и 10 для подачи разрядов операндов, вход 11 управления началом суммирования, выходы 12 суммы, выход 13 переноса, выход 14 готовности суммы. С помощью ключей 1 и 2, управляемых по входу 11, осуществляется мультиплексирование на первый вход арифметического полусумматора 5 разрядов первого операнда или переноса, с помощью ключей 3 и 4, управляемых по входу 11, осуществляется мультиплексирование на второй вход арифметического полусумматора 5 разрядов второго операнда или суммы этого же блока 6 параллельной обработки разрядных срезов. Вторые выходы блоков 6 параллельной обработки разрядных срезов составляют выходы суммы 12, первые выходы блоков 6 параллельной обработки разрядных срезов, за исключением n-го блока, соединены с входами формирователей 71 7n-1 импульсов, выходы которых соединены с входами элементов 8 ИЛИ-НЕ. Вход 11 соединен также с входом запускающего формирователя 70 импульсов, выход которого соединен с входом элемента 8 ИЛИ-НЕ, выход которого является выходом 14 готовности суммы, первый выход n-го блока 6 параллельной обработки разрядных срезов является выходом 13 переноса параллельного асинхронного сумматора. Структурная схема блока 61 параллельной обработки разрядных срезов, иллюстрирующая формирование начального переноса П0, приведена на фиг. 3. Организация обратной связи с выхода (сумма) арифметического полусумматора на его вход через ключ 4 позволяет осуществить пространственное разделение ситуаций возникновения переносов и их одновременную коррекцию в разных позициях параллельного асинхронного сумматора, а не реализовывать последовательную цепь переносов по всей длине операндов, что существенно повышает быстродействие работы параллельного асинхронного сумматора. Параллельный асинхронный сумматор работает следующим образом. К моменту поступления сигнала C 1 на вход 11 на входах 9 и 10 уже должны быть поданы значения операндов. По сигналу C 1 одновременно вырабатывается запускающим формирователем импульсов 70 сигнал X0, инициирующий начало суммирования, и осуществляется мультиплексирование операндов на входы арифметических полусумматоров 5. В результате сложения операндов по разрядным срезам формируется текущая сумма на выходах 12 и значения переносов, которые анализируются элементом 8 ИЛИ-НЕ. Если не было переносов, то текущая сумма становится окончательной, о чем сигнализирует "1" на выходе готовности результата Y. При наличии переносов производится параллельная коррекция текущей суммы путем ее сложения по разрядным срезам с полученными значениями переносов. Мультиплексирование текущей суммы и переносов на входы арифметических полусумматоров 5 осуществляется по сигналу C 0, причем сигнал C 0 выступает в роли начального переноса. На время коррекции возбужденные формирователи импульсов выдают сигналы на элемент 8 ИЛИ-НЕ, так что на выходе 14 готовности суммы формируется сигнал "0".
Класс G06F7/50 для сложения; для вычитания