ПАРАЛЛЕЛЬНЫЙ СУММАТОР-ВЫЧИТАТЕЛЬ НА НЕЙРОНАХ СО СКВОЗНЫМ ПЕРЕНОСОМ
NEURON-BASED RIPPLE CARRY PARALLEL ADDER-SUBTRACTOR

Параллельный сумматор-вычитатель на нейронах со сквозным переносом.
Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для синтеза арифметико-логических устройств, для создания быстродействующих и производительных цифровых устройств суммирования и вычитания чисел в прямых кодах.
Известна "Схема цифрового сумматора" (петент №99109089/09 от 04.07.1997 г. Бюл. №7 (1 ч.) 2001 г.), позволяющая выполнять операцию сложения чисел в двоичной системе счисления.
Известно "Устройство для вычисления модуля М-мерного вектора" (95104370/09 от 01.03.1995. Бюл №15, 1997 г.), которое выполняет операции суммирования и вычитания над М-мерными векторами.
В качестве прототипа выбран "Параллельный сумматор-вычитатель на нейронах (патент №2246752 от 30.07.2003 г. Бюл. №5, 2005 г.), выполняющий операции суммирование и вычитание двоичных чисел в прямых кодах.
Задача заключалась в следующем:
1) уменьшить аппаратные затраты устройства,
2) упростить алгоритм блока управления,
3) повысить скорость операции суммирования-вычитания чисел в прямых кодах,
4) повысить надежность работы сумматора-вычитателя.
В представленном сумматоре-вычитателе происходит сложение и вычитание двоичных чисел, определение сквозного переноса-заема между разрядами двоичных чисел. Предлагаемый сумматор-вычитатель позволит значительно снизить аппаратные средства, что ведет к упрощению комбинационной схемы, повысить быстродействие устройства, а также значительно упростить алгоритм работы устройства.
Решение задачи осуществляется тем, что параллельный сумматор-вычитатель на нейронах со сквозным переносом, содержащий блок ввода чисел, блок компарации, блок регистра большего числа, блок сумматоров-вычитателей, блок регистра меньшего числа, блок регистра результата, блок управления, отличаются тем, что дополнительно введены: схема определения сквозного переноса-заема, причем первый и второй информационные выходы блока ввода чисел соединены соответственно с первым и вторым информационными входами блока компарации, первый информационный выход которого соединен с первым информационным входом блока регистра большего числа, второй информационный вход которого соединен с третьим информационным выходом блока управления, третий, четвертый и пятый управляющие входы которого соединены соответственно с первым, вторым и третьим управляющими выходами блока компарации, второй информационный выход которого соединен с первым информационным входом блока регистра меньшего числа, второй информационный вход которого соединен со вторым информационным выходом блока управления, первый информационный выход которого соединен со вторым информационным входом блока регистра результата, управляющий вход которого соединен с четвертым управляющим выходом блока компарации, управляющий вход которого соединен с управляющим выходом блока ввода чисел и с управляющим входом схемы определения сквозного переноса-заема и с управляющим входом блока сумматоров-вычитателей и с шестым управляющим входом блока управления, седьмой управляющий вход, которого соединен с управляющим выходом блока сумматоров-вычитателей, третий информационный вход которого соединен с информационным выходом блока регистра меньшего числа и со вторым информационным входом схемы определения сквозного переноса-заема, информационный выход которой соединен с первым информационным входом блока сумматоров-вычитателей, второй информационный вход которого соединен с первым информационным входом схемы определения сквозного переноса-заема и с информационным выходом блока регистра большего числа, первый и второй управляющие входы "СБРОС" и "ПУСК" блока управления являются внешними входами параллельного сумматора-вычитателя на нейронах со сквозным переносом.
БВЧ - блок ввода чисел служит для ввода операндов и знака операции.
БКО - блок компарации служит для сравнения чисел А и В, если необходимо выполнить операцию вычитания.
БРгБЧ - блок регистра большего числа служит для хранения первого числа в случае выполнения операции сложения или для хранения большего по модулю числа в случае выполнения операции вычитания.
СхОСП - схема определения сквозного переноса-заема служит для получения сквозного переноса при сложении и заема при вычитании.
БСВ - блок суммирования-вычитания служит для выполнения операций сложения или вычитания.
БРгМЧ - блок регистра меньшего числа служит для хранения второго числа в случае выполнения операции сложения или для хранения меньшего по модулю числа в случае выполнения операции вычитания.
БРгР - блок регистра результата служит для хранения суммы при сложении или разности при вычитании чисел, а также знака результата.
БУ - блок служит для управления устройством.
В современных цифровых устройствах операция вычитания выполняется с применением дополнительного или обратного кода. Отрицательные числа представляются в дополнительном или обратном кодах. Если получен отрицательный результат, то осуществляется перевод в дополнительный или обратный код. Если получен положительный результат, то перевода в коды не происходит.
Известен алгоритм сложения чисел в прямых кодах. Этот алгоритм позволяет сразу получить правильный результат в прямом коде. В этом случае необходимо применить операцию вычитания чисел. Для этого используется комбинационная схема вычитателя чисел в прямых кодах.
Для получения суммы двух чисел возможны два случая: 1) слагаемые имеют одинаковые знаки; 2) слагаемые имеют разные знаки. Во втором случае необходимо применить операцию вычитания чисел. Для этого используется комбинационная схема вычитателя чисел в прямых кодах
Если числа имеют одинаковые знаки, то необходимо сложить два числа, а сумме присвоить знак одного из слагаемых. Вычисление суммы двух чисел с разными знаками осуществляется следующем образом: 1) сравниваются знаки слагаемых и, если они одинаковы, то выполняется сложение по первому алгоритму; 2) если знаки слагаемых разные, то сравниваются числа по абсолютной величине; 3) если есть необходимость, переставить числа местами, чтобы вычитать из большего меньшее; 4) произвести вычитание двух чисел; 5) результату присвоить знак большего слагаемого
На фиг.1 изображена структурная схема сумматора-вычитателя.
На фиг.2 представлен вариант технической реализации блока ввода чисел.
На фиг.3 представлен вариант технической реализации блока компарации.
На фиг.4 представлен вариант технической реализации схемы управления работой компаратора.
На фиг.5 изображена функциональная схема блока регистра большего числа.
На фиг.6 представлена функциональная схема определения сквозного переноса-заема.
На фиг.7 показана структурная схема блока суммирования-вычитания.
На фиг.8 показана принципиальная схема одноразрядного сумматора-вычитателя на пороговых и нейроноподобных элементах.
На фиг.9 изображена функциональная схема блока регистра меньшего числа.
На фиг.10 представлен вариант технической реализации блока регистра результата.
На фиг.11 - содержательная ГСА работы устройства.
На фиг.12 - размеченная ГСА работы устройства.
Параллельный сумматор-вычитатель на нейронах со сквозным переносом (фиг.1) содержит: блок ввода чисел, блок компарации, блок регистра большего числа, блок суммирования-вычитания, схему определения сквозного переноса-заема, блок регистра меньшего числа, блок регистра результата, блок управления, пороговые элементы, нейроны.
Для описания алгоритма работы блока 8 управления используются следующие идентификаторы.
1. ПЧ - первое число.
2. ВЧ - второе число.
3. ДБЧ - двоичные разряды большего числа.
4. ДМЧ - двоичные разряды меньшего числа.
5. РВ - сигнал равенства чисел, поступивший с выхода компаратора.
6. БЛ - сигнал больше, поступивший с выхода блока компаратора.
7. МН - сигнал меньше, поступивший с выхода блока компаратора.
8. ЗнР - знаковый разряд.
9. СВ - сигнал суммы-вычитания.
10. PEЗi - двоичные разряды результата.
11. УП - информационный сигнал управления работой блока регистра результата, включающий в себя сигналы: обнуления, синхронизации, разрешения записи, хранения, выдачи.
12. ВБЧ - выходная двоичная информация большего числа.
13. ВМЧ - выходная двоичная информация меньшего числа.
14. СУП - информационный сигнал управления работой блока регистра меньшего числа, включающий в себя сигналы: обнуления, синхронизации, разрешения записи, хранения, выдачи.
15. СУ - информационный сигнал управления работой блока регистра большего числа, включающий в себя сигналы: обнуления, синхронизации, разрешения записи, хранения, выдачи.
16. ЗнрА - знаковый разряд первого числа.
17. ЗнрВ - знаковый разряд второго числа.
18. ЗрПТЧ - двоичные разряды первого числа.
19. 3piBЧ - двоичные разряды второго числа.
20. Зр1БЧ - двоичные разряды большего числа.
21. 3piMЧ - двоичные разряды меньшего числа.
22. ЗнРР - знаковый разряд результата.
23. ПП - признак получения правильного результата (определения переполнения разрядной сетки).
24. ПРЗМ - двоичный код полученных сквозных переносов и заемов.
25. КОП - двоичный код операции.
26. ЗП - сигнал записи двоичной информации в триггеры блока регистра большего числа.
27. ЗАЛ - сигнал записи двоичной информации в триггеры блока регистра меньшего числа.
28. СБРОС - сигнал сброса (обнуления) всех комбинационных блоков и элементов памяти сумматора-вычитателя.
29. ПУСК - сигнал начала работы сумматора-вычитателя.
Работа алгоритма управления параллельного сумматора-вычитателя на нейронах со сквозным переносом.
Содержательная ГСА управления приведена на фиг.11 и отражает работу блока управления (фиг.1).
В блоке 2 алгоритма осуществляется подача сигнала установки в нулевое состояние - "УОО" на входы всех элементов устройства.
В блоке 3 алгоритма происходит установка сигнала сброса в единичное значение "СБРОС:=1".
В блоке 4 алгоритма осуществляется подача внешнего сигнала "ПУСК" в блок управления сумматора-вычитателя для разрешение работы сумматора-вычитателя.
В блоке 5 алгоритма осуществляется подача на вход блока компаратора первого и второго чисел, поступивших с выходов блока ввода данных по командам БКО:=ПЧ, БКО:=ВЧ.
В блоке 6 алгоритма определяется сигнал сумма-вычитание СВ, который определяет, какую операцию необходимо выполнять: сложение или вычитание, где также учитывается код операции. Этот сигнал определяется по операции сложения по модулю два СВ:=ЗрА⊕ЗрВ⊕КОП.
В блоке 7 алгоритма осуществляется анализ сигнала сумма-вычитание СВ. Если сигнал СВ равен нулевому значению, то выполняется операция сложение - выход 0 блока, при этом количество знаков минус равно четному числу, если единичному значению - выход 1 блока, то выполняется операция вычитание, в этом случае количество знаков минус нечетное при вводе знаков чисел и кода операции.
В блоке 8 алгоритма сигнал сумма-вычитание СВ принимает значение нуля СВ:=0, при этом устройство выполняет операцию сложение, и осуществляется блокировка работы компаратора по приходу сигнала СВ, поступившего из блока ввода чисел. В этом случае на вход сумматора-вычитателя из блока ввода чисел поступают числа с одинаковыми знаками и код операции равен знаку плюс, или с разными знаками и код операции равен знаку минус, при этом сравнение чисел производить не нужно.
В блоке 9 алгоритма по командам ЗП:=1, ЗАП:=1 происходит подача разрешающих сигналов на запись двоичных кодов входных чисел. Эти сигналы поступают на входы блоков регистров большего и меньшего числа из блока управления; После этого происходит запись входной информации в регистры блоков.
В блоке 10 алгоритма по командам БРгБЧ:=ПЧ, БРгМЧ:=ВЧ осуществляется загрузка первого и второго числа в регистры блоков большего и меньшего числа.
В блоке 11 алгоритма по командам СхОСП:=ВБЧ, СхОСП:=ВМЧ происходит подача входных чисел на входы схемы определения сквозного переноса-заема. По командам БСВ:=ВБЧ, БСВ:=ВМЧ происходит подача чисел на блок сумматора-вычитателя. На входы блоков поступают двоичные коды входных чисел.
В блоке 12 алгоритма осуществляется операция суммирование чисел и сквозного переноса-заема по команде СУМ:=ВБЧ+ВМЧ+ПРЗМ.
В блоке 13 алгоритма по команде СВ:=1 сигнал суммы-вычитания принимает единичное значение. В этом случае количество знаков минус является нечетным числом. Входные числа с блока ввода данных имеют разные знаки, и код операции равен знаку плюс, или числа одинаковые знаки, а код операции равен знаку минус. В этом случае необходимо выполнить операцию сравнения модулей чисел, для того чтобы определить большее и меньшее из чисел для выполнения операции вычитания. Компаратор отпирается единичным сигналом сумма-вычитание СВ.
В блоке 14 алгоритма по командам: КОМ:=ПЧ, КОМ:=ВЧ на вход компаратора поступают первое и второе число с выхода блока ввода данных для выполнения операции сравнения между ними.
В блоке 15 алгоритма происходит подача отпирающих сигналов из блока управления на входы блоков регистров большего и меньшего числа по командам: ЗП:=1, ЗАП:=1 для записи информации в регистры.
В блоке 16 алгоритма осуществляется загрузка операндов в регистры блоков большего и меньшего числа по командам: БРгБЧ:=БЧ, БРгМЧ:=МЧ.
В блоке 17 алгоритма по командам: СхОСП:=ВБЧ, СхОСП:=ВМЧ происходит подача входных чисел на входы схемы определения сквозного переноса-заема. По командам: БСВ:=ВБЧ, БСВ:=ВМЧ на вход блока сумматора-вычитателя поступает первое и второе число для выполнения операции вычитания.
В блоке 18 алгоритма по команде РАЗ:=ВБЧ-ВМЧ-ПРЗМ осуществляется операция вычитание между входными числами. Из большего по модулю числа вычитается меньшее. По этой операции вычисляется разность РАЗ чисел.
В блоке 19 алгоритма по командам: БРгР:=РЕЗ, БРгР:=ЗнР происходит запись результата и его знака в регистр блока результата.
Блок 20 алгоритма является конечным.
Работа параллельного сумматора-вычитателя на нейронах со сквозным переносом заключается в следующем.
Внешние управляющие сигналы "СБРОС" и "ПУСК" поступают в блок 8 управления.
С выхода шифратора поступают в регистры большего числа и меньшего числа двоичные числа А2 и В2. На сумматоре по модулю два определяется знак результата. Если числа имеют одинаковые знаки, то вычисляется сумма чисел. Знак результату присваивается знак любого из слагаемых. Если знаки чисел разные, то выполняется операция вычитания. Из большего по модулю числа вычитается меньшее. Знак результату в этом случае присваивается знак большего по модулю числа. Предлагаемое арифметическое устройство выполняет операции суммирования и вычитания в параллельной форме. Определяется сквозной перенос в старшие разряды при суммировании, который необходимо учитывать при сложении чисел. Вычисляется сквозной заем из старших разрядов в младшие при вычитании.
Блок 1 ввода чисел содержит шифратор ШФ DD9, сумматор по модулю два DD10, сумматор по модулю два DD11 (фиг.2). Этот блок позволяет вводить двоичные числа. С выхода шифратора формируется двоичный код чисел со своими знаками: А2, В2, ЗнР А, ЗнРВ и код операции КОП. Знаковый разряд второго числа ЗнР В и код операции КОП с выхода шифратора поступают на вход нейрона, выполняющего операцию сумматора по модулю два DD10. Выходная функция этого нейрона и знаковый разряд первого числа ЗнР А поступают на вход нейрона, выполняющего также операцию сумматора по модулю два элемент DD11. Выходной сигнал суммирования-вычитания СВ формируется на выходе нейрона двоичного элемента DD11. Сумматоры по модулю два реализуются на формальных нейронах ФН [1]. Выходной сигнал вычисляется по формуле:
<mrow><mi>С</mi><mi>В</mi><mo>=</mo><mi>З</mi><mi>н</mi><mi>P</mi><mtext> B </mtext><mo>⊕</mo><mtext> КОП </mtext><mo>⊕</mo><mtext> ЗнP А          (1)</mtext></mrow>
Если СВ равен единице, то необходимо выполнять операцию вычитания, при нечетном количестве знаков -  минус. Если СВ равен нулю, то осуществляется операция сложения, количество знаков минус является четным числом. Выходными сигналами блока 1 ввода чисел являются двоичные коды первого и второго чисел ПЧ и ВЧ, представленные в прямых кодах и признак операции СВ.
Блок 2 компарации содержит схему управления работой компаратора СУРКОМ DD12, двухвходовую логическую схему ИЛИ DD13 с первым инверсным входом, схему электронных ключей логических элементов И DD14, схему электронных ключей логических элементов с управляющим инверсным входом DD15, двухвходовый логический элемент И DD17, схему электронных ключей логических элементов с управляющим инверсным входом DD18, схему электронных ключей логических элементов И DD19, схему логических элементов ИЛИ DD16, схему логических элементов ИЛИ DD20 (фиг.3). Этот блок предназначен для определения большего числа по модулю при выполнении операции вычитания, и передачи большего по модулю числа в блок регистра большего числа, и меньшего по модулю числа в блок регистра меньшего числа. При выполнении операции суммирования этот блок не определяет большего и меньшего из входных чисел, а лишь передает первое число в блок регистра большего числа и второе число в блок регистра меньшего числа. На вход компаратора поступает управляющий сигнал - признак суммирования или вычитания СВ. Этот сигнал СВ поступает на: инверсный вход логического элемента ИЛИ DD13, прямой вход схемы электронных ключей логических элементов с управляющим инверсным входом DD15, двухвходовый логический элемент И DD17, прямой вход схемы электронных ключей логических элементов И DD19 (фиг.3).
Если сумматор-вычитатель выполняет операцию вычитания, при этом признак суммирования или вычитания СВ равен единичному значению, то в блок регистра большего числа необходимо записать больший по модулю операнд. В блок регистра меньшего числа загружается число, меньшее по модулю. Схема управления работой компаратора СУРКОМ DD12 представляет собой схему управления работой компаратора и схему сравнения чисел. Схема сравнения чисел выполнена на формальных нейронах.
Если управляющий сигнал суммирования-вычитания СВ равен нулю, то это означает, что выполняется операция суммирования чисел. В этом случае сравнение по модулю чисел не происходит. На вход схемы управления работой компаратора СУРКОМ DD12 подается нулевое значение, который блокирует работу схемы. Схема электронных ключей логических элементов с управляющим инверсным входом DD15, логический элемент И DD17, схема электронных ключей логических элементов И DD19 будут заперты нулевым управляющим сигналом СВ. На выходе логического элемента с инверсным входом ИЛИ DD13 сформируется единичный уровень, который разрешит работу схемы электронных ключей логических элементов И DD14. Через открытую схему электронных ключей логических элементов И DD14 и схему логических элементов ИЛИ DD16 первое число поступит на вход блока 3 регистра большего числа (фиг.1, 3). Через открытую схему электронных ключей логических элементов И DD19 и схему логических элементов ИЛИ DD20 второе число поступит на вход блока 6 регистра меньшего числа (фиг.1, 3).
Если сигнал СВ равен единице, то в этом случае выполняется операция вычитания чисел. Схема управления работой компаратора СУРКОМ DD12, схема электронных ключей логических элементов с управляющим инверсным входом DD15, схема электронных ключей логических элементов И DD19 будут открыты для работы. Сравнение чисел в этом случае проводить необходимо для определения большего и меньшего по модулю чисел. На вход схемы управления работой компараторов СУРКОМ DD25 поступают n-разрядные двоичные числа ПЧ и ВЧ без знаковых разрядов. Схема управления работой компараторов СУРКОМ DD25 имеет три выхода: БЛ - число ПЧ больше ВЧ, РВ - числа ПЧ и ВЧ равны по модулю, МП - число ПЧ меньше ВЧ.
Схемы электронных ключей логических элементов И DD14, DD15, DD18, DD19, двухвходовая логическая схема И DD17 выполнены на формальных нейронах ФН [1]. Схема логических элементов И описывается с помощью формулы [w1=1, w2=1,.., wn=1; T=n-1], где w1, w2,..,wn - коэффициенты усиления, а Т - пороговое напряжение, n - количество входов. Схемы логических элементов ИЛИ DD16, DD20, двухвходового логического элемента И DD13 с первым инверсным входом, описываются с помощью формулы [w1=1, w2=1,.., wn=1; T=0], где w1, w2,.., wn - коэффициенты усиления, а Т, равное нулю, - пороговое напряжение, n - количество входов. Логическая операция НЕ описывается формулой [w=-1; T=-1].
На входы схем электронных ключей логических элементов И DD14 и DD19 поступает первое двоичное число ПЧ со своим знаком. На входы схем электронных ключей логических элементов с управляющими инверсными входами DD15 и DD18 поступает второе двоичное число ВЧ со своим знаком. Выходы схемы электронных ключей логических элементов И DD14 и схемы электронных ключей логических элементов с управляющим инверсным входом DD15 поступают на вход схемы логических элементов ИЛИ DD16. Выходы схемы электронных ключей логических элементов с управляющим инверсным входом DD18 и схемы электронных ключей логических элементов И DD19 поступают на вход схемы логических элементов ИЛИ DD20 (фиг.3). Выходная информация двоичные разряды большего числа ДБЧ схемы логических элементов ИЛИ DD16 поступает на вход блока регистра большего числа (фиг.1). Выходная информация двоичные разряды меньшего числа ДМЧ схемы логических элементов ИЛИ DD20 поступает на вход блока регистра меньшего числа (фиг.1). При поступлении первого и второго двоичных чисел ПЧ и ВЧ на вход схемы компаратора, на выходе схемы компаратора СхКОМ формируется отношение операндов. Если на выходе БЛ будет единица, то это означает, что первое число ПЧ больше второго ВЧ по модулю. Остальные выходы схемы компаратора будут равны нулевому значению.
Единичный выход схемы компаратора больше БЛ через двухвходовую логическую схему ИЛИ DD13 с первым инверсным входом откроет схему электронных ключей логических элементов И DD14 и первое двоичное число ПЧ поступит вход схемы логических элементов ИЛИ DD16. Схема электронных ключей логических элементов с управляющим инверсным входом DD15 будет заперта, т.к. управляется инверсным сигналом. С выхода схемы логических элементов ИЛИ DD16 информационный сигнал ДБЧ поступит в блок регистра большего числа. Нулевой выход схемы компаратора меньше МП через двухвходовую логическую схему ИЛИ DD17, поступает на инверсный вход схемы электронных ключей логических элементов с управляющим инверсным входом DD18 и откроет ее, и второе двоичное число ВЧ поступит вход схемы логических элементов ИЛИ DD20. Схема электронных ключей логических элементов DD19 будет заперта, т.к. управляется нулевым сигналом. С выхода схемы логических элементов ИЛИ DD20 информационный сигнал ДМЧ поступит в блок регистра меньшего числа.
Если выходной сигнал схемы компаратора меньше МН будет равен единичному значению, это означает, что второе число ВЧ больше по модулю, чем первое ПЧ. В этом случае необходимо поменять местами входные числа. Единичный выход схемы компаратора через двухвходовую логическую схему ИЛИ DD17, поступает на инверсный вход схемы электронных ключей логических элементов с управляющим инверсным входом DD18 и закроет ее, и первое двоичное число ПЧ поступит вход схемы логических элементов ИЛИ DD20. Схема электронных ключей логических элементов DD19 будет открыта, т.к. управляется единичным сигналом. С выхода схемы логических элементов ИЛИ DD20 информационный сигнал ДМЧ поступит в блок регистра меньшего числа. Нулевой выход схемы компаратора больше БЛ через двухвходовую логическую схему ИЛИ DD13 с первым инверсным входом запрет схему электронных ключей логических элементов И DD14 и второе двоичное число ВЧ поступит вход схемы логических элементов ИЛИ DD16. Схема электронных ключей логических элементов с управляющим инверсным входом DD15 будет открыта, т.к. управляется прямым сигналом. С выхода схемы логических элементов ИЛИ DD16 информационный сигнал ДБЧ поступит в блок регистра большего числа. Если первое и второе двоичные числа ПЧ и ВЧ равны по модулю и выполняется операция сложения, то сигнал равенство РВ будет равен единице, а сигналы больше БЛ и меньше МН будут равны нулю. Схемы логических элементов И DD14 и DD19 будут заперты, а схемы логических элементов И DD15 и DD18 будут открыты. На схемы логических элементов ИЛИ DD16 и DD20 поступит второе двоичное число ВЧ. В этом случае произойдет сложение двух равных по модулю чисел ВЧ и ВЧ. Знак результата ЗнР всегда будет формироваться с выхода схемы логических элементов ИЛИ DD16, т.к. на выходе этой схемы будет большее по модулю число (фиг.3).
Схема управления работой компараторов содержит: схему электронных ключей логических элементов И СхИ, выполненную на элементах DD21, DD22, DD23, DD24, схему компараторов СхКОМ DD25 (фиг.4). Схема управления работой компараторов предназначена для блокирования работы компараторов, если устройством выполняется операция сложения двоичных чисел. При сложении чисел схема компараторов СхКОМ не сравнивает числа. При суммировании чисел, имеющих равные знаковые разряды: оба положительные или оба отрицательные, сравнение чисел не происходит. В этом случае модули двоичных чисел суммируются. Для блокирования работы схем компараторов на входе схем сравнения применяются электронные ключи, выполненные на логических элементах И DD21, DD22, DD23, DD24. Входной управляющий сигнал признак суммирования-вычитания СВ поступает параллельно на все управляющие входы логических схем И. На вторые информационные входы элементов И поступают двоичные разряды первого ПЧ и второго ВЧ входных чисел. Выходы схем электронных ключей логических элементов И СхИ поступают на входы схем компараторов. Если сигнал суммирования-вычитания СВ равен нулевому значению, то схемы электронных ключей логических элементов И СхИ будут заперты. Двоичные разряды входных чисел на вход схем сравнения не поступают. Сравнение чисел на схеме компараторов не произойдет. Если сигнал суммирования-вычитания СВ равен единичному значению, то схемы электронных ключей логических элементов И СхИ будут открыты, в этом случае входные двоичные разряды чисел через открытые схемы И поступают на входы схем компараторов, для выполнения операции сравнения чисел (фиг.4). Схема компараторов СхКОМ DD25 выполняет операцию сравнения чисел при выполнении операции вычитания. Многоразрядные компараторы строятся на базе одноразрядных компараторов. При этом применяются логические схемы И, ИЛИ. Выходными сигналами схемы управления работой компараторов являются сигналы, которые являются результатом сравнения входных чисел: больше БЛ, равно РВ, меньше МЛ (фиг.4). На фиг.3 применены структурные схемы логических элементов ИЛИ, выполненных на микросхемах DD16 и DD20. На фиг.4 представлена принципиальная схема логических элементов ИЛИ, выполненных на микросхемах DD26, DD27. Схемы электронных ключей логических элементов И DD14, DD15, DD18, DD19, представленные на фиг.3, имеют аналогичную структуру схемам электронных ключей логических элементов И СхИ, показанной на фиг.4.
Блок 3 регистра большего числа содержит n - триггеров Tpn, где n - количество разрядов входного числа: DD28, DD29, DD30, DD31 (фиг.5). Блок 3 регистра большего числа предназначен для хранения двоичного кода, большего по модулю операнда. Перед началом работы сумматора-вычитателя по приходу из блока 8 управления информационного сигнала СУ происходит обнуление всех триггеров блока. По приходу из блока 2 компарации информационного сигнала ДБЧ - данные большего числа осуществляется загрузка двоичного кода одного из чисел. При поступлении управляющего сигнала ЗП - разрешение записи на входы триггеров Тр1, Тр2, Тр3,…, Tpn из блока 8 управления, разрешающего записать информацию в триггера, происходит загрузка поступившего двоичного кода числа в триггера блока. Сигнал ЗП является входным управляющим сигналом для всех элементов памяти блока (фиг.5). В этом блоке хранится большее по модулю число, если необходимо выполнить операцию вычитания, и первое число, поступившее из блока ввода чисел, в случае выполнения операции сложения.
Схема 4 определения сквозного переноса-заема, содержит n - сумматоров по модулю два: DD32, DD33, DD34, выполненных на формальных нейронах ФН, n - мажоритарных элементов (по большинству входов) МЭ DD35, DD36, DD37, выполняющую функцию по определению переноса в старшие разряды при суммировании или заема из старших разрядов при вычитании. На первые входы сумматора по модулю два блока поступают двоичные разряды операнда ВБЧ из блока регистра большего числа (фиг.6). На вторые входы всех сумматоров блока поступает признак операции суммы-вычитания СВ. Если признак СВ равен нулю, выполнение операции сложения, то сумматоры выполняют роль повторителей. В этом случае все входные разряды в прямом коде поступают на первые входы соответствующих мажоритарных элементов МЭ блока. Если признак операции СВ равен единице, выполнение операции вычитания, то все входные двоичные коды поступают на входы мажоритарных элементов в обратном коде. В этом случае сумматоры по модулю два выполняют функцию инверторов. На вторые входы мажоритарных элементов МЭ поступает информация с выходов предыдущих мажоритарных элементов. В этом блоке используются трехвходовые мажоритарные элементы. Единица на выходе МЭ будет только тогда, когда будет большинство единиц на входе, в данном случае две или три. На третьи входы мажоритарных элементов поступают двоичные коды ВМЧ из блока регистра меньшего числа в прямом коде. Выходной сигнал Пi, Зi будет равен единице в том случае, когда возникнет перенос из младших разрядов в старшие при сложении чисел и при возникновении заема в младшие разряды из старших при выполнении операции вычитания от большего по модулю числа меньшего (фиг.6).
Блок 5 суммирования-вычитания (фиг.7) содержит n - одноразрядных сумматоров-вычитателей СУМ-ВЫЧn, выполненных на комбинационных схемах DD38, DD39, DD40, DD41. На вход каждого одноразрядного сумматора-вычитателя поступает четыре входных двоичных числа: ЗрiБЧ - двоичный i - разряд большего по модулю числа при выполнении операции вычитания или первого числа при выполнении операции суммирования, ЗpiMЧ - двоичный i - разряд меньшего по модулю числа при выполнении операции вычитания или второго числа при выполнении операции суммирования, перенос Пi из младших разрядов в старшие, Зi - заем из старших разрядов в младшие при выполнении операции вычитания, управляющий сигнал суммирования-вычитания СВ из блока 1 ввода чисел. Выходом каждого сумматора-вычитателя является результат суммы или разности - PEЗi Управляющий сигнал СВ поступает параллельно на входы всех одноразрядный сумматоров-вычитателей (фиг.7). Если сигнал суммирования-вычитания СВ равен нулю, то это означает, что с выхода блока ввода чисел поступили числа с одинаковыми знаками, в этом случае выполняется операция суммирования, во всех блоках СУМ-ВЫЧn вычисляется сумма чисел. В случае равенства СВ единице выполняется операция вычитания. Все блоки СУМ-ВЫЧn вычисляют разность между входными числами. Первый сумматор-вычитатель СУМ-ВЫЧi определяет сигнал переполнения разрядной сетки ПП. Этот сигнал является выходным управляющим сигналом блока. Выходная информация в виде результата РЕЗ с выхода блока суммирования-вычитания поступает на вход блока регистра результата (фиг.1, 7).
Одноразрядный сумматор-вычитатель СУМ-ВЫЧi (фиг.8) суммирования-вычитания содержит пороговые элементы DD42, DD44, инвертор DD45, логические схемы И DD43, DD46, логическую схему ИЛИ DD47. Пороговый элемент DD44 составляет сумматор. На входы этого порогового элемента поступают двоичные разряды первого и второго чисел ЗрiПЧ и ЗpiBЧ, перенос-заем Пi-1 Зi-1 из младшего разряда в старший и перенос-заем, сформированный в i разряде Пi Зi (фиг.8). Двоичные разряды поступают поразрядно: ЗpiПЧ - разряд первого числа, ЗpiBЧ - разряд второго числа, перенос-заем Пi-1 Зi-1 из младшего разряда в старший и перенос-заем сформированный в i разряде Пi Зi, а также признак суммирования-вычитания СВ (фиг.8). Пороговый элемент DD42 образует схему одноразрядного вычитателя двоичного числа. Логические элементы DD43 и DD46 выполняют функцию электронных ключей. Управляющим сигналом для них является признак суммирования-вычитания СВ. На пороговый элемент DD46 этот сигнал поступает через инверторы DD45. Если признак операции суммирования-вычитания СВ будет равен нулю, выполнение операции суммирования, то электронный ключ DD46 будет открыт, управляющий сигнал СВ поступает через инверторы DD45, а пороговый элемент DD43 будет заперт. Пороговый элемент DD44 вычисляет сумму одноразрядных двоичных чисел: двоичные разряды первого и второго чисел ЗрiПЧ и ЗpiBЧ, перенос-заем Пi-1 Зi-1 из младшего разряда в старший и перенос-заем, сформированный в i разряде Пi Зi. При суммировании через открытый элемент DD46 и схему ИЛИ DD47 разряд суммы СУМi поступит на вход блока регистра результата. Если сигнал СВ равен единице, что означает выполнение операции вычитания. Пороговый элемент DD42 образует схему одноразрядного вычитателя. На выходе элемента DD42 вычисляется разность, поступивших на вход одноразрядного сумматора-вычитателя двоичных чисел: двоичные разряды первого и второго чисел ЗpiПЧ, ЗpiBЧ, перенос-заем Пi-1 Зi-1 из старшего разряда в младший и перенос-заем сформированный в i разряде Пi Зi. Через открытый электронный ключ DD43 и логическую схему ИЛИ пороговый элемент DD47 разряды разности PAЗi будут поступать на вход блока регистра результата (фиг.8).
Блок 6 регистра меньшего числа содержит n - триггеров Трn, где n - количество разрядов меньшего по модулю входного числа: DD48, DD49, DD50, DD51. Блок 6 регистра меньшего числа предназначен для хранения двоичного кода меньшего по модулю числа при выполнении операции вычитания, и второго, введенного из блока 1 ввода числа, если необходимо выполнить операцию сложения. Перед началом работы сумматора-вычитателя по приходу из блока 8 управления информационного сигнала СУП происходит обнуление всех триггеров блока. По приходу из блока 2 компарации информационного сигнала ДМЧ - данные меньшего числа осуществляется загрузка двоичного кода числа. При поступлении управляющего сигнала ЗАЛ - разрешение записи на входы триггеров Тр1, Тр2, Тр3,…, Tpn из блока 8 управления, разрешающего записать информацию в триггера, происходит загрузка поступившего кода с выходов блока компарации в триггера блока. Сигнал ЗАЛ является входным управляющим сигналом для всех элементов памяти блока (фиг.9).
Блок 7 регистра результата содержит k - триггеров Tpk, где k - количество разрядов, необходимое для получения результата заданной точности: DD53, DD54, DD55 для хранения двоичных разрядов результата. А также в состав блока входит триггер Тр1 DD52, предназначенный для хранения знакового разряда результата (фиг.10). В блоке регистра результата формируется результат в параллельном режиме при выполнении операций сложения или вычитания. Перед началом работы сумматора-вычитателя по приходу из блока 8 управления информационного сигнала УП происходит обнуление всех триггеров блока. Информационный сигнал результата РЕЗ, поступающий из блока суммирования-вычитания, поступает на входы триггеров Tk DD53, DD54, DD55 блока регистра результата. Полученный результата будет храниться в триггерах, составляющих регистр блока для хранения суммы или разности. На вход триггера Тр1 DD52 из блока 2 компарации поступит управляющий сигнал ЗнР - знаковый разряд. После этого в триггер Тр1 DD52 запишется знаковый разряд результата - ЗнР (фиг.10).
Логические условия:
X1: "УОО"
Х2: "ПУСК"
Х3: "СВ"
Операторы:
У1: "СБРОС:=1"
У12: "СУМ:=ВБЧ+ВМЧ+ПРЗМ"
У2: "БКО:=ПЧ"
У13: "СВ:=1"
У3: "БКО:=ВЧ"
У14: "КОМ:=ПЧ"
У4 "СВ:=ЗрВ⊕КОП⊕ЗрА"
У15 "КОМ:=ВЧ"
У5 "СВ:=0"
У16 "БРгБЧ:=БЧ"
У6 "ЗП:=1"
У17 "БРгМЧ:=МЧ"
У7 "ЗАП:=1"
У18 "СхОСП:=ВБЧ"
У8 "БРгБЧ:=ПЧ"
У19 "СхОСП:=ВМЧ"
У9 "БРгМЧ:=ВЧ"
У20 "РАЗ:=ВБЧ-ВМЧ-ПРЗМ"
У10: "БСВ:=ВБЧ"
У21 "БРгР:=РЕЗ"
У11: "БСВ:=ВМЧ"
У22 "БРгР:=ЗнР"