Накапливающий сумматор по модулю
MODULO ACCUMULATOR

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, а также в устройствах цифровой обработки сигналов, в криптографических приложениях и в системах управления.
Известен накапливающий сумматор (Тарабрин Б.В. Справочник по интегральным микросхемам/Б.В. Тарабрин, С.В. Якубовский, Н.А. Барканов и др.; под ред. Б.В. Тарабрина – 2-е изд., перераб. и доп. – М.: Энергия, 1981, рис. 5-250, стр.741), содержащий 3 сумматора и 3 регистра.
Недостатком данного сумматора являются ограниченные функциональные возможности, а именно отсутствие операции суммирования по модулю.
n
n
Наиболее близким по технической сущности к заявляемому изобретению является накапливающий сумматор по модулю, содержащий -разрядный и (+1)-разрядный сумматоры, мультиплексор и регистр (Патент RU 2500017 С1. Накапливающий сумматор по модулю. Опубликован 27.11.2013. Бюл. № 33).
n
n
Недостатком данного устройства является низкое быстродействие, вызванное последовательным вычислением сумм в -разрядном и (+1)-разрядном сумматорах.
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
Техническим результатом изобретения является повышение быстродействия. Для достижения технического результата в накапливающий сумматор по модулю, содержащий -разрядный сумматор, (+1)-разрядный сумматор, мультиплексор, параллельный регистр, первый и второй информационные входы устройства, тактовый вход устройства, вход сброса устройства, информационный выход устройства, причём первые информационные входы устройства соединены со вторыми информационными входами -разрядного сумматора, на вход переноса которого подаётся сигнал логического нуля, первые информационные входы которого соединены с информационными выходами параллельного регистра и с информационными выходами устройства, информационные выходы соединены с первыми информационными входами мультиплексора, со вторыми информационными входами которого соединены младшие  разрядов информационных выходов (+1)-разрядного сумматора, выход переноса которого соединён с управляющим входом мультиплексора, информационные выходы которого соединены с информационными входами параллельного регистра, тактовый вход которого соединён с тактовым входом устройства, а вход сброса соединён со входом сброса устройства, на вход переноса (+1)-разрядного сумматора подаётся сигнал логической единицы, дополнительно введены  одноразрядных сумматоров, первые информационные входы которых соединены с информационным выходом устройства, с соответствующими разрядами информационных выходов параллельного регистра и первых информационных входов -разрядного сумматора, вторые информационные входы которых соединены с соответствующими разрядами вторых информационных входов -разрядного сумматора и первым информационным входом устройства, входы переноса соединены с соответствующими разрядами вторых информационных входов устройства, информационные выходы соединены с соответствующими  младшими разрядами первых информационных входов (+1)-разрядного сумматора, а выходы переноса соединены с соответствующими  младшими разрядами вторых информационных входов (+1)-разрядного сумматора со сдвигом на один разряд в сторону старшего, на (+1)-й разряд первых информационных входов и на самый младший разряд вторых информационных входов (+1)-разрядного сумматора подается сигнал логического нуля.
A
P
А
i
Q
Q
A
Q
Р
A
Q
P
A
Q
Q
A
Q
Р
A
Q
Р
Q
A
Q
Р
Q
A
Q
A
Q
P
i
i
i
-1
0
i
i
-1
i
i
-1
i
i
-1
i
i
i
-1
i
i
-1
i
i
i
-1
i
-
1
i
i
-1
i
i
-1
Сущность изобретения заключается в реализации следующего способа накопительного суммирования чисел по модулю . Поступающие на вход накапливающего сумматора целые числа  (=1, 2, 3,…), , потактово суммируются с числами , записанными в его памяти на предыдущем такте. До начала вычислений память устройства обнулена (=0). Результат суммирования + приводится по модулю  следующим образом. Если (+)<, то выполняется обычное суммирование (+)и эта сумма является результатом . Если же (+)≥, то из суммы (+)  вычитается значение  и результат  является суммой (+) mod . Полученный результат записывается в память устройства и на следующем такте используется в качестве значения числа . Повышение быстродействия в предлагаемом устройстве достигается за счет того, что вычисление (+) и (+)- осуществляется параллельно, а не последовательно, как в устройстве прототипе.
n
n
n
n
А
i
P
Q
i
На фиг. 1 представлена схема накапливающего сумматора по модулю. Накапливающий сумматор содержит -разрядный сумматор 1,  одноразрядных сумматоров 2.1 — 2., (+1)-разрядный сумматор 3, мультиплексор 4, параллельный регистр 5, первые информационные входы устройства 6, на которые подаются коды суммируемых чисел  (=1, 2, 3,…), , вторые информационные входы устройства 7, на которые подается инверсный код модуля , тактовый вход устройства 8, на который подаются тактовые импульсы, вход сброса устройства 9, информационные выходы устройства 10, с которых снимается результат .
А
i
.
В
…B
n
n
n
P
Р
P
n
Q
Q
…Q
A
…A
n
n
n
S
…S
X
…X
n
n
A
…A
n
n
n
В
…B
n
n
В
A
P
n
n
n
S
…S
Y
…Y
P
V
Q
…Q
D
…D
i
1
n
i
i
1
n
1
n
1
n
1
n
1
n
2
n
+1
1
n
+1
i
1
n
1
n
o
1
n
1
n
На первые информационные входы 6 устройства последовательно, синхронно с тактовыми импульсами, подаваемыми на тактовый вход 8, подаются коды последовательности чисел  (=1, 2, 3,…), Эти входы соединены со вторым входом () -разрядного сумматора 1 и вторыми входами  одноразрядных сумматоров 2.1 — 2..На вход переноса  сумматора 1 подается нулевой сигнал. На вторые информационные входы 7 устройства подается код модуля  в инверсном виде, который соединён со входами переносов одноразрядных сумматоров 2. Вход 9 устройства служит для обнуления устройства перед началом работы. Выход 10 является выходом  устройства. Выходы регистра 5 () соединены с выходом 10 устройства, с первыми входами () -разрядного сумматора 1 и первыми входами  одноразрядных сумматоров 2.1 — 2.. Выходы сумматора 1 () соединены с первыми входами () мультиплексора 4. Информационные выходы  одноразрядных сумматоров 2.1 — 2. соединены с первым информационным входом () (+1)-разрядного сумматора 3. Выходы переноса  одноразрядных сумматоров 2.1 — 2. соединены со вторым информационным входом () (+1)-разрядного сумматора 3 со сдвигом на один разряд в сторону старшего, на самый младший разряд вторых информационных входов (+1)-разрядного сумматора 3  и на его самый старший разряд первых информационных входов  подается сигнал логического нуля. На вход переноса (+1)-разрядного сумматора 3 подаётся логическая единица. Младшие  информационных выходов (+1)-разрядного сумматора 3 () соединены со вторыми входами () мультиплексора 4, а выход переноса  – с управляющим входом  мультиплексора 4. Выходы мультиплексора 4 () соединены со входами записи () регистра 5.
Накапливающий сумматор по модулю работает следующим образом (см. Фиг. 1).
А
i
В
…B
B
n
n
P
n
A
n
A
…A
n
n
Q
…Q
S
…S
n
X
X
P
n
n
P
n
n
n
Q
…Q
Р
Р,
n
S
S
P
n
V
Y
Y
Р
P
Q
…Q
Х
Х
Q
…Q
A
n
n
n
n
Q
A
Р
i
1
n
i
i
1
n
1
n
1
n
1
n
i
1
n
1
n
o
1
n
o
1
n
1
n
1
n
i
i
Перед началом работы на вход сброса 9 устройства подается импульс, который обнуляет содержимое параллельного регистра 5. На тактовый вход 8 устройства поступают тактовые импульсы, которые синхронизируют работу устройства. С каждым тактовым импульсом на первые информационные входы 6 поступают коды чисел  (=1, 2, 3,…), , поступающие далее на вторые информационные входы () сумматора 1 и вторые информационные входы одноразрядных сумматоров 2.1 — 2.. На вход переноса -разрядного сумматора 1 подается нулевой сигнал. Разрядность входных чисел равна . На первые входы сумматора 1 () и  одноразрядных сумматоров 2.1 — 2. поступает код числа с выхода () параллельного регистра 5. На первом такте таким числом является «0». С информационного выхода () -разрядного сумматора 1 код суммы поступает на первые входы (…) мультиплексора 4. На входы переноса  одноразрядных сумматоров 2.1 — 2. поступает инверсный код модуля . Цепь из  одноразрядных сумматоров 2.1 — 2. и (+1)-разрядного сумматора 3 выполняет операцию вычитания из кода числа, являющегося суммой чисел, поступающих с первых информационных входов 6 устройства и информационного выхода () параллельного регистра 5, кода модуля , поступающего со входа 7 устройства. В случае, если уменьшаемое число больше или равно  на выходах (+1)-разрядного сумматора 3 (…) появится разность чисел, а на выходе переноса  (+1)-разрядного сумматора 3 появится логическая единица, которая поступает на управляющий вход  мультиплексора 4, под воздействием которой на выход мультиплексора 4 будут скоммутированы его вторые информационные входы (…). Если же уменьшаемое число меньше , то на выходе переноса  образуется нулевой сигнал и на выходы мультиплексора 4 () будут скоммутированы его первые информационные входы (…). Под воздействием тактового импульса код числа с выхода мультиплексора 4 () записывается в регистр 5. Данное число на следующем такте работы выступает в качестве первого слагаемого  в -разрядном сумматоре 1 и цепи, состоящей из  одноразрядных сумматоров 2.1 — 2. и (+1)-разрядного сумматора 3 и результата вычисления  на данном такте, поступающего на выход 10 устройства. Таким образом, на каждом такте работы в регистре 5 формируется сумма всех поступивших на предыдущих тактах чисел  по модулю .
A
Q
A
Q
P
i
i
-1
i
i
-1
Повышение быстродействия предлагаемого устройства достигается за счет того, что вычисление (+) и (+)- осуществляется параллельно, в отличие от устройства-прототипа, где эти операции выполняются последовательно.