способ и устройство суммирования
Классы МПК: | G06F7/502 полусумматоры; полные сумматоры, состоящие из двух каскадных полусумматоров |
Автор(ы): | Власов Александр Михайлович (RU), Власов Борис Михайлович (RU), Краснов Александр Васильевич (RU), Соколов Андрей Олегович (RU) |
Патентообладатель(и): | Власов Александр Михайлович (RU), Власов Борис Михайлович (RU), Краснов Александр Васильевич (RU), Соколов Андрей Олегович (RU) |
Приоритеты: |
подача заявки:
2005-03-02 публикация патента:
10.10.2007 |
Изобретение относится к вычислительной технике и может быть использовано в устройствах суммирования. Техническим результатом является упрощение устройства, расширение его функциональных возможностей, повышение быстродействия. Способ заключается в том, что по первому временному такту принимают код второго слагаемого в триггеры второго слагаемого и сдвигают код первого слагаемого, являющийся сдвинутым на один разряд вправо кодом суммы предыдущей операции суммирования и хранящийся в триггерах первого слагаемого, на один разряд влево, по второму временному такту формируют код суммы с учетом переноса в каждом разряде, по третьему временному такту производят выдачу кода суммы на информационные выходы устройства, сдвигают полученную сумму на один разряд вправо с запоминанием в триггерах первого слагаемого. Устройство содержит элементы И, элементы ИЛИ, элементы НЕ, RS-триггеры, входы управления. 2 н.п. ф-лы, 1 ил.
Формула изобретения
1. Способ суммирования, заключающийся в том, что по первому временному такту принимают код второго слагаемого в триггеры второго слагаемого и сдвигают код первого слагаемого, являющийся сдвинутым на один разряд вправо кодом суммы предыдущей операции суммирования и хранящийся в триггерах первого слагаемого, на один разряд влево, по второму временному такту формируют код суммы с учетом переноса в каждом разряде, по третьему временному такту производят выдачу кода суммы на информационные выходы устройства, сдвигают полученную сумму на один разряд вправо с запоминанием в триггерах первого слагаемого.
2. Устройство суммирования, содержащее в каждом разряде первый и второй RS-триггеры, первый, второй, третий, четвертый, пятый, шестой и седьмой элементы И, первый, второй, третий и четвертый элементы ИЛИ, первый, второй, третий и четвертый элементы НЕ, первый и второй входы управления, при этом единичный выход второго триггера соединен с первым входом первого элемента И, второй вход этого элемента подключен к первому входу управления, выход упомянутого элемента И соединен с первыми входами первого элемента ИЛИ и третьего элемента И, выход первого элемента ИЛИ соединен с первыми входами второго элемента И и четвертого элемента ИЛИ, второй вход второго элемента И связан с входом переноса из младшего разряда, с первым входом четвертого элемента И и со вторым входом четвертого элемента ИЛИ, выходы второго и третьего элементов И связаны с первым и вторым входами второго элемента ИЛИ, выход этого элемента является входом переноса в старший разряд и подключен к входу первого элемента НЕ, второй вход четвертого элемента И соединен с выходом третьего элемента И, выход четвертого элемента И связан с первым входом третьего элемента ИЛИ, второй его вход подключен к выходу первого элемента НЕ, выходы третьего и четвертого элементов ИЛИ соединены с первым и вторым входами пятого элемента И соответственно, выход этого элемента И подключен к первому входу седьмого элемента И и через второй элемент НЕ соединен с первым входом шестого элемента И, вторые входы шестого и седьмого элементов И связаны со вторым входом управления, выходы упомянутых элементов И подключены к входам третьего и четвертого элементов НЕ соответственно, отличающийся тем, что в каждый разряд устройства введены третий, четвертый и пятый входы управления, восьмой, девятый и десятый элементы И и пятый элемент НЕ, вход которого соединен с выходом четвертого элемента НЕ, а выход связан с третьими входами третьего и четвертого элементов ИЛИ, выходы третьего и четвертого элементов НЕ i-го разряда соединены с R и S входами первого триггера i-1-го разряда соответственно, первый вход девятого элемента И i-го разряда соединен с единичным выходом первого триггера i-2-го разряда, второй вход этого элемента И связан с четвертым входом управления, а его выход подключен к четвертому входу четвертого элемента ИЛИ, единичный выход первого триггера в каждом разряде соединен со вторым входом десятого элемента И, первый вход этого элемента связан с пятым входом управления, а его выход соединен с входами третьего элемента И и первого элемента ИЛИ, выход пятого элемента И соединен с первым входом восьмого элемента И, его второй вход связан с третьим входом управления, а выход упомянутого элемента И является информационным выходом i-го разряда устройства, кроме того, выход третьего элемента НЕ соединен с третьим входом пятого элемента И.
Описание изобретения к патенту
Изобретение относится к области вычислительной техники и цифровой автоматики. Известен способ выполнения суммирования операций на основе трех регистров и комбинационного сумматора (далее - объект), построенных на логических элементах И, ИЛИ, НЕ (см. М.А.Карцев. Арифметика цифровых машин. М.: Наука, 1969, стр.147-164 или А.Г.Шигин. Цифровые вычислительные машины. М.: Энергия, 1971, стр.217, рис 9-26). Недостатками известных объектов являются наличие трех RS- триггеров в каждом разряде, выполнение только одной операции сложения, необходимость использования трех временных тактов для сложения двух чисел без учета времени приема второго слагаемого. Наиболее близким, принятым за прототип, является объект, приведенный в книге М.А.Карцева, стр.153, рис 2-9. Указанный объект требует трех RS-триггеров и семнадцати входов логических элементов, при этом выполняется только одна операция сложения двоичных кодов. Предложен способ, заключающийся в последовательном выполнении элементарных операций приема второго слагаемого, формирования потенциалов переноса и суммы в каждом разряде и запоминания результата суммирования кодов в регистре первого слагаемого, отличающийся тем, что одновременно с приемом второго слагаемого выполняют элементарную операцию сдвига на один разряд влево кода первого слагаемого, одновременно с запоминанием суммы в триггерах первого слагаемого выполняют сдвиг кода суммы на один разряд вправо и производят выдачу суммы на информационные выходы, а также устройство суммирования, содержащее в каждом разряде первый и второй RS-триггеры, первый, второй, третий, четвертый, пятый, шестой и седьмой элементы И, первый, второй, третий и четвертый элементы ИЛИ, первый, второй, третий и четвертый элементы НЕ, первый и второй входы управления, при этом единичный выход второго триггера соединен с первым входом первого элемента И, второй вход этого элемента подключен к первому входу управления, выход упомянутого элемента И соединен с первыми входами первого элемента ИЛИ и третьего элемента И, выход первого элемента ИЛИ соединен с первыми входами второго элемента И и четвертого элемента ИЛИ, второй вход второго элемента И связан с выходом переноса из младшего разряда, с первым входом четвертого элемента И и с вторым входом четвертого элемента ИЛИ, выходы второго и третьего элементов И связаны с первым и вторым входами второго элемента ИЛИ, выход этого элемента является входом переноса в старший разряд и подключен к входу первого элемента НЕ, второй вход четвертого элемента И соединен с выходом третьего элемента И, выход четвертого элемента И связан с первым входом третьего элемента ИЛИ, второй его вход подключен к выходу первого элемента НЕ, выходы третьего и четвертого элементов ИЛИ соединены с первым и вторым входами пятого элемента И, выход этого элемента И подключен к первому входу седьмого элемента И и через второй элемент НЕ соединен с первым входом шестого элемента И, вторые входы шестого и седьмого элементов И связаны с вторым входом управления, выходы упомянутых элементов И подключены к входам третьего и четвертого элементов НЕ соответственно, отличающееся тем, что в каждый разряд устройства введены третий, четвертый и пятый входы управления, восьмой, девятый и десятый элементы И и пятый элемент НЕ, вход которого соединен с выходом четвертого элемента НЕ, а выход связан с третьими входами третьего и четвертого элементов ИЛИ, выходы третьего и четвертого элементов НЕ i-того разряда соединены с R и S входами первого триггера i-1-го разряда соответственно, первый вход девятого элемента И i-того разряда соединен с единичным выходом первого триггера i-2-го разряда, второй вход этого элемента И связан с четвертым входом управления, а его выход подключен к четвертому входу четвертого элемента ИЛИ, единичный выход первого триггера в каждом разряде соединен с вторым входом десятого элемента И, первый вход этого элемента связан с пятым входом управления, а его выход соединен с входами третьего элемента И и первого элемента ИЛИ, выход пятого элемента И соединен с первым входом восьмого элемента И, его второй вход связан с третьим входом управления, а выход упомянутого элемента И является информационным выходом i-того разряда устройства, кроме того, выход третьего элемента НЕ соединен с третьим входом пятого элемента И.
Целью предложенного объекта является его упрощение за счет исключения из каждого разряда одного RS-триггера, повышение быстродействия выполнение сложения за счет использования только двух временных тактов для выполнения сложения, выдачи и сдвига и расширение функциональных возможностей за счет выполнения дополнительных операций при минимальных затратах оборудования.
Рассмотрим основные отличительные характеристики объекта и что конкретно они обеспечивают.
1. Предлагаемый способ обеспечивает выполнение по третьему временному такту трех операций: запоминание результата операции в первом триггерном регистре, выдачу кода на информационные выходы и сдвиг этого кода на один разряд вправо. Это обеспечивает повышение быстродействия и расширяет функциональные возможности объекта. Например, обеспечивается 3 варианта выполнения операции выдачи кода (выдача со сложением и сдвигом; выдача без сложения и сдвига кода первого регистра, выдача кода второго регистра, по два варианта выполнения операции сдвига вправо и влево (со сложением, без сложения, с выдачей кода и без выдачи кода).
2. Связи выхода третьего элемента НЕ с входом пятого элемента И и выхода четвертого элемента НЕ через пятый элемент НЕ с входами третьего и четвертого элементов ИЛИ обеспечивают временную задержку сигнала с выхода пятого элемента И, что позволяет исключить из состава оборудования каждого разряда один RS-триггер.
3. Соединение выходов третьего и четвертого элементов НЕ i-того разряда с R и S входом первого триггера i-1-го разряда позволяет совместить во времени выполнение операций сложения и сдвига вправо.
4. Соединение выхода пятого элемента И с входом восьмого элемента И обеспечивает возможность выдачи результата суммирования во время выполнения самой операции.
5. Включение в состав i-того разряда девятого элемента И и управление этим элементом с единичного выхода триггера i-2-го разряда обеспечивает выполнение операции сдвига влево (умножение на 2, 4, 8 и т.д., нормализация кода, последовательная выдача кода из объекта).
6. Включение в состав оборудования каждого разряда десятого элемента И и соединение его входов с пятой шиной управления и единичным выходом триггера обеспечивает отключение триггера от схемы суммирования на время сдвига кода влево.
Для пояснения описываемого объекта на чертеже приведена функциональная схема двух разрядов. На чертеже приняты следующие обозначения: логические элементы И 1-9, 33, логические элементы ИЛИ 10-13, элементы НЕ 14-18, RS-триггеры 19-20, вход управления выдачей кода из триггеров 20-21, вход приема кода в триггеры 19-22, вход выдачи кода из объекта - 23, вход сдвига кода влево - 24, вход формирования переноса - 25, информационный вход i-того разряда - 26, информационный выход i-того разряда - 27, входы установки триггеров 19 в нуль и единицу, соответственно, - 28, 29, выходы триггеров 19 i-2-го разряда 30, 31, вход запрета выдачи кода триггера 19-32.
Предложенный объект осуществляется следующим образом. В исходном состоянии (в статике) триггеры 19 и 20 установлены в нуль. На управляющих входах 21-24, 32, а также на выходах И 5, 8, ИЛИ 11 отсутствуют высокие потенциалы. Единичный выход триггера 20 через И 1 соединен с входами ИЛИ 10, И 3. Единичный выход триггера 19 соединен с входом И 33, второй вход его подключен к входу 32. Единичный выход триггера 19 i-того разряда соединен с входом И 9 i-2-го разряда, второй вход этого элемента связан с входом 24. Выход И 9 соединен с четвертым входом ИЛИ 13. Выход НЕ 18 подключен к третьим входам ИЛИ 12, 13. Выход ИЛИ 11 является входом переноса в старший разряд соединен с НЕ 14 i-того разряда и входами И 2, 4 и с вторым входом ИЛИ 13 старшего разряда. Второй вход И 2 соединен с выходом ИЛИ 10. Выход И 3 соединен с вторым входом ИЛИ 11 и с входом И 4. Выходы НЕ 14, И4 подключены к входом ИЛИ 12, третий вход его связан с входом ИЛИ 13 и с выходом НЕ 18. Выходы ИЛИ 12, 13 соединены с входами И 5, выход которого соединен с входом И 7 и через НЕ 15 с входом И 6. Выходы И 6, 7 соединены с входами НЕ 16, 17. Выходы НЕ 16, 17 i-того разряда связаны с R и S входами триггера 19 i-1-го разряда соответственно. Выход НЕ 16 соединен с входом И5. Выход НЕ 17 соединен с входом НЕ 18. Выход И5 соединен с входом И8, второй вход которого связан с входом управления 23. Выход И8 является информационным выходом выдачи суммы i-того разряда 27. Информационный вход 26 подключен к S-входу триггера 20. Входы 21, 32 соединены с входами И1, 33. Выход И33 соединен с входами ИЛИ 10, И 3. Вход 22 подключен к вторым входам И6, 7.
Рассмотрим работу объекта (в динамике) при выполнении операций сложения, сдвига вправо, сдвига влево и выдачи суммы.
1. Операция сложения. Операция выполняется за три временных такта t1, 2, 3 (под тактами понимается длительность исполнительного импульса (сигнала), поступающего на входы 22, 23). По t1 выполняются элементарные операции (ЭО) приема второго слагаемого в триггеры 20 и сдвиг первого слагаемого, хранящегося в триггерах 19, влево на один разряд. Для выполнения этих ЭО на вход 24 поступает сигнал разрешения выполнения операции сдвига влево и сигнала разрешения приема кода в триггер 20 по входу 26 (элемент И, обеспечивающий прием кода в триггер 20 на чертеже не приводится). Первый исполнительный импульс (t1), поступивший по входу 22, выполнит сдвиг кода триггеров 19 влево на один разряд. Если в триггере 19 i-2-го разряда до прихода импульса хранился код единицы, то высокий потенциал с единичного выхода триггера 19 i-2-го разряда по цепи И9, ИЛИ13, И5 поступит на первый вход И7 i-того разряда. Исполнительный импульс сдвига по цепи вход 22, И7, НЕ 17 в i-том разряде поступит на S-вход триггера 19 i-1-го разряда и установит его в единицу. Если ранее триггер 19 i-2-го разряда хранил код нуля, то исполнительный импульс по цепи И6, НЕ 16 в i-том разряде поступит на R-вход триггера 19 i-1-го разряда и установит его в нуль. При этом в первом случае высокий потенциал, поступающий с выхода НЕ 18 на входы ИЛИ 12, 13, будет поддерживать условие прохождения исполнительного импульса с входа 22 на S-вход триггера 19 на время длительности самого импульса. Во втором случае связь с выхода НЕ 16 с входам И 5 будет обеспечивать условие прохождения исполнительного импульса на R-вход триггера 19 i-1-го разряда. Второй такт (t2) отводится для формирования потенциала переноса с максимальной временной задержкой равной Тпер=2n (здесь n - число разрядов, временная задержка сигнала на одном логическом элементе И (ИЛИ). Для этого на входы 21, 32 подаются высокие потенциалы, которые будут поддерживаться по t2 и t3, т.e. до конца выполнения операции, а с входа 24 снимается высокий потенциал. По истечении t2 на выходе элемента И5 будет сформирована сумма i-того разряда. Третий такт используется для занесения полученной суммы в триггеры 19 с одновременным сдвигом кода вправо на один разряд. Исполнительный импульс по цепи вход 22, И 7, НЕ 17 i-того разряда поступает на S вход триггера 19 i-1-го разряда. Одновременно по t3 может быть выполнена операция выдачи полученной суммы через И 8, информационный выход 27 в другие устройства вычислительной системы. Для этого по t3 на вход 23 поступает исполнительный импульс. Если в i-том разряде на выходе И 5 присутствует высокий потенциал, то на выходе 27 будет также высокий потенциал, соответствующий коду единице. Таким образом, совмещение времени выполнения операций сложения и выдачи кода из сумматора обеспечивают повышение быстродействия работы как минимум на 30%.
2. ЭО сдвига кода влево. Эта операция может выполняться как в составе операции сложения, так и как отдельная самостоятельная операция. С помощью этой ЭО выполняется умножение кода на 2, 4, 8 и т.д. и нормализация кодов, т.е. сдвиг кода числа влево до появления в самом старшем разряде единицы. Операция сдвига кода на один разряд выполняется за два такта t1 и t2. По t1 осуществляется сдвиг кода на один разряд, второй такт (пауза) не используется. Для реализации операции требуется дополнительно пять входов логических элементов (И 9, 33, ИЛИ 13).
3. ЭО сдвига кода вправо. Операция может выполняться как при выполнении операции сложения (умножения), так и самостоятельно. Операция сдвига кода на один разряд выполняется за два такта t1 и t2. Для ее выполнения на вход 32 подается высокий потенциал. По t1 выполняется операция сложения кода, хранящегося в триггерах 19, с вторым слагаемым, равным нулю, т.к. код триггера 20 на комбинационную схему не выдается. Если в i-том разряде триггер 19 хранит единицу, то высокий потенциал по цепи вход 32, И 33, ИЛИ 13, И 5 поступит на вход И 7. Исполнительный импульс по входу 22, И 7, НЕ 17 i-того разряда поступит на S-вход триггера 19 i-1-го разряда. Если до прихода исполнительного импульса в триггере 19 i-того разряда хранился код нуля, то триггер 19 i-1-го разряда после прихода импульса будет установлен в нуль. Для реализации ЭО сдвига кода вправо не требуется дополнительного оборудования.
4. ЭО выдачи суммы. Может выполняться как при выполнении операции сложения (п.1), так и самостоятельно без занесения суммы в триггеры 19. Операция выполняется за один такт. При этом управляющие потенциалы поступают на входы 23, 32, при этом исполнительный импульс по входу 22 не поступает. Наличие ЭО выдачи кода без занесения суммы в триггеры 19, а также выполнение этой ЭО со сдвигом на два разряда влево расширяют функциональные возможности объекта и повышают быстродействие вычислительного процесса.
Таким образом, предложенный способ и устройство для выполнения операций суммирования обеспечивают упрощение объекта за счет исключения одного RS-триггера в каждом разряде, повышение быстродействие выполнения операций сложения (умножения) с трех до двух тактов, т.е. на 30%, и расширяют функциональную гибкость объекта за счет новых вариантов выполнения ЭО выдачи и сдвига кода. Указанные преимущества обеспечиваются при минимальных затратах оборудования. Так, в прототипе для выполнения того же перечня операций требуется 64 входа логических элементов. В предложенном объекте требуется всего 55 входов, т.е., приблизительно на 10% меньше.