Арифметико-логическое устройство для сложения и вычитания чисел по модулю

Иллюстрации

Показать все

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, а также в устройствах цифровой обработки сигналов и в криптографических приложениях. Техническим результатом изобретения является обеспечение возможности выполнения операции суммирования и вычитания по модулю. Для этого предложено арифметико-логическое устройство для сложения и вычитания чисел по модулю, которое содержит четыре n-разрядных регистра, два управляемых инвертора, шесть электронных ключей, один n-разрядный сумматор, один (n+1)-разрядный сумматор, схему дизъюнкторов ИЛИ, модуль управляющего блока, входную шину и выходную шину. 2 ил.

Реферат

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

Известно устройство для сложения и вычитания чисел по модулю (патент РФ N 2023289, МКИ G06F 7/49, Б.И. №21, 1994 г.), содержащее четыре счетчика, два элемента запрета, девять блоков элементов И, четыре блока элементов ИЛИ, шифратор, дешифратор, четыре элемента ИЛИ-НЕ, два элемента ИЛИ, элемент И, два блока определения дополнительного кода остатка по первому частному модулю, два блока определения дополнительного кода остатка по второму частному модулю, два блока определения кода остатка по первому частному модулю и два блока определения кода остатка по второму частному модулю.

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

Наиболее близким по технической сущности к заявляемому изобретению является арифметико-логическое устройство для выполнения операции сложения и вычитания, содержащее четыре n-разрядных регистра, два электронных ключа, входную и выходную n-разрядные шины, один n-разрядный сумматор, схему дизъюнкторов ИЛИ, модуль управляющего блока, схему выработки признаков переполнения, управляемый инвертор (Бабич Н.П., Жуков И.А. Компьютерная схемотехника. Методы построения и проектирования: Учебное пособие. - К.: «МК-Пресс», 2004, рис. 9.1, стр. 293).

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

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

Для достижения технического результата в арифметико-логическое устройство для выполнения операции сложения и вычитания, содержащее четыре n-разрядных регистра, два электронных ключа, первый управляемый инвертор, входную и выходную n-разрядные шины, один n-разрядный сумматор, схему дизъюнкторов ИЛИ, модуль управляющего блока, причем информационные входы первого и второго n-разрядного регистра соединены с входной шиной, управляющий вход первого n-разрядного регистра соединен с первым выходом модуля управляющего блока, управляющий вход второго n-разрядного регистра соединен с вторым выходом модуля управляющего блока, управляющий вход третьего n-разрядного регистра соединен с третьим выходом модуля управляющего блока, выход первого n-разрядного регистра соединен с информационным входом первого электронного ключа, выход второго n-разрядного регистра соединен с информационным входом первого управляемого инвертора, управляющий вход которого соединен с четвертым выходом модуля управляющего блока, управляющие входы первого и второго электронного ключа соединены с шестым выходом модуля управляющего блока, выход первого электронного ключа соединен с первым информационным входом n-разрядного сумматора, второй информационный вход которого соединен с выходом второго электронного ключа, выход четвертого n-разрядного регистра соединен с выходной шиной, а его первый управляющий вход соединен с двенадцатым выходом модуля управляющего блока, на первый вход модуля управляющего блока подается одноразрядный код команды сложения, на второй вход модуля управляющего блока подается одноразрядный код команды вычитания, на третий вход модуля управляющего блока подаются тактовые импульсы, введены четыре электронных ключа, второй управляемый инвертор, (n+1)-разрядный сумматор, причем информационный вход третьего n-разрядного регистра соединен с входной шиной, а выход соединен с информационным входом второго управляемого инвертора, управляющий вход которого соединен с пятым выходом модуля управляющего блока, а выход соединен с информационным входом третьего электронного ключа, управляющий вход которого соединен с шестым выходом модуля управляющего блока, выход первого управляемого инвертора соединен с информационным входом второго электронного ключа, вход переноса n-разрядного сумматора соединен с седьмым выходом модуля управляющего блока, а выход переноса соединен с четвертым входом модуля управляющего блока, а также с информационным входом четвертого электронного ключа, управляющий вход которого соединен с восьмым выходом модуля управляющего блока, а выход соединен с (n+1)-ым разрядом первого информационного входа (n+1)-разрядного сумматора, информационный выход n-разрядного сумматора соединен с информационным входом пятого электронного ключа, а также с младшими n разрядами первого информационного входа (n+1)-разрядного сумматора, вход переноса которого соединен с девятым выходом модуля управляющего блока, на (n+1)-ый разряд второго информационного входа подается сигнал логического 0, младшие n разрядов второго информационного входа соединены с выходом третьего электронного ключа, (n+1)-ый разряд информационного выхода соединен с пятым входом модуля управляющего блока, а младшие n разрядов информационного выхода соединены с информационным входом шестого электронного ключа, управляющий вход которого соединен с одиннадцатым выходом модуля управляющего блока, а выход соединен с вторым информационным входом схемы дизъюнкторов ИЛИ, первый информационный вход которой соединен с выходом пятого электронного ключа, управляющий вход которого соединен с десятым выходом модуля управляющего блока, выход схемы дизъюнкторов ИЛИ соединен с информационным входом четвертого n-разрядного регистра, второй управляющий вход которого соединен с тринадцатым выходом модуля управляющего блока.

Сущность изобретения заключается в реализации операции сложения и вычитания чисел А и В по модулю Р следующим образом. Суммированию подлежат числа А и В, которые находятся в диапазоне от 0 до (Р-1) включительно. Слагаемые и модуль с входной шины последовательно записываются в входные регистры. В случае если сумма чисел S=(А+В) не превышает значения Р, то операция приведения по модулю не выполняется и результатом суммирования чисел (А+В) по модулю Р является сумма (А+В). Если (A+В)≥Р, то из этой суммы вычитается значение модуля Р и результат является результатом работы устройства в режиме сложения. Вычитание числа В из числа А по модулю Р реализуется следующим образом. Операндами являются числа А и В, которые находятся в диапазоне от 0 до (Р-1) включительно. Уменьшаемое, вычитаемое и модуль с входной шины записываются во входные регистры. В случае если разность чисел S=(А-В)<0, то операция приведения по модулю не выполняется и результатом вычитания (А-В) по модулю Р является разность (А-В). Если (А-В)<0, то к этой разности прибавляется значение модуля Р и результат является результатом работы устройства в режиме вычитания.

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

Арифметико-логическое устройство для сложения и вычитания чисел по модулю содержит четыре n-разрядных регистра 1, 2, 3, 15, два управляемых инвертора 4, 5, шесть электронных ключей 6, 7, 8, 10, 12, 13, один n-разрядный сумматор 9, один (n+1)-разрядный сумматор 11, схему дизъюнкторов ИЛИ 14, модуль управляющего блока 16, входную шину 17 и выходную шину 18. На первый вход 19 устройства подается одноразрядный код команды сложения, на второй вход 20 подается одноразрядный код команды вычитания, на третий вход 21 подаются тактовые импульсы. Информационные входы первого, второго и третьего n-разрядных регистров 1, 2, 3 соединены с входной шиной 17, управляющий вход первого n-разрядного регистра 1 соединен с первым выходом модуля управляющего блока 16, а его выход соединен с информационным входом первого электронного ключа 6, управляющий вход которого соединен с шестым выходом модуля управляющего блока 16, а выход соединен с первым информационным входом n-разрядного сумматора 9. Управляющий вход второго n-разрядного регистра 2 соединен с вторым выходом модуля управляющего блока 16, а его выход соединен с информационным входом первого управляемого инвертора 4, управляющий вход которого соединен с четвертым выходом модуля управляющего блока 16, а выход соединен с информационным входом второго электронного ключа 7, управляющий вход которого соединен с шестым выходом модуля управляющего блока 16, а выход соединен с вторым информационным входом n-разрядного сумматора 9. Управляющий вход третьего n-разрядного регистра 3 соединен с третьим выходом модуля управляющего блока 16, а его выход соединен с информационным входом второго управляемого инвертора 5, управляющий вход которого соединен с пятым выходом модуля управляющего блока 16, а выход соединен с информационным входом третьего электронного ключа 8, управляющий вход которого соединен с шестым выходом модуля управляющего блока 16. Вход переноса n-разрядного сумматора 9 соединен с седьмым выходом модуля управляющего блока 16, выход переноса соединен с четвертым входом модуля управляющего блока 16, а также с информационным входом четвертого электронного ключа 10, управляющий вход которого соединен с восьмым выходом модуля управляющего блока 16, а выход соединен с (n+1)-ым разрядом первого информационного входа (n+1)-разрядного сумматора 11. Информационный выход n-разрядного сумматора 9 соединен с информационным входом пятого электронного ключа 12, а также с младшими n разрядами первого информационного входа (n+1)-разрядного сумматора 11, вход переноса которого соединен с девятым выходом модуля управляющего блока 16, на старший разряд второго информационного входа подается сигнал логического 0, младшие n разрядов второго информационного входа соединены с выходом третьего электронного ключа 8, (n+1)-ый разряд информационного выхода соединен с пятым входом модуля управляющего блока 16, а младшие n разрядов информационного выхода соединены с информационным входом шестого электронного ключа 13. Управляющий вход пятого электронного ключа 12 соединен с десятым выходом модуля управляющего блока 16, а его выход соединен с первым информационным входом схемы дизъюнкторов ИЛИ 14. Управляющий вход шестого электронного ключа 13 соединен с одиннадцатым выходом модуля управляющего блока 16, а его выход соединен с вторым информационным входом схемы дизъюнкторов ИЛИ 14, выход которой соединен с информационным входом четвертого n-разрядного регистра 15, первый управляющий вход которого соединен с двенадцатым выходом модуля управляющего блока 16, второй управляющий вход соединен с тринадцатым выходом модуля управляющего блока 16, а выход соединен с выходной шиной 18.

На фиг. 2 представлена схема модуля управляющего блока арифметико-логического устройства для сложения и вычитания чисел по модулю.

Модуль управляющего блока 16 арифметико-логического устройства для сложения и вычитания чисел по модулю содержит два двухвходовых элемента И 16.1 и 16.2, четыре трехвходовых элемента И 16.10, 16.11, 16.12, 16.13, три двухвходовых элемента ИЛИ 16.3, 16.14, 16.15, два инвертора 16.8, 16.9, два RS-триггера 16.6, 16.7, один трехразрядный счетчик 16.4 и один трехвходовой дешифратор 16.5. Первый вход 19 модуля управляющего блока 16 соединен с первым входом первого двухвходового элемента И 16.1, первыми входами первого и второго трехвходовых элементов И 16.10, 16.11, а также с пятым, восьмым и девятым выходами модуля управляющего блока 16. Второй вход 20 модуля управляющего блока 16 соединен с первым входом второго двухвходового элемента И 16.2, первым входом третьего и четвертого трехвходовых элементов И 16.12, 16.13, а также с четвертым и седьмым выходами модуля управляющего блока 16. Третий вход 21 модуля управляющего блока 16 соединен с вторыми входами первого и второго двухвходовых элементов И 16.1 и 16.2. Четвертый вход модуля управляющего блока 16 соединен с входом второго инвертора 16.9, а также с вторым входом четвертого трехвходового элемента И 16.13. Пятый вход модуля управляющего блока 16 соединен с входом первого инвертора 16.8, а также с вторым входом второго трехвходового элемента И 16.11. Выход первого инвертора 16.8 соединен с вторым входом первого трехвходового элемента И 16.10, выход второго инвертора 16.9 соединен с вторым входом третьего трехвходового элемента И 16.12. Выход первого двухвходового элемента И 16.1 соединен с первым входом первого двухвходового элемента ИЛИ 16.3, выход второго двухвходового элемента И 16.2 соединен с вторым входом первого двухвходового элемента ИЛИ 16.3, выход которого соединен со счетным входом трехразрядного счетчика 16.4, выходы которого соединены с соответствующими информационными входами трехвходового дешифратора 16.5, первый выход которого является первым выходом модуля управляющего блока 16, второй выход является вторым выходом модуля управляющего блока 16, третий выход является третьим выходом модуля управляющего блока 16, шестой выход является двенадцатым выходом модуля управляющего блока 16, четвертый выход соединен с S-входом первого RS-триггера 16.6, пятый выход соединен с S-входом второго RS-триггера 16.7, седьмой выход соединен с R-входами первого и второго RS-триггеров 16.6, 16.7 и является тринадцатым выходом модуля управляющего блока 16. Выход первого RS-триггера 16.6 является шестым выходом модуля управляющего блока 16, выход второго RS-триггера 16.7 соединен с третьими входами первого, второго, третьего и четвертого трехвходовых элементов И 16.10, 16.11, 16.12, 16.13. Выход первого трехвходового элемента И 16.10 соединен с первым входом второго двухвходового элемента ИЛИ 16.14, выход второго трехвходового элемента И 16.11 соединен с первым входом третьего двухвходового элемента ИЛИ 16.15, выход третьего трехвходового элемента И 16.12 соединен с вторым входом третьего двухвходового элемента ИЛИ 16.15, выход четвертого трехвходового элемента И 16.13 соединен с вторым входом второго двухвходового элемента ИЛИ 16.14. Выход второго двухвходового элемента ИЛИ 16.14 является десятым выходом модуля управляющего блока 16, выход третьего двухвходового элемента ИЛИ 16.15 является одиннадцатым выходом модуля управляющего блока 16.

Арифметико-логическое устройство для сложения и вычитания чисел по модулю работает следующим образом. В исходном состоянии первый, второй, третий и четвертый n-разрядные регистры 1, 2, 3, 15 арифметико-логического устройства обнулены, на первый и второй входы 19 и 20 устройства подается сигнал логического 0, трехразрядный счетчик 16.4, первый и второй RS-триггеры 16.6 и 16.7 обнулены. Для начала работы устройства в режиме суммирования и на протяжении всего цикла суммирования на первый вход 19 устройства подается сигнал логической 1. Данный сигнал передается на пятый, восьмой и девятый выходы модуля управляющего блока 16, сигналы с которых соответственно поступают на управляющий вход второго управляемого инвертора 5, на управляющий вход четвертого электронного ключа 10, а также на вход переноса (n+1)-разрядного сумматора 11. При этом тактовые импульсы, поступающие на третий вход 21 устройства, начинают подсчитываться трехразрядным счетчиком 16.4 и появляются на остальных выходах модуля управляющего блока 16. С приходом первого тактового импульса на третий вход 21 устройства, состояние трехразрядного счетчика 16.4 изменяется с 000 на 001 и на первом выходе трехвходового дешифратора 16.5 появляется импульс. Этот импульс с выхода y1 модуля управляющего блока 16 поступает на управляющий вход первого n-разрядного регистра 1, в результате чего происходит считывание с входной шины 17 кода слагаемого А и запись его в первый n-разрядный регистр 1. С приходом второго тактового импульса состояние трехразрядного счетчика 16.4 изменяется на 010. Управляющий импульс появляется на втором выходе трехвходового дешифратора 16.5. С выхода y2 модуля управляющего блока 16 данный импульс поступает на управляющий вход второго n-разрядного регистра 2, в результате чего происходит считывание с входной шины 17 кода слагаемого В и запись его в второй n-разрядный регистр 2. С приходом третьего тактового импульса состояние трехразрядного счетчика 16.4 изменяется на 011, управляющий импульс появляется на третьем выходе трехвходового дешифратора 16.5 и поступает на выход y3 модуля управляющего блока 16. С выхода y3 модуля управляющего блока 16 импульс поступает на управляющий вход третьего n-разрядного регистра 3, осуществляя запись в него с входной шины 17 кода модуля Р. С приходом четвертого тактового импульса, управляющий импульс появляется на четвертом выходе трехвходового дешифратора 16.5 и поступает на S-вход первого RS-триггера 16.6, переводя его в единичное состояние. В результате на выходе y6 модуля управляющего блока 16 появляется сигнал логической 1, который открывает первый, второй и третий электронные ключи 6, 7, 8. С выхода первого и второго электронных ключей 6 и 7 коды слагаемых А и В поступают на вход n-разрядного сумматора 9, а с выхода третьего электронного ключа 8 инверсный код модуля поступает на второй вход (n+1)-разрядного сумматора 11. С выхода n-разрядного сумматора 9 код суммы чисел А и В поступает на младшие n разрядов первого информационного входа (n+1)-разрядного сумматора 11 и на информационный вход пятого электронного ключа 12. Сигнал с выхода переноса n-разрядного сумматора 9 поступает на четвертый вход модуля управляющего блока 16, а также через открытый четвертый электронный ключ 10, на (n+1)-ый разряд первого входа (n+1)-разрядного сумматора 11. (n+1)-разрядный сумматор 11 по существу выполняет операцию вычитания из суммы чисел (А+В) кода модуля Р, так как код модуля Р поступает на второй вход (n+1)-разрядного сумматора 11 в инверсном виде и на вход переноса (n+1)-разрядного сумматора 11 постоянно передается логическая 1, что в целом идентично дополнительному коду модуля Р. В случае если значение суммы чисел (А+В) больше или равно значению модуля Р, то на старшем разряде выхода (n+1)-разрядного сумматора 11 появится сигнал логической 1, в противном случае появится сигнал логического 0. С приходом пятого тактового импульса на третий вход 21 устройства управляющий импульс появится на пятом выходе трехвходового дешифратора 16.5, переводя второй RS-триггер 16.7 в единичное состояние. В результате на третьи входы первого, второго, третьего и четвертого трехвходовых элементов И 16.10, 16.11, 16.12, 16.13 подается сигнал логической 1 с выхода второго RS-триггера 16.7. Если сумма чисел (А+В) окажется меньше модуля Р, то на пятый вход модуля управляющего блока 16 поступит сигнал логического 0 и распределительный импульс окажется на выходе y10 модуля управляющего блока 16, открывая пятый электронный ключ 12 и пропуская на вход схемы дизъюнкторов ИЛИ 14 значение суммы (А+В). Если сумма чисел (А+В)≥Р, то единичный импульс на пятом входе модуля управляющего блока 16 откроет второй трехвходовый элемент И 16.11, а также третий двухвходовый элемент ИЛИ 16.15 и управляющий импульс окажется на выходе y11 модуля управляющего блока 16, открывая шестой электронный ключ 13 и пропуская на вход схемы дизъюнкторов ИЛИ 14 разность (А+В)-Р. Таким образом, на выходе схемы дизъюнкторов ИЛИ 14 образуется схема чисел (А+В) по модулю Р. С приходом шестого тактового импульса управляющий импульс появляется на выходе y12 модуля управляющего блока 16, воздействуя на первый управляющий вход четвертого n-разрядного регистра 15, записывая в него сумму чисел по модулю. С приходом седьмого тактового импульса управляющий импульс с седьмого выхода трехвходового дешифратора 16.5 обнуляет первый и второй RS-триггеры 16.6, 16.7 и поступает на выход y13 модуля управляющего блока 16, поступая затем на второй управляющий вход четвертого n-разрядного регистра 15, в результате чего информация с выхода четвертого n-разрядного регистра 15 считывается в выходную шину 18.

Для начала работы устройства в режиме вычитания и на протяжении всего цикла работы на второй вход 20 устройства подается сигнал логической 1. Данный сигнал передается на четвертый и седьмой выходы модуля управляющего блока 16, сигналы с которых соответственно поступают на управляющий вход первого управляемого инвертора 4, а также на вход переноса n-разрядного сумматора 9. При этом тактовые импульсы, поступающие на третий вход 21 устройства, начинают подсчитываться трехразрядным счетчиком 16.4 и появляются на остальных выходах модуля управляющего блока 16. С приходом первого тактового импульса на третий вход 21 устройства, состояние трехразрядного счетчика 16.4 изменяется с 000 на 001 и на первом выходе трехвходового дешифратора 16.5 появляется импульс. Этот импульс с выхода y1 модуля управляющего блока 16 поступает на управляющий вход первого n-разрядного регистра 1, в результате чего происходит считывание с входной шины 17 кода слагаемого А и запись его в первый n-разрядный регистр 1. С приходом второго тактового импульса состояние трехразрядного счетчика 16.4 изменяется на 010. Управляющий импульс появляется на втором выходе трехвходового дешифратора 16.5 и поступает на выход y2 модуля управляющего блока 16, поступая на управляющий вход второго n-разрядного регистра 2, в результате чего происходит считывание с входной шины 17 кода слагаемого В и запись его в второй n-разрядный регистр 2. С приходом третьего тактового импульса состояние трехразрядного счетчика 16.4 изменяется на 011, управляющий импульс появляется на третьем выходе трехвходового дешифратора 16.5 и поступает на выход y3 модуля управляющего блока 16. С выхода y3 модуля управляющего блока импульс поступает на управляющий вход третьего n-разрядного регистра 3, осуществляя запись в него с входной шины 17 кода модуля Р. С приходом четвертого тактового импульса, управляющий импульс появляется на четвертом выходе трехвходового дешифратора 16.5 и поступает на S-вход первого RS-триггера 16.6, переводя его в единичное состояние. В результате на выходе y6 модуля управляющего блока появляется сигнал логической 1, который открывает первый, второй и третий электронные ключи 6, 7, 8. С выхода первого электронного ключа 6 код уменьшаемого А поступает на первый вход n-разрядного сумматора 9, с выхода второго электронного ключа 7 код вычитаемого В поступает в инверсном виде на второй вход n-разрядного сумматора 9, а с выхода третьего электронного ключа 8 код модуля поступает на второй вход (n+1)-разрядного сумматора 11. n-разрядный сумматор 9, таким образом выполняет операцию вычитания числа В из числа А, так как код вычитаемого В поступает на второй вход n-разрядного сумматора 9 в инверсном виде и на вход переноса n-разрядного сумматора 9 постоянно подается сигнал логической 1, что в целом идентично дополнительному коду вычитаемого В. С выхода n-разрядного сумматора 9 код разности чисел А и В поступает на первый информационный вход (n+1)-разрядного сумматора 11 и на информационный вход пятого электронного ключа 12. Разряд переноса с выхода n-разрядного сумматора 9 поступает на четвертый вход модуля управляющего блока 16. В случае если значение (А-В)<0, то на выходе переноса n-разрядного сумматора 9 появится сигнал логической 1, в противном случае появится сигнал логического 0. С приходом пятого тактового импульса на третий вход 21 устройства управляющий импульс появится на пятом выходе трехвходового дешифратора 16.5, переводя второй RS-триггер 16.7 в единичное состояние. В результате на третьи входы первого, второго, третьего и четвертого трехвходовых элементов И 16.10, 16.11, 16.12, 16.13, подается сигнал логической 1 с выхода второго RS-триггера 16.7. Если разность чисел (А-В)<0, то на четвертый вход модуля управляющего блока 16 поступит сигнал логической 1 и распределительный импульс окажется на выходе y10 модуля управляющего блока 16, открывая пятый электронный ключ 12 и пропуская на вход схемы дизъюнкторов ИЛИ 14 значение разности (А-В). Если разность (А-В)<0, то инвертированный сигнал логического 0 с четвертого входа модуля управляющего блока 16 откроет третий трехвходовый элемент И 16.12, а затем третий двухвходовый элемент ИЛИ 16.15, вследствие чего управляющий импульс окажется на выходе y11 модуля управляющего блока 16, открывая шестой электронный ключ 13 и пропуская на вход схемы дизъюнкторов ИЛИ 14 сумму (А-В)+Р. Таким образом, на выходе схемы дизъюнкторов ИЛИ 14 образуется схема чисел (А-В) по модулю Р. С приходом шестого тактового импульса управляющий импульс появляется на выходе y12 модуля управляющего блока 16, воздействуя на первый управляющий вход четвертого n-разрядного регистра 15, записывая в него разность чисел по модулю. С приходом седьмого тактового импульса управляющий импульс с седьмого выхода трехвходового дешифратора 16.5 обнуляет первый и второй RS-триггеры 16.6, 16.7 и поступает на выход y13 модуля управляющего блока, поступая затем на второй управляющий вход четвертого n-разрядного регистра 15, в результате чего информация с выхода четвертого n-разрядного регистра 15 считывается в выходную шину 18.

Рассмотрим работу устройства на конкретных примерах.

Пусть разрядность обрабатываемых данных n составляет 4 бита. Тогда разрядность всех n-разрядных регистров 1, 2, 3, 15 и n-разрядного сумматора 9 составляет 4 бита, а разрядность (n+1)-разрядного сумматора 11 составляет 5 бит.

Рассмотрим работу устройства в режиме сложения для чисел А=12, В=7, Р=14. Прямые двоичные коды операндов имеют вид: А2=1100, В2=0111, Р2=1110. Инверсный код модуля Ринв=0001. Результат работы n-разрядного сумматора 9 А22=1100+0111=10011 поступает на (n+1)-разрядный сумматор 11. Результатом работы (n+1)-разрядного сумматора 11 является (А22)+Ринв+1=10011+00001+1=10101. Старший 5-й разряд является признаком переполнения и на результат не влияет. Поскольку 5-й разряд (n+1)-разрядного сумматора 11 принимает значение 1, то в четвертый n-разрядный регистр 15, а затем и на выходную шину 18 запишутся через открытый шестой электронный ключ 13 значения 4-х младших разрядов полученной суммы в (n+1)-разрядном сумматоре 11 (А22)+Ринв+1, т.е. 01012 или 510. Сложение по модулю выполнено корректно, поскольку 12 + 7 (mod 14) = 5.

Для случая A=8, В=5, Р=14 имеем А2=1000, B2=0101, Р2=1110. Инверсный код модуля Ринв=0001. Результат работы n-разрядного сумматора 9 А22-1000+0101=01101 поступает на (n+1)-разрядный сумматор 11. В результате (n+1)-разрядный сумматор 11 выполнит следующую операцию (А22)+Ринв+1=01101+00001+1=01111. Поскольку пятый разряд (n+1)-разрядного сумматора 11 равен 0, результатом работы устройства будет четыре младших разряда суммы А22 с выхода n-разрядного сумматора 9, т.е. 11012 или 1310. Сложение по модулю выполнено корректно, поскольку 8+5 (mod 14) = 13.

Рассмотрим работу устройства в режиме вычитания для чисел А=12, В=7, Р=14. Прямые двоичные коды операндов имеют вид: А2=1100, B2=0111, P2=1110. Инверсный код вычитаемого Винв=1000. Результат работы n-разрядного сумматора 9 А2инв+1=1100+1000+1=10101. Поскольку в n-разрядном сумматоре 9 произошло переполнение, то в четвертый n-разрядный регистр 15, а затем и на выходную шину 18 через открытый пятый электронный ключ 12, запишется значение полученной суммы в n-разрядном сумматоре 9, т.е. 01012, или 510. Вычитание по модулю выполнено корректно, поскольку 12 - 7 (mod 14) = 5.

Для случая А=7, В=12, Р=14 имеем: А2=0111, В2=1100, Р2=1110. Инверсный код вычитаемого Винв=0011. Тогда А2инв+1=0111+0011+1=01011. Поскольку переполнения в n-разрядном сумматоре 9 не произошло, результатом вычитания по модулю является сумма полученного в (n+1)-разрядном сумматоре 11 значения 01011 с модулем Р: А2инв+1+Р2=1011+1+1110=11001. 5-й разряд (n+1)-разрядного сумматора 11 является признаком переполнения и в результате не учитывается. Окончательный результат операции вычитания по модулю равен 10012, или 910. Вычитание по модулю выполнено корректно, поскольку 7 - 12 (mod 14) = 9.

Арифметико-логическое устройство для сложения и вычитания чисел по модулю, содержащее четыре n-разрядных регистра, два электронных ключа, первый управляемый инвертор, входную и выходную n-разрядные шины, один n-разрядный сумматор, схему дизъюнкторов ИЛИ, модуль управляющего блока, причем информационные входы первого и второго n-разрядного регистра соединены с входной шиной, управляющий вход первого n-разрядного регистра соединен с первым выходом модуля управляющего блока, управляющий вход второго n-разрядного регистра соединен с вторым выходом модуля управляющего блока, управляющий вход третьего n-разрядного регистра соединен с третьим выходом модуля управляющего блока, выход первого n-разрядного регистра соединен с информационным входом первого электронного ключа, выход второго n-разрядного регистра соединен с информационным входом первого управляемого инвертора, управляющий вход которого соединен с четвертым выходом модуля управляющего блока, управляющие входы первого и второго электронного ключа соединены с шестым выходом модуля управляющего блока, выход первого электронного ключа соединен с первым информационным входом n-разрядного сумматора, второй информационный вход которого соединен с выходом второго электронного ключа, выход четвертого n-разрядного регистра соединен с выходной шиной, а его первый управляющий вход соединен с двенадцатым выходом модуля управляющего блока, на первый вход модуля управляющего блока подается одноразрядный код команды сложения, на второй вход модуля управляющего блока подается одноразрядный код команды вычитания, на третий вход модуля управляющего блока подаются тактовые импульсы, отличающееся тем, что в него введены четыре электронных ключа, второй управляемый инвертор, (n+1)-разрядный сумматор, причем информационный вход третьего n-разрядного регистра соединен с входной шиной, а выход соединен с информационным входом второго управляемого инвертора, управляющий вход которого соединен с пятым выходом модуля управляющего блока, а выход соединен с информационным входом третьего электронного ключа, управляющий вход которого соединен с шестым выходом модуля управляющего блока, выход первого управляемого инвертора соединен с информационным входом второго электронного ключа, вход переноса n-разрядного сумматора соединен с седьмым выходом модуля управляющего блока, а выход переноса соединен с четвертым входом модуля управляющего блока, а также с информационным входом четвертого электронного ключа, управляющий вход которого соединен с восьмым выходом модуля управляющего блока, а выход соединен с (n+1)-ым разрядом первого информационного входа (n+1)-разрядного сумматора, информационный выход n-разрядного сумматора соединен с информационным входом пятого электронного ключа, а также с младшими n разрядами первого информационного входа (n+1)-разрядного сумматора, вход переноса которого соединен с девятым выходом модуля управляющего блока, на (n+1)-ый разряд второго информационного входа подается сигнал логического 0, младшие n разрядов второго информационного входа соединены с выходом третьего электронного ключа, (n+1)-ый разряд информационного выхода соединен с пятым входом модуля управляющего блока, а младшие n разрядов информационного выхода соединены с информационным входом шестого электронного ключа, управляющий вход которого соединен с одиннадцатым выходом модуля управляющего блока, а выход соединен с вторым информационным входом схемы дизъюнкторов ИЛИ, первый информационный вход которой соединен с выходом пятого электронного ключа, управляющий вход которого соединен с десятым выходом модуля управляющего блока, выход схемы дизъюнкторов ИЛИ соединен с информационным входом четвертого n-разрядного регистра, второй управляющий вход которого соединен с тринадцатым выходом модуля управляющего блока, причем модуль управляющего блока арифметико-логического устройства для сложения и вычитания чисел по модулю содержит два двухвходовых элемента И, четыре трехвходовых элемента И, три двухвходовых элемента ИЛИ, два инвертора, два RS-триггера, один трехразрядный счетчик и один трехвходовой дешифратор, при этом первый вход модуля управляющего блока соединен с первым входом первого двухвходового элемента И, первым входом первого и второго трехвходового элемента И, а также с пятым, восьмым и девятым выходами модуля управляющего блока, второй вход модуля управляющего блока соединен с первым входом второго двухвходового элемента И, первым входом третьего и четвертого трехвходовых элементов И, а также с четвертым и седьмым выходами модуля управляющего блока, третий вход модуля управляющего блока соединен с вторыми входами первого и второго двухвходовых элементов И, четвертый вход модуля управляющего блока соединен с входом второго инвертора, а также с вторым входом четвертого трехвходового элемента И, пятый вход модуля управляющего блока соединен с входом первого инвертора, а также с вторым входом второго трехвходового элемента И, выход первого инвертора соединен с вторым входом первого трехвходового элемента И, выход второго инвертора соединен с вторым входом третьего трехвходового элемента И, выход первого двухвходового элемента И соединен с первым входом первого двухвходового элемента ИЛИ, выход второго двухвходового элемента И соединен с вторым входом первого двухвходового элемента ИЛИ, выход которого соединен со счетным входом трехразрядного счетчика, выходы которого соединены с соответствующими информационными входами трехвходового дешифратора, первый выход которого является первым выходом модуля управляющего блока, второй выход является вторым выходом модуля управляющего блока, третий выход является третьим выходом модуля управляющего блока, шестой выход является двенадцатым выходом модуля управляющего блока, четвертый выход соединен с S-входом первого RS-триггера, пятый выход соединен с S-входом второго RS-триггера, седьмой выход соединен с R-входами первого и второго RS-триггеров и является тринадцатым выходом модуля управляющего блока, выход первого RS-триггера является шестым выходом модуля управляющего блока, выход второго RS-триггера соединен с третьими входами первого, второго, третьего и четвертого трехвходовых элементов И, выход первого трехвходового элемента И соединен с первым входом второго двухвходового элемента ИЛИ, выход второго трехвходового элемента И соединен с первым входом третьего двухвходового элемента ИЛИ, выход третьего трехвходового элемента И соединен с вторым входом третьего двухвходового элемента ИЛИ, выход четвертого трехвходового элемента И соединен с вторым входом второго двухвходового элемента ИЛИ, выход второго двухвходового элемента ИЛИ является десятым выходом модуля управляющего блока, выход третьего двухвходового элемента ИЛИ является одиннадцатым выходом модуля управляющего блока.