КОНВЕЙЕРНЫЙ ВЫЧИСЛИТЕЛЬ Российский патент 2023 года по МПК G06F7/72 

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

Область техники, к которой относится изобретение

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

Уровень техники

Из существующего уровня техники известно устройство для формирования остатка по произвольному модулю от числа, содержащее регистр и блок формирования частного и остатка, позволяющее выполнять вычисление остатка и неполного частного от чисел по произвольным модулям [1]. Недостатком данного технического решения является низкое быстродействие при вычислении остатков по модулю для потока чисел, так как вычисление остатка по модулю для очередного числа в потоке не может быть начато до тех пор, пока не завершено вычисление остатка по модулю для предыдущего числа.

Из существующего уровня техники известно вычислительное устройство, содержащее 2n−2 сумматоров и n−1 мультиплексоров, где n –разрядность входного числа, позволяющее выполнять вычисление остатка и неполного частного от чисел по произвольным модулям [2]. Недостатком данного технического решения является низкое быстродействие при вычислении остатков по модулю для потока чисел, так как вычисление остатка по модулю для очередного числа в потоке не может быть начато до тех пор, пока не завершено вычисление остатка по модулю для предыдущего числа.

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

Из существующего уровня техники известно устройство для формирования остатка по произвольному модулю от числа, содержащее l=((k/N)−1) блоков формирования частичных остатков (где k – количество разрядов в двоичном представлении числа, от которого формируется остаток, с учетом добавленных для достижения кратности N разрядов), (l+1) блоков умножения по модулю, блока распределения коэффициентов и сумматора по модулю [4]. Недостатком данного технического решения является низкое быстродействие при вычислении остатков по модулю для потока чисел, так как формирование частичного остатка и выполнение операций умножения и сложения по модулю производится заново для каждого из чисел в потоке, кроме того, вычисление остатка по модулю для очередного числа в потоке не может быть начато до тех пор, пока не завершено вычисление остатка по модулю для предыдущего числа.

Наиболее близким к заявленному техническому решению по технической сущности и достигаемому техническому результату, выбранному в качестве прототипа, является устройство для формирования остатка по заданному модулю [5], содержащее блоки формирования частичных остатков, параллельные многоразрядные регистры, мультиплексор, компаратор, блок вычитания, в котором организована конвейеризация процесса вычисления остатков по заданному модулю для потока чисел на базе последовательного выполнения операций сложения (не по модулю) первичных остатков. Недостатками данного технического решения являются большой объем оборудования, обусловленный тем, что в каждом блоке формирования частичных остатков кроме основных параллельных регистров используются дополнительные (по количеству разрядов модуля) параллельные регистры для хранения частичных остатков, а также многовходовый комбинационный сумматор, который при разрядности более 32 фактически окажется сложно реализуемым, а также будет обладать большим временем суммирования. Кроме того, предложенная структура устройства может быть реализована для конкретных разрядностей модуля и при необходимости работы с модулями иной разрядности потребуется изменение структуры устройства, а также не позволяет в потоке формировать результат по различным модулям для различных чисел.

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

Раскрытие сущности изобретения.

Указанный технический результат при осуществлении изобретения достигается тем, что в конвейерный вычислитель содержащий (n−1) блоков формирования частичных остатков, (n−1) параллельных регистров, где – разрядность входных чисел, первые и вторые информационные входы устройства, первые информационные выходы устройства и тактовый вход устройства, соединенный с тактовым входом (n−1) параллельных регистров добавлены вторые информационные выходы устройства, причем вторые информационные входы устройства соединены с (1, …, m)-ми разрядами информационных входов первого параллельного регистра, где m – разрядность модуля, а (n−1) – разрядность неполного частного, первые информационные входы устройства соединены с (m+1, …, m+n)-ми разрядами информационных входов первого параллельного регистра, (m+1, m+2)-й разряды информационных выходов которого соединены с первыми информационными входами первого блока формирования частичных остатков, первые информационные выходы (n−1)-го блока формирования частичных остатков соединены с первыми информационными выходами устройства, второй информационный выход соединен с самым младшим разрядом вторых информационных выходов устройства, первые информационные выходы i-го блока формирования частичных остатков, i=(1, …, (n−2)), соединены с (m+1, …, 2m)-ми разрядами информационных входов (i+1)-го параллельного регистра, второй информационный выход соединен с (2m+i)-м разрядом информационных входов (i+1)-го параллельного регистра, ((m+1), …, 2m)-ые разрядов информационных выходов которого соединены со (2, ... , (m+1))-ми разрядами первых информационных входов (i+1)-го блока формирования частичных остатков, с первым разрядом первых информационных входов которого соединён (2m+i)-й разряд информационных выходов (i+1)-го параллельного регистра, (1, …, m)-й разряды информационных входов которого соединены с (1, …, m)-ми разрядами информационных выходов i-го параллельного регистра и со вторыми информационными входами i-го блока формирования частичных остатков, (1, …, m)-ые разряды информационных выходов (n−1)-го параллельного регистра соединены со вторыми информационными входами (n−1)-го блока формирования частичных остатков, ((m+3), …, (m+n))-ые разряды информационных выходов первого параллельного регистра соединены с ((2m+2), …, (2m+n−1))-ми разрядами информационных входов второго параллельного регистра, ((2m+i), …, (2m+n−1))-ые разряды, i=(3, …, (n−1)), информационных входов i-го параллельного регистра соединены с ((2m+i), …, (2m+n−1))-ми разрядами информационных выходов (i−1)-го параллельного регистра, ((2m+1), …, (2m+i−2))-ые разряды, информационных входов i-го параллельного регистра соединены с ((2m+1), …, (2m+i−2))-ми разрядами информационных выходов (i−1)-го параллельного регистра, ((2m+1), …, (2m+n−2))-ые разряды, информационных выходов (n−1)-го параллельного регистра соединены с ((n−1), …, 2)-ми разрядами вторых информационных выходов устройства, разрядность первого параллельного регистра равна (n+m), а (2, …,n−1)-го параллельного регистра равна (2m+n−1), причём блок формирования частичных остатков содержит (m+1)-разрядный сумматор и m-разрядный мультиплексор, первые информационные входы (m+1)-разрядного сумматора соединены с первыми информационными входами блока формирования частичных остатков, первые информационные входы мультиплексора соединены с – младшими разрядами первых информационных входов блока формирования частичных остатков,– младших разрядов вторых информационных входов (m+1)-разрядного сумматора соединены со вторыми информационными входами блока формирования частичных остатков, на (m+1)-й разряд вторых информационных входов (m+1)-разрядного сумматора и на вход его переноса подается сигнал логической единицы, – младших разрядов информационных выходов (m+1)-разрядного сумматора соединены со вторыми информационными входами m-разрядного мультиплексора, а выход переноса соединён со вторым информационным выходом блока формирования частичных остатков и с управляющим входом m-разрядного мультиплексора, выходы которого соединены с первыми информационными выходами блока формирования частичных остатков.

Сущность изобретения заключается в реализации следующего способа конвейерного вычисления остатка R от числа A по модулю P. Пусть

A = Q·P +R, (1)

где A – целое положительное число, от которого необходимо вычислить остаток;

P – целое положительное число, называемое модулем;

Q – целое положительное число, являющееся неполным частным от деления A на P;

R — целое положительное число, являющееся остатком от деления A на P.

Причем

A = an−1·2n−1+an−2·2n−2+ . . . +a1·21+a0, (2)

P = pm−1·2m−1+pm−2·2m−2+ . . . +p1·21+p0, (3)

Q = qn−2·2n−2+ qn−3·2n−3+ . . . +q1·21+q0, (4)

R = rm−1·2m−1+ rm−2·2m−2+ . . . +r1·21+r0, (5)

где ai, – коэффициенты, принимающие значение 0 или 1 в зависимости от значения числа A;

pi, – коэффициенты, принимающие значение 0 или 1 в зависимости от значения модуля P;

qi, – коэффициенты, принимающие значение 0 или 1 в зависимости от значения неполного частного Q;

ri, – коэффициенты, принимающие значение 0 или 1 в зависимости от значения остатка R;

n – количество разрядов в представлении числа A, m – количество разрядов в представлении модуля P, .

Задача состоит в том, чтобы по известным A и P отыскать остаток R. Остаток R является в терминах теории чисел вычетом числа A по модулю P, поэтому говорят, что A сравнимо с R:

A R (mod P). (6)

Значение остатка R может быть вычислено следующим образом:

R = A (mod P)=(an−1·2n−1+an−2·2n−2+ . . . +a1·21+a0)mod P. (7)

Перепишем выражение (7) в следующем виде:

R = (2(2(…(2(an−1·2+an−2)+ an−3) …) +a1)+a0)mod P. (8)

Из теории чисел известно, что операция приведения по модулю инвариантна к сложению и умножению, т. е. величина остатка не зависит от того, вычислен он от суммы (произведения) или от каждого слагаемого (сомножителя), а затем соответствующие частичные остатки просуммированы (перемножены) и от результата вычислен остаток по модулю.

Поэтому выражение (8) может быть представлено в следующем виде

R = (2(2(…(2(an−1·2+an−2) mod P + an−3) mod P +…)mod P +a1) mod P +a0)mod P. (9)

В таком виде значительно облегчается задача нахождения остатков Ri и неполных частных Qj от чисел Аj по модулю Pj с использованием конвейерного режима, j=1, 2, 3, … .

Вначале на первом такте в первом слое конвейера от первого числа A1 вычисляют первый частичный остаток t1,1 по модулю P1:

t 1,1=(2·t1,0+a1,n−2) mod P1, при этом t1,0=a1,n−1, (10)

а также старший разряд неполного частного q1,n−2:

(11)

где a1,n−1, a1,n−2 – старшие коэффициенты числа A1 при представлении его в виде (2); q1,n−2 – старший разряд неполного частного (4), образующийся от деления числа A1 на модуль P1; – целая часть числа x.

На втором такте во втором слое конвейера от первого числа A1 вычисляют второй частичный остаток t1,2 по модулю P1:

t 1,2=(2·t1,1+a1,n−3) mod P1, (12)

а также (q1,n−3)-й разряд неполного частного:

(13)

При этом одновременно в первом слое конвейера от второго числа A2 вычисляют первый частичный остаток t2,1 по модулю P2 (в общем случае P2≠P1):

t 2,1=(2·t2,0+a2,n−2) mod P2, при этом t2,0=a2,n−1, (14)

а также старший разряд неполного частного q2,n−2:

(15)

где a2,n−1, a2,n−2 – старшие коэффициенты числа A2 при представлении его в виде (2); q2,n−2 – старший разряд неполного частного (4), образующийся от деления числа A2 на модуль P2.

На третьем такте в третьем слое конвейера от первого числа A1 вычисляют третий частичный остаток t1,3 по модулю P1:

t 1,3=(2·t1,2+a1,n−4) mod P1, (16)

а также (q1,n−4)-й разряд неполного частного:

(17)

При этом одновременно во втором слое конвейера от второго числа A2 вычисляют второй частичный остаток t2,2 по модулю P2:

t 2,2=(2·t2,1+a2,n−3) mod P2, (18)

а также (q2,n−3)-й разряд неполного частного:

(19)

При этом также в первом слое конвейера от третьего числа A3 вычисляют первый частичный остаток t3,1 по модулю P3:

t 3,1=(2·t3,0+a3,n−2) mod P3, при этом t3,0=a3,n−1, (20)

а также старший разряд неполного частного q3,n−2:

(21)

где a3,n−1, a3,n−2 – старшие коэффициенты числа A3 при представлении его в виде (2); q3,n−2 – старший разряд неполного частного (4), образующийся от деления числа A3 на модуль P3.

На (n−1)-м такте в (n−1)-м слое конвейера от первого числа A1 вычисляют (n−1)-й частичный остаток t1,n−1 по модулю P1:

t 1, n −1=(2·t1,n−2+a1,0) mod P1, (22)

который и является искомым остатком R1 от первого числа A1 по модулю P1, поступившего на вход конвейера, а также q1,0-й разряд неполного частного:

(23)

При этом в (1…(n−2))-м слоях конвейера будут находиться соответствующий частичный остаток, согласно вышеприведенным выражениям, от поступивших на его вход чисел, а также соответствующие разряды неполного частного. Соответственно на каждом следующем такте будем в (n−1)-м слое конвейера получать остатки Rj и неполные частные Qj от чисел Aj, поступающих на вход по модулям Pj, j=1, 2, 3, ….. .

Операция приведения по модулям Pj в каждом слое конвейеризации выполняется исходя из следующих соображений.

По определению величина tj,i−1 лежит в диапазоне 0≤tj,i−1Pj−1, поэтому величина

tj,i=2 t j,i−1 +aj,ni−1, , j=1, 2, 3, ….. (24)

до приведения ее по модулю может принимать значения в диапазоне от 0 до 2Pj−1, так как aj,ni−1 может принимать значение 0 или 1. Приведение по модулю величины tj,i осуществляется по следующим правилам:

tj,i (mod Pj)= tj,i, если 0≤ tj,i <Pj, (25)

tj,i (mod Pj)= tj,iPj, если Pjti<2Pj. (26)

Причем, если справедливо выражение (25), то (qj,ni−1)-й разряд неполного частного принимает значение равное 0, если же справедливо выражение (26), то (qj,ni−1)-й разряд неполного частного принимает значение равное 1.

Краткое описание чертежей.

Сущность изобретения поясняется чертежами.

На фиг. 1 представлена схема конвейерного вычислителя. Конвейерный вычислитель содержит (n−1) параллельных регистров 1.1 ÷ 1.n−1, (n−1) блоков формирования частичных остатков 2.1 ÷ 2.n−1, где – разрядность входных чисел, а (n−1) – разрядность неполного частного, первые информационные входы 3 устройства, вторые информационные входы 4 устройства, первые информационные выходы 5 устройства, вторые информационные выходы 6 устройства, тактовый вход 7 устройства. Тактовый вход 7 устройства, соединен с тактовыми входами (n−1) параллельных регистров 1.1 ÷ 1.n−1. Первые информационные входы 3 устройства соединены с (m+1, …, m+n)-ми разрядами информационных входов первого параллельного регистра 1.1, (m+1, m+2)-й разряды информационных выходов которого соединены с первыми информационными входами первого блока формирования частичных остатков 2.1, где m – разрядность модуля. Вторые информационные входы устройства соединены с (1, …, m)-ми разрядами информационных входов первого параллельного регистра. Первые информационные выходы (n−1)-го блока формирования частичных остатков 2.n−1 соединены с первыми информационными выходами 5 устройства, второй информационный выход соединен с самым младшим разрядом вторых информационных выходов 5 устройства. Первые информационные выходы i-го блока формирования частичных остатков 2.i, i=(1, …, (n−2)), соединены с (m+1, …, 2m)-ми разрядами информационных входов (i+1)-го параллельного регистра 1.i+1, второй информационный выход соединен с (2m+i)-м разрядом информационных входов (i+1)-го параллельного регистра 1.i+1, ((m+1), …, 2m)-ые разрядов информационных выходов которого соединены со (2, ... , (m+1))-ми разрядами первых информационных входов (i+1)-го блока формирования частичных остатков 2.i+1, с первым разрядом первых информационных входов которого соединён (2m+i)-й разряд информационных выходов (i+1)-го параллельного регистра 1.i+1, (1, …, m)-й разряды информационных входов которого соединены с (1, …, m)-ми разрядами информационных выходов i-го параллельного регистра 1.i и со вторыми информационными входами i-го блока формирования частичных остатков 2.i, (1, …, m)-ые разряды информационных выходов (n−1)-го параллельного регистра 1.n−1 соединены со вторыми информационными входами (n−1)-го блока формирования частичных остатков 2.n−1, ((m+3), …, (m+n))-ые разряды информационных выходов первого параллельного регистра 1.1 соединены с ((2m+2), …, (2m+n−1))-ми разрядами информационных входов второго параллельного регистра 1.2, ((2m+i), …, (2m+n−1))-ые разряды, i=(3, …, (n−1)), информационных входов i-го параллельного регистра 1.i соединены с ((2m+i), …, (2m+n−1))-ми разрядами информационных выходов (i−1)-го параллельного регистра 1.i−1, ((2m+1), …, (2m+i−2))-ые разряды, информационных входов i-го параллельного регистра 1.i соединены с ((2m+1), …, (2m+i−2))-ми разрядами информационных выходов (i−1)-го параллельного регистра 1.i−1, ((2m+1), …, (2m+n−2))-ые разряды, информационных выходов (n−1)-го параллельного регистра 1.n−1 соединены с ((n−1), …, 2)-ми разрядами вторых информационных выходов устройства, разрядность первого параллельного регистра 1.1 равна (n+m), а (1.2, …,1.n−1)-го параллельного регистра равна (2m+n−1).

На фиг. 2 представлена схема блока формирования частичных остатков 2.i, i=1, …, (n−1). Блок формирования частичных остатков 2.i содержит (m+1)-разрядный сумматор 8 и m-разрядный мультиплексор 9. Первые информационные входы (m+1)-разрядного сумматора 8 соединены с первыми информационными входами блока формирования частичных остатков. Первые информационные входы мультиплексора 9 соединены с m младшими разрядами первых информационных входов блока формирования частичных остатков 2.i, m младших разрядов вторых информационных входов (m+1)-разрядного сумматора 8 соединены со вторыми информационными входами блока формирования частичных остатков 2.i, на (m+1)-й разряд вторых информационных входов (m+1)-разрядного сумматора 8 и на вход его переноса подается сигнал логической единицы, m младших разрядов информационных выходов (m+1)-разрядного сумматора 8 соединены со вторыми информационными входами m-разрядного мультиплексора 9, а выход переноса соединён со вторым информационным выходом блока формирования частичных остатков 2.i и с управляющим входом m-разрядного мультиплексора 9, выходы которого соединены с первыми информационными выходами блока формирования частичных остатков 2.i.

На фиг. 3 представлено распределение разрядности параллельных регистров 1.1 ÷ 1.n−1. Первый параллельный регистр 1.1 имеет разрядность (n+m), где – разрядность входных чисел, а m – разрядность модуля, а параллельные регистры 1.2, …, 1.n−1 имеют разрядность равную (2m+n−1).

Осуществление изобретения.

Конвейерный вычислитель работает следующим образом (см. Фиг. 1).

В исходном состоянии параллельные регистры 1.1÷1.n−1 обнулены. На тактовый вход 7 устройства поступают тактовые импульсы. На первые информационные входы 3 устройства с каждым тактовым импульсом подаются числа Аj, от которых необходимо вычислить остаток Rj и неполное частное Qj по модулю Pj, j=1, 2, 3, …, . На вторые информационные входы 4 устройства с каждым тактовым импульсом подаются инверсные коды модулей Pj.

На первом такте первое число A1 и инверсный код модуля P1 записываются в параллельный регистр 1.1. Инверсный код модуля P1 записывается в (1, …, m)-ые разряды, а число A1 записывается в (m+1, …, m+n)-ые разряды параллельного регистра 1.1. При этом значения двух старших разряда a1,n−1 и a1,n−2 первого числа A1 с выходов (m+1, m+2)-го разрядов параллельного регистра 1.1 поступают на первые информационные входы блока формирования частичных остатков 2.1, на вторые информационные входы которого с (1, …, m)-го разрядов информационных выходов первого параллельного регистра 1.1 поступают значения инверсного кода модуля P1. Блок формирования частичных остатков 2.1 вычисляет значение первого частичного остатка t1,1 от первого числа A1 по модулю P1 в соответствии с выражением (10), а также значение старшего разряда q1,n−2 неполного частного в соответствии с (11). С первых информационных выходов блока формирования частичных остатков 2.1 m-разрядное значение первого частичного остатка t1,1 первого числа A1 по модулю P1 поступает на ((m+1), ..., 2m)-ые разряды информационных входов второго параллельного регистра 1.2. Значение старшего разряда q1,n−2 неполного частного первого числа A1 по модулю P1 со второго информационного выхода блока формирования частичных остатков 2.1 поступает на (2m+1)-й разряд информационных входов параллельного регистра 1.2. На (1, …, m)-ые разряды информационных входов параллельного регистра 1.2 поступают значения инверсного кода модуля P1 с (1, …, m)-го разрядов информационных выходов первого параллельного регистра 1.1 На ((2m+2), …, (2m+n−1))-ые разряды информационных входов этого же параллельного регистра 1.2 поступают значения (1…n−2)-ых разрядов первого входного числа A1 с ((m+3), …, (m+n))-го разрядов информационных выходов параллельного регистра 1.1.

На втором такте во второй параллельный регистр 1.2 записывается первый частичный остаток t1,1 от первого числа A1 по модулю P1 с первых информационных выходов блока формирования частичных остатков 2.1, значение старшего разряда неполного частного q1,n−2 неполного частного первого числа по модулю P1 с его второго информационного выхода, значения (1…(n−2)) разрядов первого числа A1 и значение инверсного кода модуля P1 с информационных выходов параллельного регистра 1.1. В первый параллельный регистр 1.1 с первых информационных входов 3 устройства записывается второе число A2, а со вторых информационных входов 4 устройства записывается инверсный код модуля P2. В результате на первый разряд первых информационных входов блока формирования частичных остатков 2.2 с информационных выходов второго параллельного регистра 1.2 поступит значение (n−2)-го разряда первого числа, а на остальные разряды поступит значение первого частичного остатка t1,1 от первого числа A1 по модулю P1 с информационных выходов первого блока формирования частичных остатков 2.1. В результате на первых информационных выходах блока формирования частичных остатков 2.1 будет сформирован первый частичной остаток t2,1 от второго числа A2 по модулю P2 в соответствии с (14), на втором информационном выходе блока формирования частичных остатков 2.1 будет сформировано значение старшего разряда q2,n−2 неполного частного второго числа A2 по модулю P2. На первых информационных выходах блока формирования частичных остатков 2.2 будет сформирован второй частичный остаток t1,2 от первого числа A1 по модулю P1 в соответствии с (12), а на втором информационном выходе блока формирования частичных остатков 2.2 будет сформировано значение q1,n−3 разряда неполного частного первого числа A1 по модулю P1 в соответствии с (13).

На (n−1)-ом такте на первых информационных выходах (n−1)-го блока формирования частичных остатков 2.(n−1) будет сформирован (n−1)-й частичный остаток t1,n−1 от первого числа A1 по модулю P1, в соответствии с (22), являющийся остатком R1 от числа A1 по модулю P1, который и поступит на информационные выходы 5 устройства. На втором информационном выходе (n−1)-го блока формирования частичных остатков 2.(n−1) будет сформирован q1,0 разряд неполного частного первого числа A1 по модулю P1, который вместе с (q1,n−2, …, q1,1) разрядами неполного частного первого числа A1 по модулю P1 с ((2m+1), …, (2m+n−2))-ых разрядов информационных выходов 1.n-1 параллельного регистра поступят на вторые информационные выходы 6 устройства, образуя неполное частное Q1 первого числа A1 по модулю P1, поступившего на первые информационные входы 3 устройства на первом такте.

На последующих тактах на первых информационных выходах 5 устройства будут последовательно сформированы остатки от второго, третьего и последующих чисел, поступивших на первые информационные входы 3 устройства, а на вторых информационных выходах 6 устройства будут последовательно сформированы неполные частные от второго, третьего и последующих чисел, поступивших на первые информационные входы 3 устройства по соответствующим модулям.

Блок формирования частичных остатков 2.i, i=(1, …, (n−1)) реализует выражения (25) и (26) следующим образом (см. Фиг. 2). Так как на вторые информационные входы (m+1)-разрядного сумматора 8 поступает инверсный код модуля Pj, а на вход переноса сигнал логической единицы, то (m+1)-разрядный сумматор 8 реализует операцию вычитания tj,iPj. В случае, если tj,iPj, на выходе переноса (m+1)-разрядного сумматора 8 появляется сигнал логической единицы, который, поступая на управляющий вход m-разрядного мультиплексора 9, скоммутирует с его выходами вторые информационные входы, если же tj,i<Pj, то на выходе переноса (m+1)-разрядного сумматора 8 будет сигнал логического нуля и на выходы m-разрядного мультиплексора 9 будут скоммутированы его первые информационные входы. В результате на выходах m-разрядного мультиплексора 9 всегда будет значение tj,i mod P, которое поступает на первые информационные выходы блока формирования частичных остатков 2.i. Сигнал с выхода переноса (m+1)-разрядного сумматора 8 также поступает на второй информационный выход блока формирования частичных остатков 2.i и является соответствующим разрядом неполного частного.

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

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

Источники информации.

1. Патент на изобретение RU 2012137 C1. Устройство для формирования остатка по произвольному модулю от числа. Опубликован 30.04.1994.

2. Патент на изобретение RU 2348965 C1. Вычислительное устройство. Опубликован 10.03.2009, Бюл. №7.

3. Патент на изобретение RU 2029435 C1. Комбинационный рекуррентный формирователь остатков. Опубликован 20.02.1995.

4. Патент на изобретение RU 2324972 C2. Устройство для формирования остатка по произвольному модулю от числа. Опубликован 20.05.2008. Бюл. №14.

5. Патент на изобретение RU 2421781 C1. Устройство для формирования остатка по заданному модулю. Опубликован 20.06.2011. Бюл. №17.

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

название год авторы номер документа
КОНВЕЙЕРНЫЙ ФОРМИРОВАТЕЛЬ ОСТАТКОВ ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ 2022
  • Петренко Вячеслав Иванович
RU2791440C1
Конвейерный вычислитель 2023
  • Петренко Вячеслав Иванович
RU2797163C1
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 2022
  • Петренко Вячеслав Иванович
RU2796555C1
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 2023
  • Петренко Вячеслав Иванович
  • Швецов Владимир Андреевич
  • Вечканов Алексей Витальевич
RU2798746C1
АРИФМЕТИКО-ЛОГИЧЕСКОЕ УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ ОТ ЧИСЛА 2018
  • Петренко Вячеслав Иванович
  • Тебуева Фариза Биляловна
  • Стручков Игорь Владиславович
RU2696223C1
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 2020
  • Петренко Вячеслав Иванович
RU2739338C1
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 2020
  • Петренко Вячеслав Иванович
RU2756408C1
Устройство для умножения чисел по произвольному модулю 2020
  • Петренко Вячеслав Иванович
RU2755734C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ ОТ ЧИСЛА 1992
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2012137C1
Вычислительное устройство 2017
  • Петренко Вячеслав Иванович
RU2661797C1

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

Реферат патента 2023 года КОНВЕЙЕРНЫЙ ВЫЧИСЛИТЕЛЬ

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

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

Конвейерный вычислитель, содержащий (n−1) блоков формирования частичных остатков, (n−1) параллельных регистров, где – разрядность входных чисел, первые и вторые информационные входы устройства, первые информационные выходы устройства и тактовый вход устройства, соединенный с тактовыми входами (n−1) параллельных регистров, отличающийся тем, что в него добавлены вторые информационные выходы устройства, причем вторые информационные входы устройства соединены с (1, …, m)-ми разрядами информационных входов первого параллельного регистра, где m – разрядность модуля, а (n−1) – разрядность неполного частного, первые информационные входы устройства соединены с (m+1, …, m+n)-ми разрядами информационных входов первого параллельного регистра, (m+1, m+2)-й разряды информационных выходов которого соединены с первыми информационными входами первого блока формирования частичных остатков, первые информационные выходы (n−1)-го блока формирования частичных остатков соединены с первыми информационными выходами устройства, второй информационный выход соединен с самым младшим разрядом вторых информационных выходов устройства, первые информационные выходы i-го блока формирования частичных остатков, i=(1, …, (n−2)), соединены с (m+1, …, 2m)-ми разрядами информационных входов (i+1)-го параллельного регистра, второй информационный выход соединен с (2m+i)-м разрядом информационных входов (i+1)-го параллельного регистра, ((m+1), …, 2m)-е разряды информационных выходов которого соединены со (2, ... , (m+1))-ми разрядами первых информационных входов (i+1)-го блока формирования частичных остатков, с первым разрядом первых информационных входов которого соединён (2m+i)-й разряд информационных выходов (i+1)-го параллельного регистра, (1, …, m)-й разряды информационных входов которого соединены с (1, …, m)-ми разрядами информационных выходов i-го параллельного регистра и со вторыми информационными входами i-го блока формирования частичных остатков, (1, …, m)-е разряды информационных выходов (n−1)-го параллельного регистра соединены со вторыми информационными входами (n−1)-го блока формирования частичных остатков, ((m+3), …, (m+n))-е разряды информационных выходов первого параллельного регистра соединены с ((2m+2), …, (2m+n−1))-ми разрядами информационных входов второго параллельного регистра, ((2m+i), …, (2m+n−1))-е разряды, i=(3, …, (n−1)), информационных входов i-го параллельного регистра соединены с ((2m+i), …, (2m+n−1))-ми разрядами информационных выходов (i−1)-го параллельного регистра, ((2m+1), …, (2m+i−2))-е разряды информационных входов i-го параллельного регистра соединены с ((2m+1), …, (2m+i−2))-ми разрядами информационных выходов (i−1)-го параллельного регистра, ((2m+1), …, (2m+n−2))-е разряды информационных выходов (n−1)-го параллельного регистра соединены с ((n−1), …, 2)-ми разрядами вторых информационных выходов устройства, разрядность первого параллельного регистра равна (n+m), а (2, …,n−1)-го параллельного регистра равна (2m+n−1), причём блок формирования частичных остатков содержит (m+1)-разрядный сумматор и m-разрядный мультиплексор, первые информационные входы (m+1)-разрядного сумматора соединены с первыми информационными входами блока формирования частичных остатков, первые информационные входы мультиплексора соединены с m младшими разрядами первых информационных входов блока формирования частичных остатков, m младших разрядов вторых информационных входов (m+1)-разрядного сумматора соединены со вторыми информационными входами блока формирования частичных остатков, на (m+1)-й разряд вторых информационных входов (m+1)-разрядного сумматора и на вход его переноса подается сигнал логической единицы, m младших разрядов информационных выходов (m+1)-разрядного сумматора соединены со вторыми информационными входами m-разрядного мультиплексора, а выход переноса соединён со вторым информационным выходом блока формирования частичных остатков и с управляющим входом m-разрядного мультиплексора, выходы которого соединены с первыми информационными выходами блока формирования частичных остатков.

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

ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 2020
  • Петренко Вячеслав Иванович
RU2756408C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ЗАДАННОМУ МОДУЛЮ 2009
  • Захаров Вячеслав Михайлович
  • Столов Евгений Львович
  • Шалагин Сергей Викторович
RU2421781C1
ПЕРЕПРОГРАММИРУЕМЫЙ ВЫЧИСЛИТЕЛЬ ДЛЯ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ 1998
  • Аряшев С.И.
  • Бобков С.Г.
RU2146389C1
Способ получения продуктов конденсации фенолов с формальдегидом 1924
  • Петров Г.С.
  • Тарасов К.И.
SU2022A1
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1

RU 2 804 380 C1

Авторы

Петренко Вячеслав Иванович

Даты

2023-09-28Публикация

2023-05-30Подача