СУММАТОР-ВЫЧИТАТЕЛЬ СТАРШИМИ РАЗРЯДАМИ ВПЕРЕД НА НЕЙРОНАХ Российский патент 2003 года по МПК G06F7/50 

Описание патента на изобретение RU2205444C1

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

Известна "Схема цифрового сумматора" (патент 99109089/09 от 04.07.1997 г. Бюл. 7 (1 ч.) 2001 г.) [8], позволяющая выполнять операцию сложения чисел в двоичной системе счисления.

Известно также "Устройство для сложения" (патент 4892584/24 от 19.12.1990 г. Бюл. 25 1995 г.) [7], позволяющее складывать двоичные числа.

В качестве прототипа выбрано "Устройство для вычисления модуля М-мерного вектора" (95104370/09 от 01.03.1995 г. Бюл 15 1997 г.) [6], которое выполняет операции суммирования и вычитания над М-мерными векторами.

Задача заключалась в следующем:
1) уменьшить аппаратные затраты устройства,
2) упростить алгоритм блока управления,
3) повысить скорость операции суммирования-вычитания чисел в прямых кодах,
4) повысить надежность работы сумматора-вычитателя.

В представленном сумматоре-вычитателе происходит сложение или вычитание двоичных чисел. Предлагаемый сумматор-вычитатель позволит значительно снизить аппаратные средства, что ведет к упрощению комбинационной схемы, а также значительно упростит алгоритм работы устройства.

Решение задачи осуществляется тем, что сумматор-вычитатель старшими разрядами вперед на нейронах, содержащий блок сумматоров-вычитателей, блок управления, отличающиеся тем, что дополнительно введены: блок ввода чисел, блок компарации, блок регистров большего числа, блок регистров меньшего числа, блок определения переноса, заема, блок регистров результата причем первый и второй информационные выходы блока ввода чисел соединены соответственно с первым и вторым информационными входами блока компарации, третий управляющий вход блока управления соединен с третьим управляющим выходом блока компарации, первый информационный выход которого соединен с первым информационным входом блока регистров большего числа, первый управляющий вход которого соединен с первым управляющим выходом блока компарации, второй информационный выход которого соединен с первым информационным входом блока регистров меньшего числа, первый управляющий вход которого соединен со вторым управляющим выходом блока компарации, четвертый управляющий выход которого соединен с первым управляющим входом блока регистров результата, второй управляющий вход которого соединен с управляющим выходом блока ввода чисел, и с первым управляющим входом блока суммирования-вычитания, и с управляющим входом блока определения переноса, заема, управляющий выход которого соединен с третьим управляющим входом блока суммирования-вычитания, второй управляющий вход которого соединен с управляющим выходом блока регистров большего числа, второй информационный вход которого соединен с третьим информационным выходом блока управления, четвертый управляющий выход которого соединен со вторым управляющим входом блока регистров большего числа, информационный выход которого соединен с первым информационным входом блока определения переноса, заема, второй информационный вход которого соединен с информационным выходом блока регистров меньшего числа, управляющий выход которого соединен с четвертым управляющим входом блока суммирования-вычитания, пятый управляющий вход которого соединен со вторым управляющим выходом блока управления, первый информационный выход которого соединен с информационным входом блока регистров результата, четвертый управляющий вход которого соединен с первым управляющим выходом блока управления, второй информационный выход которого соединен со вторым информационным входом блока регистров меньшего числа, второй управляющий вход которого соединен с третьим управляющим выходом блока управления, управляющий выход блока суммирования-вычитания соединен с третьим управляющим входом блока регистров результата, первый и второй управляющие входы "СБРОС" и "ПУСК" блока управления являются внешними входами сумматора-вычитателя.

БВЧ - блок ввода чисел служит для ввода операндов и знака операции (+ или -).

БК - блок компарации служит для сравнения чисел А и В, если необходимо выполнить операцию вычитания.

БСВ - блок суммирования-вычитания служит для выполнения операций сложения или вычитания.

БРгБЧ - блок регистров большего числа служит для хранения первого числа в случае выполнения операции сложения или для хранения большего по модулю числа в случае выполнения операции вычитания.

БОПЗ - блок определения переноса, заема - служит для обнаружения переноса из младших разрядов в старшие при суммировании или для формирования заема из старших разрядов в младшие в случае вычитания чисел.

БРгМЧ - блок регистров меньшего числа служит для хранения второго числа в случае выполнения операции сложения или для хранения меньшего по модулю числа в случае выполнения операции вычитания.

БРгР - блок регистров результата служит для хранения суммы при сложении или разности при вычитании чисел, а также знака результата.

БУ - блок служит для управления устройством.

В современных ЭВМ операция вычитания выполняется с применением дополнительного или обратного кода (Д-код). Если было введено отрицательное число, то происходит перевод этого числа в Д-код. Признаком отрицательного числа является единица в знаковом разряде двоичного представления операнда, например 1.110110. В этом случае осуществляется перевод отрицательного числа в дополнительный или обратный код. Полученный результат также анализируется. Если получен отрицательный результат, то осуществляется перевод в Д-код. Если получен положительный результат, то перевода в Д-код не происходит. По этому алгоритму результат можно получить только после анализа знакового разряда результата. В случае ввода двух отрицательных чисел, то необходимо перевести оба числа в Д-код. Результат в этом случае также переводится в Д-код.

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

Для получения суммы двух чисел возможны два случая:
1) слагаемые имеют одинаковые знаки;
2) слагаемые имеют разные знаки.

Алгоритм получения суммы двух чисел с одинаковыми знаками определяется следующим образом:
Алгоритм первый:
1) сложить два числа;
2) сумме присвоить знак одного из слагаемых.

Алгоритм получения суммы двух чисел с разными знаками определяется следующим образом:
1) сравниваются знаки слагаемых и, если они одинаковы, то выполняется сложение по первому алгоритму;
2) если знаки слагаемых разные, то сравниваются числа по абсолютной величине;
3) если есть необходимость, переставить числа местами, чтобы вычитать из большего меньшее;
4) произвести вычитание двух чисел;
5) результату присвоить знак большего слагаемого.

Этот алгоритм позволяет получить сумму-разность чисел в прямых кодах старшими разрядами вперед. После получения чисел из блока ввода операндов и перевода их в двоичную систему счисления необходимо определить, одинаковые ли знаки чисел. Определяется это с помощью операции сумматора по модулю два. Если знаки одинаковые, то результат будет нуль. В противном случае результат будет единица. После этого выбирается операция сложения или вычитания [3-5].

На фиг.1 изображена структурная схема сумматора-вычитателя.

На фиг.2 представлен вариант технической реализации блока ввода чисел.

На фиг.3 представлен вариант технической реализации блока компарации.

На фиг.4 показана функциональная схема блока суммирования-вычитания.

На фиг.5 изображена функциональная схема блока регистров большего числа.

На фиг. 6 представлен вариант технической реализации блока определения переноса, заема.

На фиг.7 изображена функциональная схема блока регистров меньшего числа.

На фиг. 8 представлен вариант технической реализации блока регистров результата.

На фиг.9 - содержательная ГСА работы устройства.

На фиг.10 - размеченная ГСА работы устройства.

Сумматор-вычитатель (фиг.1) содержит: блок ввода чисел, блок компарации, блок суммирования-вычитания, блок регистров большего числа, блок определения переноса или заема, блок регистров меньшего числа, блок регистров результата, блок управления, мажоритарные элементы, пороговые элементы, нейроны.

Для описания алгоритма работы блока 8 управления используются следующие идентификаторы.

1. ПЧ - первое число.

2. ВЧ - второе число.

3. ДБЧ - данные большего числа.

4. ДМЧ - данные меньшего числа.

5. РВ - сигнал равенства чисел, поступивший с выхода компаратора.

6. БЛ - сигнал больше, поступившей с выхода блока компаратора.

7. МН - сигнал меньше, поступившей с выхода блока компаратора.

8. Зн.Р - знаковый разряд результата.

9. СВ - сигнал суммы-вычитания.

10. РЕЗ - двоичные разряды результата.

11. УП - информационный сигнал управления, включающий в себя сигналы: обнуления, синхронизации, разрешения записи, хранения, выдачи.

12. СД - сигнал сдвига влево на один разряд информации в блоке регистров результата.

13. СЗП - сигнал запрета работы блока суммирования-вычитания.

14. ЧМ - двоичные разряды меньшего числа по абсолютной величине, поступающие из блока регистров меньшего числа.

15. ЧБ - двоичные разряды большего числа по абсолютной величине, поступающие из блока регистров большего числа.

16. ПЗ - сигнал переноса в старшие разряды или заема из старших разрядов двоичных чисел.

17. ВБЧ - выходная двоичная информация большего числа.

18. ВМЧ - выходная двоичная информация меньшего числа.

19. СУП - информационный сигнал управления работой блока регистров меньшего числа.

20. УП - информационный сигнал управления работой блока регистров большего числа.

21. СДВ - сигнал сдвига информации блока регистров меньшего числа влево на один разряд.

22. ССД - сигнал сдвига информации блока регистров большего числа влево на один разряд.

23. Знр.А - знаковый разряд первого числа.

24. Знр.В - знаковый разряд второго числа.

25. ППР - признак получения результата.

26. i - текущий номер разряда результата.

27. СБРОС - сигнал сброса (обнуления) всех комбинационных блоков сумматора-вычитателя.

28. ПУСК - сигнал начало работы сумматора-вычитателя.

Работа алгоритма управления устройства.

Содержательная ГСА управления приведена на фиг.9 и отражает работу блока управления (фиг.1).

По сигналам "УOO" и "ПУСК" (блоки 2, 4 - граф-схемы алгоритма) (фиг.1) происходит установка в нуль всех элементов памяти устройства, по команде "СБРОС:=1" (блок 3).

В блоке 5 алгоритма с помощью шифратора (клавиатуры) ШР (фиг.2) осуществляется загрузка в сумматор-вычитатель чисел со своими знаками.

В блоке 6 алгоритма по командам: БКО:=А2, БКО:=В2 происходит подача на вход блока компарации чисел А и В в двоичной системе счисления (фиг.3). По операции суммы по модулю два определяется признак операции СВ - сумма или разность. По команде СВ:=Знр.А+Знр.В. Если СВ=0, то это означает выполнение суммы чисел. Если СВ=1, то это выполнение операции разности между числами.

В блоке 7 алгоритма на вход компаратора КОМ подаются числа А и В в двоичной системе счисления (фиг.3). По командам: КОМ:=А, КОМ:=В. По команде БРгР:=ЗнР в блок регистров результата БРгР подается знак результата (фиг.8).

В блоке 8 алгоритма анализируется выход из компаратора. Отношения между числами могут быть: БЛ больше, когда А>В, МН меньше, когда А<В или числа равны РВ. Если числа не равны - выход НЕТ, то осуществляется переход на блок 12 алгоритма. Если числа равны - выход ДА, то происходит переход на блок 9 алгоритма.

В блоке 9 алгоритма анализируется знак (+ или -) результата Зн.Р. Если знак равен единице, то это означает разность двух равных по модулю чисел. Результат в этом случае равен нулю. Если знак результата равен нулю, то это означает сумму двух равных по модулю чисел, знак результата будет равен знаку одного из слагаемых.

В блоке 10 алгоритма в блоке регистров результата БРгР в регистр результата записывается нулевое значение по команде БРгР:=0 (фиг.8).

В блоке 11 алгоритма по командам: БРгБЧ:=В, БРгМЧ:=В осуществляется загрузка в регистры блоков большего числа БРгБЧ и меньшего числа БРгМЧ (фиг.1, 5, 7) числа В. Это означает, что на вход компаратора поступили равные по модулю числа и с равными знаками. Происходит сложение по модулю чисел.

В блоке 12 алгоритма происходит анализ выходного сигнала компаратора КОМ на отношение больше или меньше (фиг.3), числа в этом случае не равны. Если число А больше числа В, то сигнал БЛ равен единице - выход ДА. Если число А меньше В, то сигнал БЛ равен нулю, в этом случае сигнал МН равен единице - выход НЕТ. В этом случае осуществляется переход на блок 14 алгоритма.

В блоке 13 алгоритма по команде БРгБЧ:=А осуществляется загрузка большего числа А в регистр блока регистров большего числа (фиг.5). По команде БРгМЧ: = В число, меньшее по модулю В, загружается в регистр блока регистров меньшего числа БРгМЧ (фиг.7).

В блоке 14 алгоритма по команде БРгБЧ:=В осуществляется загрузка большего по модулю числа В в регистр блока регистров большего числа (фиг.5). По команде БРгМЧ: = А число, меньшее по модулю А, загружается в регистр блока регистров меньшего числа БРгМЧ (фиг.7).

В блоке 15 алгоритма анализируется признак операции СВ - сумма или разность (фиг. 2). Если признак СВ равен нулю. то это означает, что числа А и В имеют одинаковые знаки. В этом случае будет выполнена операция сложение между слагаемыми. Если признак СВ равен единице, то знаки чисел разные, в этом случае будет выполнена операция вычитание из большего по модулю числа меньшего. При этом осуществляется переход на блок 19 алгоритма.

В блоке 16 алгоритма по командам: БОПЗ:=ВБЧ, БОПЗ:=ВМЧ в блок определения переноса, заема БОПЗ поступают числа из блоков регистров большего БРгБЧ и меньшего числа БРгМЧ (фиг.6) для определения переноса из младших разрядов в старшие при сложении или для определения заема из старших разрядов в младшие при вычитании. По команде СЗП:=1 происходит отпирание электронного ключа блока суммирования вычитания для передачи переноса ПР из старших разрядов чисел А и В в блок регистров результата БРгР (фиг.4).

В блоке 17 алгоритма по команде БРгР:=ПР в блок регистров результата записывается полученный перенос ПР из старших разрядов чисел.

В блоке 18 алгоритма по команде СЗП:=0 происходит запирание электронного ключа по передаче переноса ПР из старших разрядов, подачей на управляющий вход нулевого значения.

В блоке 19 алгоритма по командам: БОПЗ:=not(ВБЧ), БОПЗ:=ВМЧ происходит подача в блок определения переноса, заема БОПЗ инверсных значений большего по модулю числа not(ВБЧ) из блока регистров большего числа БРгБЧ и прямых значений меньшего числа ВМЧ из блока регистров меньшего числа БРгМЧ (фиг.1, 6) для осуществления операции вычитания между числами.

В блоке 20 алгоритма по командам: БСВ:=ЧБ, БСВ:=ЧМ, БСВ:=ПЗ осуществляется подача очередных разрядов большего числа - ЧБ, меньшего числа - ЧМ, а также переноса, заема - ПЗ для сложения-вычитания операндов на вход блока суммирования-вычитания БСВ (фиг.4).

В блоке 21 счетчик количества разрядов результата устанавливается в нулевое состояние i:=0.

В блоке 22 алгоритма анализируется признак получения разрядов результата ППР. Если все разряды суммы или разности получены - выход ДА, то осуществляется переход на 27 блок алгоритма. Если не все разряды получены - выход НЕТ, то формируется цикл для получения очередных разрядов результата.

Блоки 23-26 алгоритма образуют цикл получения всех разрядов результата. Целая часть получается всегда. Дробная часть формируется по мере задания точности результата - количества разрядов после запятой. Точность результата задается пользователем.

В блоке 23 алгоритма по команде БРгР:=РЕЗ происходит запись очередного разряда результата в блок регистров результата БРгР (фиг.8).

В блоке 24 алгоритма по командам: БРгБЧ:=ССД, БРгМЧ:=СДВ из блока управления БУ подаются сигналы сдвига влево ССД и СДВ на входы регистров блоков большего числа и меньшего числа (фиг.1, 5, 7). Подача осуществляется для сдвига информации регистров на один разряд влево для получения следующего разряда результата.

В блоке 25 алгоритма по команде БРгР:=СД подается сигнал сдвига влево информации на один разряд - СД, на вход регистра результата блока регистров результата БРгР из блока управления БУ (фиг.1, 8). Сигнал подается для записи очередного полученного разряда результата.

В блоке 26 алгоритма счетчик i увеличивается на единицу i:=i+1. При выходе из блока 26 осуществляется переход на блок 22 алгоритма, где вновь происходит проверка признака - ППР получения всех разрядов результата.

В блоке 27 алгоритма по команде ТрЗ:=ЗнР осуществляется запись знакового разряда результата в триггер ТрЗ блока регистров результата БРгР. По команде БРгР: = РЕЗ происходит запись окончательного результата РЕЗ в блок регистров результата БРгР (фиг.8).

Блок 28 алгоритма является конечным блоком алгоритма.

Работа сумматора-вычитателя старшими разрядами вперед на нейронах заключается в следующем.

Внешние управляющие сигналы "Пуск" и "Сброс" поступают в блок 8 управления.

С выхода шифратора поступают в регистры большего числа и меньшего числа двоичные числа А2 и В2. На сумматоре по модулю два определяется знак результата. Если числа имеют одинаковые знаки, то вычисляется сумма чисел. Знак результату присваивается знак любого из слагаемых. Если знаки чисел разные, то проводится операция вычитания. Из большего по модулю числа вычитается меньшее. Знак результату в этом случае присваивается знак большего по модулю числа. Предлагаемое арифметическое устройство выполняет операции суммирования и вычитания старшими разрядами вперед. Определяется перенос в старшие разряды при суммировании, который необходимо учитывать при сложении чисел. Вычисляется заем из старших разрядов в младшие при вычитании.

Блок 1 ввода чисел содержит шифратор (обычная стандартная клавиатура) ШФ DD.9, сумматор по модулю два DD.10 (фиг.2). Этот блок позволяет вводить двоичные числа. С выхода шифратора формируется двоичный код чисел со своими знаками: А2, В2, ЗнР А, ЗнР В. Знаковые разряды с выхода шифратора поступают на вход сумматора по модулю два. Сигнал СВ суммирования-вычитания формируется на выходе элемента DD.10. Сумматор по модулю два реализуется на формальном нейроне ФН [1]. Выходной сигнал вычисляется по формуле

Если СВ равен единице, то необходимо выполнять операцию вычитанияе, если СВ равен нулю, то осуществляется операция сложения. Выходными сигналами блока 1 ввода чисел являются двоичные коды А2 и В2, представленные в прямых кодах, и признак операции СВ.

Блок 2 компарации содержит компаратор КОМ DD.11, схему электронных ключей (конъюнкция) DD.12, схему электронных ключей (конъюнкция) с инверсным входом DD. 13, схему электронных ключей (конъюнкция) с инверсным входом DD. 14, схему электронных ключей (конъюнкция) DD.15, логический элемент (схема ИЛИ) DD. 16, логический элемент DD.17 (фиг.3). Этот блок предназначен для определения большего числа по модулю. Если на вход сумматора-вычитателя поступят числа с разными знаками, то в этом случае необходимо в блок регистров большего числа записать больший по модулю операнд. В блок регистров меньшего числа загружается число меньшее по модулю. Компаратор КОМ DD.11 представляет собой схему сравнения чисел. Эта схема может быть выполнена на формальном нейроне ФН [1] . На вход компаратора КОМ поступают n-разрядные числа А и В без знаковых разрядов. На выходе компаратора имеется три выхода: БЛ - число А больше В, РВ - числа А и В равны по модулю, МН - число А меньше В. Логические схемы И DD.12, DD.13, DD.14, DD. 15 выполнены на формальных нейронах ФН [1]. Схема конъюнкция описывается с помощью формулы [w1=1, w2=1, . . ., wn=1; T=n-1], где w1, w2,..., wn - коэффициенты усиления, а Т - пороговое напряжение, n - количество входов. Схема дизъюнкция описывается с помощью формулы [w1=1, w2=1,..., wn=1; T=0], где w1, w2,..., wn - коэффициенты усиления, а Т, равное нулю, - пороговое напряжение, n -количество входов. Инвертор описывается формулой [w=-1; T=-1]. На входы логических схем И DD. 12, DD.15 поступает число А со своим знаком. На входы логических схем И DD. 13, DD.14 поступает число В со своим знаком. Выходы логических схем И DD.12, DD.13 поступают на вход логической схемы ИЛИ DD.16. Выходы логических схем И DD. 14, DD.15 поступают на вход логической схемы ИЛИ DD.17 (фиг.3). Выходная информация ДБЧ логической схемы ИЛИ DD.16 поступает на вход блока регистров большего числа (фиг.1). Выходная информация ДМЧ логической схемы ИЛИ DD.17 поступает на вход блока регистров меньшего числа (фиг.1). При поступлении чисел А и В на вход компаратора на выходе компаратора КОМ формируется отношение операндов. Если на выходе БЛ будет единица, то это означает, что число А больше В по модулю. Остальные выходы компаратора будут равны нулевому значению. Единичный выход БЛ откроет схему И DD.12 через которую число А поступит вход схемы ИЛИ DD.16. Логическая схема И DD.13 будет заперта т.к. управляется инверсным сигналом. С выхода схемы ИЛИ DD.16 информационный сигнал поступит в блок регистров большего числа. Логическая схема И DD. 14 будет открыта, через нее меньшее по модулю число В поступит на вход схемы ИЛИ DD.17. С выхода схемы ИЛИ DD.17 информационный сигнал поступит на вход блока регистров меньшего числа. Если выходной сигнал МН будет равен единичному значению, что означает число В больше по модулю, чем число А. В этом случае логические схемы DD.13 и DD.15 будут открыты и через их информационные сигналы поступят на входы схем ИЛИ DD.16 и DD.17 соответственно. Через схему DD. 13 число В большее по модулю поступит на вход схемы ИЛИ DD.16, затем в блок регистров большего числа. Через схему DD.15 число А, меньшее по модулю, поступит на вход схемы ИЛИ DD.17, затем в блок регистров меньшего числа. Если числа А и В равны по модулю и имеют равные знаки, то сигнал РВ будет равен единице, а сигналы БЛ и МН будут равны нулю. Логические схемы И DD.12 и DD. 15 будут заперты, а схемы DD.13 и DD.14 будут открыты. На логические схемы ИЛИ DD.16 и DD.17 поступит число В. В этом случае произойдет сложение чисел В и В. Знак результата Зн.Р всегда будет формироваться с выхода логической схемы ИЛИ DD.16, т.к. на выходе будет большее по модулю число (фиг. 3).

Блок 3 суммирования-вычитания содержит сумматор по модулю два, выполненный на формальном нейроне - элемент DD.18, пороговые элементы DD.19, DD. 20, DD. 21, инверторы DD.22, DD.23, DD.24, логические схемы И DD.25, DD.26, DD. 27, логическую схему ИЛИ DD.28. На пороговом элементе (ПЭ) DD.20 формируется перенос при сложении или заем при вычитании. Пороговые элементы DD.21 и DD.20 составляют сумматор [1, 2]. На входы этих пороговых элементов поступают двоичные разряды чисел А и В, а также перенос ПЗ из младших разрядов в старшие (фиг.4). Двоичные разряды поступают поразрядно: ЧБ - разряд большего числа, ЧМ - разряд меньшего числа, ПЗ - перенос, заем, а также признак суммирования-вычитания СВ (фиг. 4). Пороговые элементы DD.19 и DD.20 образуют схему вычитателя чисел от большего меньшего. Логические элементы DD.25, DD. 26, DD. 27 выполняют роль электронных ключей. Управляющим сигналом для них является признак суммирования-вычитания СВ. На пороговые элементы DD.26 и DD. 27 этот сигнал поступает через инверторы DD.22, DD.24 соответственно. Если признак операции СВ суммирования-вычитания будет равен нулю - выполнение операции суммирования, то электронный ключ DD.26 будет открыт, а ПЭ DD. 27, DD.25 будут заперты, управляющий сигнал СВ поступает через инверторы DD. 22 DD. 23. На выходе порогового элемента DD.26 сформируется перенос из старших разрядов в следующий больший по весу разряд, если на входе порогового элемента DD.20 будет не менее двух единиц. По приходу из блока 8 управления управляющего сигнала СЗП - сигнала запрета, равного единице, этот перенос ПР будет записан через открытый ключ DD.26 в блок регистров результата. Разряды суммы Si при этом с выхода порогового элемента DD.27 поступать не будут, т.к. этот ПЭ будет заперт сигналом СЗП, который поступает на управляющий вход этого ПЭ через инвертор DD.23 (фиг.4). В начале необходимо получить перенос, если он будет получен. Затем управляющий сигнал СЗП устанавливается в нулевое значение, при этом логический элемент DD.26 будет заперт, а электронный ключ DD.27 будет открыт. Через него будут поступать очередные разряды суммы чисел А и В. Логическая схема ИЛИ DD.28, выполненная на пороговом элементе, выполняет собирательную функцию. Выходной сигнал РЕЗ при суммировании в начале равен только сигналу ПР - переносу, затем всегда будет равен очередному значению суммы двоичных разрядов А и В - Si. Если признак операции СВ будет равен единице, это означает выполнение операции вычитания (фиг.4). В этом случае разряды разности чисел большего и меньшего будут формироваться на выходе порогового элемента DD.19 и через открытый электронный ключ DD.25 и пороговый элемент DD.28 (схема ИЛИ) разряды разности будут поступать на вход блока регистров результата.

Блок 4 регистров большего числа содержит n - логических схем ИЛИ, выполненных на пороговых элементах ПЭ: DD.29, DD.30, DD.31, DD.32, n - триггеров Трn, где n - количество разрядов входного числа: DD.33, DD.34, DD.35, DD. 36 (фиг. 5). Блок 4 регистров большего числа предназначен для хранения двоичного кода большего по модулю операнда. Перед началом работы сумматора-вычитателя по приходу из блока 8 информационного сигнала СУ происходит обнуление всех триггеров блока. По приходу из блока 2 компарации информационного сигнала ДБЧ - данные большего числа - осуществляется загрузка двоичного кода одного из чисел. На первые входы логических схем ИЛИ DD.29, DD. 30, DD.31, DD.32 поступают двоичные разряды большего числа. На вторые входы логических схем ИЛИ поступает информация с выходов предыдущих триггеров. Выходы логических схем ИЛИ являются входами для триггеров (фиг.5). При поступлении управляющего сигнала БЛ - больше - на входы триггеров Тр1, Тр2, Тр3, . . . , Трn из блока 2 компарации, разрешающего записать информацию в триггеры, происходит загрузка поступившего кода с выходов схем ИЛИ в триггеры блока. Сигнал БЛ является входным управляющим сигналом для всех элементов памяти блока (фиг.5). По приходу управляющего сигнала сдвига ССД из блока 8 управления, поступающего на входы всех триггеров блока, осуществляется операция сдвига влево информации на один разряд. Двоичный код числа, записанный в триггерах, будет сдвинут на один разряд влево. На выходе первого триггера Tp1 DD. 33 поочередно будет поступать очередной разряд числа после сигнала сдвига ССД. Триггеры этого блока образуют реверсивный регистр со сдвигом информации на один разряд влево (фиг.5).

Блок 5 определения переноса, заема содержит n - сумматоров по модулю два: DD. 37, DD.38, DD.39, выполненных на формальных нейронах ФН, n - мажоритарных элементов (по большинству входов) МЭ: DD.40, DD.41, DD.42, выполняющую функцию по определению переноса в старшие разряды при суммировании или заема из старших разрядов при вычитании. На первые входы сумматора по модулю два блока поступают двоичные разряды операнда из блока регистров большего числа (фиг. 6). На вторые входы всех сумматоров блока поступает признак операции суммы-вычитания СВ. Если признак СВ равен нулю, выполнение операции сложения, то сумматоры выполняют роль повторителей. В этом случае все входные разряды в прямом коде поступают на первые входы соответствующих мажоритарных элементов МЭ блока. Если признак операции СВ равен единице, выполнение операции вычитания, то все входные двоичные коды поступают на входы мажоритарных элементов в обратном коде. В этом случае сумматоры по модулю два выполняют функцию инверторов. На вторые входы мажоритарных элементов МЭ поступает информация с выходов предыдущих мажоритарных элементов. В этом блоке используются трехвходовые мажоритарные элементы. Единица на выходе МЭ будет только тогда, когда будет большинство единиц на входе, в данном случае две или три. На третьи входы мажоритарных элементов поступают двоичные коды из блока регистров меньшего числа в прямом коде. Выходной сигнал ПЗ будет равен единице в том случае, когда возникнет перенос из младших разрядов в старшие при сложении чисел и при возникновении заема в младшие разряды из старших при выполнении операции вычитания от большего по модулю числа меньшего (фиг.6).

Блок 6 регистров меньшего числа содержит n триггеров Трn, где n - количество разрядов большего входного числа: DD.43, DD.44, DD.45, DD.46, n логических схем ИЛИ, выполненных на пороговых элементах ПЭ: DD.47, DD.48, DD. 49, DD.50 (фиг.7). Блок 6 регистров меньшего числа предназначен для хранения двоичного кода меньшего по модулю числа. Перед началом работы сумматора-вычитателя по приходу из блока 8 информационного сигнала СУП происходит обнуление всех триггеров блока. По приходу из блока 2 компарации информационного сигнала ДМЧ - данные меньшего числа - осуществляется загрузка двоичного кода числа. На первые входы логических схем ИЛИ DD.47, DD.48, DD.49, DD.50 поступают двоичные разряды меньшего числа. На вторые входы логических схем ИЛИ поступает информация с выходов предыдущих триггеров. Выходная информация с логических схем ИЛИ являются входной для триггеров (фиг.7). При поступлении управляющего сигнала МН - меньше - на входы триггеров Тр1, Тр2, Тр3,..., Трn из блока 2 компарации, разрешающего записать информацию в триггеры, происходит загрузка поступившего кода с выходов схем ИЛИ в триггеры блока. Сигнал МН является входным управляющим сигналом для всех элементов памяти блока (фиг. 7). По приходу управляющего сигнала сдвига СДВ из блока 8 управления, поступающего на входы всех триггеров блока, осуществляется операция сдвига влево информации на один разряд. Двоичный код числа, записанный в триггерах, будет сдвинут на один разряд влево. На выходе первого триггера Tp1 DD.43 поочередно будет поступать очередной разряд числа после сигнала сдвига СДВ. Триггеры этого блока образуют реверсивный регистр со сдвигом информации на один разряд влево (фиг.7).

Блок 7 регистров результата содержит m триггеров Трm, где m - количество разрядов, необходимое для получения результата заданной точности: DD.51, DD. 52, DD.53, для хранения двоичных разрядов результата. А также в состав блока входит триггер Тр3 DD. 54, предназначенный для хранения знакового разряда результата (фиг.8). В блоке регистров результата формируется поразрядно результат при выполнении операций сложения или вычитания. Перед началом работы сумматора-вычитателя по приходу из блока 8 информационного сигнала УП происходит обнуление всех триггеров блока. Сигнал результата РЕЗ, поступающий из блока суммирования-вычитания, поступает на вход первого правого триггера Tm DD.53 блока. По приходу управляющего сигнала сдвига СД из блока 8 управления, поступающего на входы всех триггеров блока, осуществляется операция сдвига влево информации на один разряд по мере получения очередного разряда результата. Двоичный код числа, записанный в триггерах, будет сдвинут на один разряд влево. Операция записи очередного разряда результата и сдвига будет осуществляться до тех пор, пока не будет получен результат суммы или разности заданной точности. Полученный результат будет храниться в правой части триггеров, составляющих регистр для хранения суммы или разности. На вход триггера Тр3 из блока управления поступит управляющий сигнал РЗ - разрешение записи. После этого в триггер ТрЗ DD.54 запишется знаковый разряд результата - ЗнР (фиг.8).

Логические условия:
X1: "УОО"
Х2: "ПУСК"
Х3: "РВ"
Х4: "ЗнР"
Х5: "БЛ"
Х6: "СВ"
Х7: "ППР"
Операторы:
У1 "А10"
У2 "В10"
У3 "Зн А"
У4 "Зн В"
У5 "СБРОС:=1"
У6 "БКО:=А2"
У7 "БКО:=В2"
У8 "СВ:=ЗнР А ⊕ ЗнР В"
У9 "КОМ:=А"
У10 "КОМ:=В"
У11 "БРгР:=ЗнР"
У12 "БРГР:=0"
У13 "БРгБЧ:=В"
У14 "БРгМЧ:=В"
У15 "БРгБЧ:=А"
У16 "БРгМЧ:=А"
У17 "БОПЗ:=ВБЧ"
У18 "БОПЗ:=ВМЧ"
У19 "СЗП:=1"
У20 "БРгР:=ПР"
У21 "СЗП:=0"
У22 "БОПЗ:=not (ВБЧ)"
У23 "БСВ:=ЧБ"
У24 "БСВ:=ЧМ"
У25 "БСВ:=ПЗ"
У26 "i:=0"
У27 "БРгР:=РУЗ"
У28 "БРгБЧ:=ССД"
У29 "БРгМЧ:=СДВ"
У30 "БРгР:=СД"
У31 "i:=i+1"
У32 "ТрЗ:=ЗнР"
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Мкртчян С. О. Проектирование логических устройств ЭВМ на нейронных элементах. - М.: Энергия, 1977.

2. Дертоузос М. Пороговая логика. - М.: Мир, 1967.

3. Вавилов Е. И. и др. Синтез схем на пороговых элементах. - М.: Сов. радио, 1970.

4. Галушкин А.И. Синтез многослойных схем распознавания образов. - М.: Энергия, 1974.

5. Позин И.В. Моделирование нейронных структур. - М.: Наука, 1970.

6. Патент 95104370/09. Бюл. 15, 1997, 01.03.95 (прототип).

7. Патент 4892584/24. Бюл. 25, 1995, 19.12.90 (аналог).

8. Патент 99109089/09. Бюл. 7 (1 ч.), 01.07.97 (аналог).

Похожие патенты RU2205444C1

название год авторы номер документа
ПАРАЛЛЕЛЬНЫЙ СУММАТОР-ВЫЧИТАТЕЛЬ НА НЕЙРОНАХ 2003
  • Шевелев С.С.
RU2246752C1
Параллельно-последовательный сумматор-вычитатель старшими разрядами вперед на нейронах 2019
  • Шевелев Сергей Степанович
RU2708501C1
ПАРАЛЛЕЛЬНЫЙ СУММАТОР-ВЫЧИТАТЕЛЬ НА НЕЙРОНАХ СО СКВОЗНЫМ ПЕРЕНОСОМ 2012
  • Шевелев Сергей Степанович
  • Солодовников Федор Михайлович
  • Шикунов Дмитрий Александрович
  • Шикунова Елена Сергеевна
  • Хла Вин
RU2523942C2
АРИФМЕТИЧЕСКИЙ ВЫЧИСЛИТЕЛЬ 2004
  • Шевелев Сергей Степанович
RU2292580C2
ДЕЛИТЕЛЬ НА НЕЙРОНАХ 2003
  • Шевелев С.С.
  • Тарасов А.В.
RU2249846C1
Параллельный сумматор-вычитатель на элементах нейронной логики 2020
  • Шевелев Сергей Степанович
RU2780299C2
ПАРАЛЛЕЛЬНЫЙ СУММАТОР-ВЫЧИТАТЕЛЬ В ТРОИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯ НА НЕЙРОНАХ 2010
  • Шевелев Сергей Степанович
RU2453900C2
Параллельный сумматор-вычитатель на нейроподобных элементах 2023
  • Шевелев Сергей Степанович
  • Титов Виталий Семенович
  • Панищев Владимир Славиевич
RU2805774C1
УМНОЖИТЕЛЬ НА НЕЙРОНАХ 2003
  • Шевелев С.С.
  • Стариков Р.В.
RU2249845C1
ИНФОРМАЦИОННО-ПОИСКОВАЯ СИСТЕМА 2001
  • Довгаль В.М.
  • Шевелев С.С.
RU2199778C1

Иллюстрации к изобретению RU 2 205 444 C1

Реферат патента 2003 года СУММАТОР-ВЫЧИТАТЕЛЬ СТАРШИМИ РАЗРЯДАМИ ВПЕРЕД НА НЕЙРОНАХ

Изобретение относится к средствам вычислительной техники и может быть использовано для синтеза арифметико-логических устройств (АЛУ) и создания быстродействующих и экономичных цифровых устройств суммирования и вычитания чисел в прямых кодах. Техническим результатом является упрощение АЛУ, повышение надежности работы цифрового сумматора-вычитателя и упрощение алгоритма работы блока управления устройства. В сумматоре-вычитателе осуществляют сложение или вычитание двоичных чисел. Если числа имеют одинаковые знаки, то происходит выполнение операции суммирования. Если числа имеют разные знаки, то от большего по модулю числа вычитают меньшее. Знак результата соответствует знаку большего из чисел. В устройстве применены элементы нейронной и пороговой логики, а также мажоритарные элементы и осуществляется суммирование-вычитание старшими разрядами вперед. 10 ил.

Формула изобретения RU 2 205 444 C1

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

Документы, цитированные в отчете о поиске Патент 2003 года RU2205444C1

УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ МОДУЛЯ M-МЕРНОГО ВЕКТОРА 1995
  • Духнич Евгений Иванович
  • Егунов Виталий Алексеевич
RU2080650C1
УСТРОЙСТВО ДЛЯ СЛОЖЕНИЯ 1990
  • Щетинин И.Ю.
RU2043651C1
RU 99109089 А, 10.03.2001
НЕЙРОПРОЦЕССОР, УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ НАСЫЩЕНИЯ, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СУММАТОР 1998
  • Черников В.М.
  • Виксне П.Е.
  • Фомин Д.В.
  • Шевченко П.А.
  • Яфраков М.Ф.
RU2131145C1
RU 94041972 А1, 27.09.1996
US 5581661, 03.12.1996
МОЛОТИЛЬНОЕ УСТРОЙСТВО 0
SU234031A1

RU 2 205 444 C1

Авторы

Шевелев С.С.

Даты

2003-05-27Публикация

2002-03-04Подача