RU2562366C1 - Apparatus for expanding modular code bases - Google Patents

Apparatus for expanding modular code bases Download PDF

Info

Publication number
RU2562366C1
RU2562366C1 RU2014109549/08A RU2014109549A RU2562366C1 RU 2562366 C1 RU2562366 C1 RU 2562366C1 RU 2014109549/08 A RU2014109549/08 A RU 2014109549/08A RU 2014109549 A RU2014109549 A RU 2014109549A RU 2562366 C1 RU2562366 C1 RU 2562366C1
Authority
RU
Russia
Prior art keywords
multipliers
modulo
output
input
block
Prior art date
Application number
RU2014109549/08A
Other languages
Russian (ru)
Inventor
Игорь Анатольевич Калмыков
Артем Брониславович Саркисов
Максим Игоревич Калмыков
Алена Васильевна Макарова
Екатерина Викторовна Петрова
Елена Павловна Степанова
Original Assignee
Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" filed Critical Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет"
Priority to RU2014109549/08A priority Critical patent/RU2562366C1/en
Application granted granted Critical
Publication of RU2562366C1 publication Critical patent/RU2562366C1/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: apparatus for expanding modular code bases is characterised by that the input of the apparatus, to which is transmitted a modular polynomial code A(z)=(α1(z), α2(z), …, αn(z)), where αi(z) are remainders on the base pi(z), i=1, …, n, used in a polynomial modular code, is connected to the first inputs of modulo pi(z) multipliers of a first unit of multipliers, respectively, and the second inputs of said multipliers are connected to the outputs of a first memory unit, the output of the 2.i-th modulo pi(z) multiplier of the first unit of multipliers is connected to the first input of the 4.i-th modulo pn+1(z) multiplier of a second unit of multipliers. The second input of the modulo pn+1(z) multiplier is connected to the output of a second memory unit, the outputs of the multipliers of the second unit of multipliers are connected to inputs of a modulo two adder, the output of which is the output of the apparatus.
EFFECT: reducing hardware costs on the base expansion operation in a polynomial modular code.
1 dwg

Description

Изобретение относиться к вычислительной технике и, в частности к непозиционным компьютерным системам, и предназначено для обеспечения требуемой точности при вычислении с использованием модулярного кодаThe invention relates to computer technology and, in particular, to non-position computer systems, and is intended to provide the required accuracy in the calculation using a modular code

Одним из основных достоинств полиномиального модулярного кода (ПМК) является параллельная обработка данных по основаниям ПМК p1(z), p2(z), …, pn(z), где pi(z) - неприводимый полином поля GF(2). Данное свойство полиномиального модулярного кода позволяет не только повысить скорость обработки данных за счет использования малоразрядных остатков, но и обеспечить построение отказоустойчивых вычислительных систем.One of the main advantages of the polynomial modular code (PMC) is the parallel processing of data on the bases of the PMC p 1 (z), p 2 (z), ..., p n (z), where p i (z) is the irreducible polynomial of the field GF (2 ) This property of the polynomial modular code allows not only to increase the speed of data processing through the use of low-bit residuals, but also to ensure the construction of fault-tolerant computing systems.

Так как информация обрабатывается в параллельно функционирующих вычислительных каналах по числу оснований ПМК, то при возникновении отказов несправный канал можно отключить. Это приводит к деградации структуры вычислительного устройства и уменьшению точности вычисления. Поэтому для обеспечения требуемой точности осуществляется процедура расширения оснований.Since information is processed in parallel-functioning computing channels according to the number of MVP bases, in the event of failures, the invalid channel can be turned off. This leads to degradation of the structure of the computing device and a decrease in the accuracy of the calculation. Therefore, to ensure the required accuracy, a base expansion procedure is carried out.

При расширении набора оснований полиномиального модулярного кода на основании pn+1(z) диапазон представления чиселWhen expanding the set of bases of a polynomial modular code based on p n + 1 (z), the range of representation of numbers

Figure 00000001
Figure 00000001

Расширяется до значенияExpands to value

Figure 00000002
Figure 00000002

Задача расширения системы оснований заключается в нахождении остатка αn+1(z) по модулю pn+1(z), удовлетворяющегоThe task of expanding the base system is to find the remainder α n + 1 (z) modulo p n + 1 (z) satisfying

Figure 00000003
Figure 00000003

где A(z)=(α1(z), α2(z), …, αn(z)) - результат вычислений в модулярном коде, представленный в системе оснований p1(z), p2(z), …, pn(z)where A (z) = (α 1 (z), α 2 (z), ..., α n (z)) is the result of calculations in the modular code, presented in the base system p 1 (z), p 2 (z), ..., p n (z)

В работе [1] (Червяков Н.И., Сахнюк П.А., Шапошников А.В., Макоха А.Н. Нейрокомпьютеры в остаточных классах. Кн.11. - М.: Радиотехника, 2003, 272 с. - С.138-139) представлен алгоритм реализации процедуры расширения системы оснований.In [1] (Chervyakov N.I., Sakhnyuk P.A., Shaposhnikov A.V., Makokha A.N. Neurocomputers in the residual classes. Book 11. - M.: Radio engineering, 2003, 272 pp. - S.138-139) presents an algorithm for implementing the procedure for expanding the base system.

В основу данного алгоритма положена китайская теорема об остатках (КТО), с помощью которой осуществляется перевод из модулярного кода в позиционный кодThis algorithm is based on the Chinese remainder theorem (CTO), with the help of which a translation from a modular code to a positional code is carried out

Figure 00000004
Figure 00000004

где Bi - ортогональный базис i-го основания; rA(z) - ранг A(z) в модулярном коде.where B i is the orthogonal basis of the i-th base; r A (z) is the rank of A (z) in the modular code.

Тогда для вычисления остатка αn+1(z) справедливо выражение ([1 с.138])Then, to calculate the remainder α n + 1 (z), the expression ([1 p.138])

Figure 00000005
Figure 00000005

Таким образом, для расширения системы оснований необходимо:Thus, to expand the base system, it is necessary:

1. Вычислить значение ранга rA(z)1. Calculate the value of rank r A (z)

Figure 00000006
Figure 00000006

где

Figure 00000007
; mi(z) - вес ортогонального базиса;Where
Figure 00000007
; m i (z) is the weight of the orthogonal basis;

Figure 00000008
Figure 00000008

2. Найти остаток αn+1(z) по формуле (5).2. Find the remainder α n + 1 (z) by the formula (5).

Основным недостатком представленного алгоритма расширения оснований являются значительные аппаратные затраты.The main disadvantage of the presented base expansion algorithm is significant hardware costs.

Целью изобретения является уменьшение аппаратных затрат на вычисление остатка αn+1(z). Цель достигается за счет применения нового алгоритма расширения системы оснований.The aim of the invention is to reduce hardware costs for calculating the remainder α n + 1 (z). The goal is achieved through the use of a new algorithm for expanding the base system.

Техническим результатом, достигнутым при осуществлении заявленного изобретения, является снижение аппаратурных затрат на расширение системы основания.The technical result achieved by the implementation of the claimed invention is to reduce hardware costs for expanding the base system.

Рассмотрим алгоритм перевода из полиномиального модулярного кода в позиционный код согласно китайской теореме об остатках (КТО), имеемConsider the algorithm for translating from a polynomial modular code to a positional code according to the Chinese remainder theorem (CTO), we have

Figure 00000009
Figure 00000009

где P ( z ) = i = 1 n p i ( z )

Figure 00000010
- рабочий диапазон.Where P ( z ) = i = one n p i ( z )
Figure 00000010
- working range.

Воспользуемся определением ортогональных базисов Bi(z), тогда выражение (7) можно представить в видеWe use the definition of orthogonal bases B i (z), then expression (7) can be represented as

Figure 00000011
Figure 00000011

где

Figure 00000012
; mi(z) - вес ортогонального базиса.Where
Figure 00000012
; m i (z) is the weight of the orthogonal basis.

Умножение остатка αi(z) на вес ортогонального базиса mi(z) по модулю pi(z) с учетом, что суммирование в ПКМ выполняется по модулю два, позволяют отказаться от вычисления ранга rA(z) при использовании китайской теоремы об остатках при переводе к позиционному коду.Multiplying the remainder α i (z) by the weight of the orthogonal basis m i (z) modulo p i (z), taking into account that summing in RMB is modulo two, we can refuse to calculate the rank r A (z) using the Chinese theorem on balances when translating to positional code.

Тогда для вычисления нового остатка αn+1(z) по основанию pn+1(z) воспользуемся следующим выражением:Then, to calculate the new residue α n + 1 (z) from the base p n + 1 (z), we use the following expression:

Figure 00000013
Figure 00000013

Пример. Пусть задана упорядоченная система оснований p1(z)=z+1, p2(z)=z2+z+1, p3(z)=z4+z3+z2+z+1.Example. Let an ordered base system p 1 (z) = z + 1, p 2 (z) = z 2 + z + 1, p 3 (z) = z 4 + z 3 + z 2 + z + 1 be given.

В этом случае диапазон составляетIn this case, the range is

Figure 00000014
Figure 00000014

Вычислим значения Pi(z) и mi(z). ИмеемWe calculate the values of P i (z) and m i (z). We have

P1(z)=p2(z)*p3(z)=(z2+z+1)*(z4+z3+z2+z+1)=z6+z4+z3+z2+1P 1 (z) = p 2 (z) * p 3 (z) = (z 2 + z + 1) * (z 4 + z 3 + z 2 + z + 1) = z 6 + z 4 + z 3 + z 2 +1

P2(z)=p1(z)*p3(z)=(z+1)*(z4+z3+z2+z+1)=z5+1P 2 (z) = p 1 (z) * p 3 (z) = (z + 1) * (z 4 + z 3 + z 2 + z + 1) = z 5 +1

P3(z)=p1(z)*p2(z)=(z+1)*(z2+z+1)=z3+1P 3 (z) = p 1 (z) * p 2 (z) = (z + 1) * (z 2 + z + 1) = z 3 +1

Вычислим значение веса ортогонального базиса mi(z) из условияWe calculate the value of the weight of the orthogonal basis m i (z) from the condition

Figure 00000015
Figure 00000015

Тогда имеемThen we have

m1(z)=1;m 1 (z) = 1;

m2(z)=z+1;m 2 (z) = z + 1;

m3(z)=z2+z+1.m 3 (z) = z 2 + z + 1.

Следовательно, ортогональные базисы такой системы оснований равныTherefore, the orthogonal bases of such a base system are equal

B1(z)=m1(z)*P1(z)=z6+z4+z3+z2+1;B 1 (z) = m 1 (z) * P 1 (z) = z 6 + z 4 + z 3 + z 2 +1;

B2(z)=m2(z)*P2(z)=z6+z5+z+1;B 2 (z) = m 2 (z) * P 2 (z) = z 6 + z 5 + z + 1;

B3(z)=m3(z)*P3(z)=z5+z4+z3+z2+z+1.B 3 (z) = m 3 (z) * P 3 (z) = z 5 + z 4 + z 3 + z 2 + z + 1.

Пусть задан полином A(z)=z6. Данный полином в модулярном коде представляется A(z)=(1, 1, z).Let a polynomial A (z) = z 6 be given . This polynomial in the modular code is represented by A (z) = (1, 1, z).

В качестве основания расширения выбираемAs the basis for the extension, select

pn+1(z)=p4(z)=z4+z+1p n + 1 (z) = p 4 (z) = z 4 + z + 1

Вычислим значения Pi(z)modp4(z)We calculate the values of P i (z) modp 4 (z)

Figure 00000016
Figure 00000016

Figure 00000017
Figure 00000017

Figure 00000018
Figure 00000018

Определим произведение

Figure 00000019
Define the product
Figure 00000019

Figure 00000020
Figure 00000020

Figure 00000021
Figure 00000021

Figure 00000022
Figure 00000022

Подставим полученные значения в выражение (9)Substitute the obtained values in the expression (9)

Figure 00000023
Figure 00000023

Определим остатокDefine the remainder

Figure 00000024
Figure 00000024

Структура устройства расширения оснований модулярного кода представлена на фиг.1.The structure of the base extension device of the modular code is presented in figure 1.

Устройство содержит вход устройства 1, первый блок умножителей 2, который содержит n умножителей по модулю pi(z), где i=1, 2, …, n, первый блок памяти 3, для хранения ортогональных весов mi(z); второй блок умножителей 4, который содержит n умножителей по модулю pn+1(z), второй блок памяти 5 для хранения | P i ( z ) | p n + 1 ( z ) +

Figure 00000025
, сумматор 6 по модулю два, выход устройства 7.The device contains the input of device 1, the first block of multipliers 2, which contains n multipliers modulo p i (z), where i = 1, 2, ..., n, the first block of memory 3, for storing orthogonal weights m i (z); the second block of multipliers 4, which contains n multipliers modulo p n + 1 (z), the second block of memory 5 for storage | P i ( z ) | p n + one ( z ) +
Figure 00000025
, adder 6 modulo two, the output of the device 7.

Причем вход устройства 1 подключен к первому входу каждого из умножителей pi(z), i=1, …, n, (обозначение диапазона) первого блока умножителей 2, вторые входы умножителей этого блока подключены к выходу первого блока памяти 3. Выход умножителя 2.i, выполняющего операцию умножения по модулю pi(z) первого блока умножителей 2, подключен к первому входу умножителя 4.i, выполняющего операцию умножения по модулю pn+1(z), второго блока умножителей 4. Второй вход умножителя 4.i второго блока умножителей 4 подключен к входу второго блока памяти 5. Выход умножителя 4.i подается на вход сумматора 6 по модулю 2, выход которого является выходом устройства 7.Moreover, the input of device 1 is connected to the first input of each of the multipliers p i (z), i = 1, ..., n, (range designation) of the first block of multipliers 2, the second inputs of the multipliers of this block are connected to the output of the first memory block 3. Output of the multiplier 2 .i performing a multiplication operation modulo p i (z) of the first block of multipliers 2 is connected to the first input of the multiplier 4.i performing a multiplication operation modulo p n + 1 (z) of the second block of multipliers 4. The second input of the multiplier 4. i of the second block of multipliers 4 is connected to the input of the second block of memory 5. The output of the multiplier 4 .i is fed to the input of the adder 6 modulo 2, the output of which is the output of the device 7.

Устройство работает следующим образом. На вход устройства 1 поступает модулярный код (α1(z), α2(z), …, αn(z)). Остаток αi(z) подается на вход умножителя 2.i первого блока умножителей 2. На второй вход умножителя 2.i подается вес ортогонального базиса mi(z) с выхода первого блока памяти 3. С выхода умножителя 2.i первого блока 2 умножителей снимаются значения | ( α i ( z ) m i ( z ) | p i ( z ) +

Figure 00000026
. Это значение подается на первый вход умножителя 4.i, выполняющего умножение по модулю pn+1(z). На второй вход умножителя 4.i второго блока умножителей 4 подается значение | P i ( z ) | p n + 1 ( z ) +
Figure 00000027
с выхода второго блока памяти 5. С выхода умножителя 4.i, второго блока умножителей 4 снимаем значениеThe device operates as follows. The input of device 1 receives a modular code (α 1 (z), α 2 (z), ..., α n (z)). The remainder α i (z) is fed to the input of the multiplier 2.i of the first block of multipliers 2. The second input of the multiplier 2.i is the weight of the orthogonal basis m i (z) from the output of the first memory block 3. From the output of the multiplier 2.i of the first block 2 multipliers are removed | ( α i ( z ) m i ( z ) | p i ( z ) +
Figure 00000026
. This value is supplied to the first input of the multiplier 4.i, which performs multiplication modulo p n + 1 (z). At the second input of the multiplier 4.i of the second block of multipliers 4, the value | P i ( z ) | p n + one ( z ) +
Figure 00000027
from the output of the second memory block 5. From the output of the multiplier 4.i, the second block of multipliers 4, remove the value

Figure 00000028
Figure 00000028

Вычисленные значения произведения подаются на входы сумматора 6 по модулю 2. На входе сумматора 6 по модулю два появляется значение остатка αn+1(z) в расширенной системе оснований. Вычисленное значение остатка αn+1(z)поступает на выход устройства 7.The calculated values of the product are fed to the inputs of the adder 6 modulo 2. At the input of the adder 6 modulo two appears the remainder value α n + 1 (z) in the extended base system. The calculated value of the remainder α n + 1 (z) goes to the output of the device 7.

Claims (1)

Устройство расширения оснований модулярного кода отличается тем, что вход устройства, на который подается модулярный полиномиальный код A(z)=(α1(z), α2(z), …, αn(z)), где αi(z) - остатки по основанию pi(z), i=1, …, n, используемому в полиномиальном модулярном коде, подключается к первым входам умножителей по модулю pi(z) первого блока умножителей соответственно, а вторые входы этих умножителей соединены с выходами первого блока памяти, выход 2.i-го умножителя по модулю pi(z) первого блока умножителей подсоединен к первому входу 4.i-го умножителя по модулю pn+1(z) второго блока умножителей, при этом второй вход умножителя по модулю pn+1(z) подключен к выходу второго блока памяти, выходы умножителей второго блока умножителей подсоединены к входам сумматора по модулю два, выход которого является выходом устройства. The base extension device of the modular code is characterized in that the input of the device to which the modular polynomial code A (z) = (α 1 (z), α 2 (z), ..., α n (z)) is supplied, where α i (z ) - residuals on the base p i (z), i = 1, ..., n, used in the polynomial modular code, is connected to the first inputs of the multipliers modulo p i (z) of the first block of multipliers, respectively, and the second inputs of these multipliers are connected to the outputs of the first memory block, the output of the 2.ith multiplier modulo p i (z) of the first block of multipliers is connected to the first input of the 4.ith multiplier modulo p n + 1 (z) of the second block of multipliers, while the second input of the multiplier modulo p n + 1 (z) is connected to the output of the second memory block, the outputs of the multipliers of the second block of multipliers are connected to the inputs of the adder modulo two, the output of which is the output of the device .
RU2014109549/08A 2014-03-12 2014-03-12 Apparatus for expanding modular code bases RU2562366C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014109549/08A RU2562366C1 (en) 2014-03-12 2014-03-12 Apparatus for expanding modular code bases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014109549/08A RU2562366C1 (en) 2014-03-12 2014-03-12 Apparatus for expanding modular code bases

Publications (1)

Publication Number Publication Date
RU2562366C1 true RU2562366C1 (en) 2015-09-10

Family

ID=54073634

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014109549/08A RU2562366C1 (en) 2014-03-12 2014-03-12 Apparatus for expanding modular code bases

Country Status (1)

Country Link
RU (1) RU2562366C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652446C1 (en) * 2017-07-24 2018-04-26 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Device for errors correction in modular code based on basic system expansion

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1282134A1 (en) * 1985-07-11 1987-01-07 Ставропольское высшее военное инженерное училище связи им.60-летия Великого Октября Device for expanding base system of modular code
RU2256226C2 (en) * 2003-07-30 2005-07-10 Ставропольский государственный университет Neuron network for broadening tuple of numeric subtractions system
RU2294529C2 (en) * 2005-05-05 2007-02-27 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Device for correcting errors in polynomial system of residue classes with usage of pseudo-orthogonal polynomials
RU2321883C1 (en) * 2006-10-16 2008-04-10 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Device for modulo multiplication of polynomials

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1282134A1 (en) * 1985-07-11 1987-01-07 Ставропольское высшее военное инженерное училище связи им.60-летия Великого Октября Device for expanding base system of modular code
RU2256226C2 (en) * 2003-07-30 2005-07-10 Ставропольский государственный университет Neuron network for broadening tuple of numeric subtractions system
RU2294529C2 (en) * 2005-05-05 2007-02-27 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Device for correcting errors in polynomial system of residue classes with usage of pseudo-orthogonal polynomials
RU2321883C1 (en) * 2006-10-16 2008-04-10 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Device for modulo multiplication of polynomials

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652446C1 (en) * 2017-07-24 2018-04-26 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Device for errors correction in modular code based on basic system expansion

Similar Documents

Publication Publication Date Title
US8903882B2 (en) Method and data processing unit for calculating at least one multiply-sum of two carry-less multiplications of two input operands, data processing program and computer program product
RU2562366C1 (en) Apparatus for expanding modular code bases
Jain et al. Binary division algorithm and high speed deconvolution algorithm (Based on Ancient Indian Vedic Mathematics)
David Low latency and division free Gauss–Jordan solver in floating point arithmetic
US10057064B2 (en) Computational method, computational device and computer software product for montgomery domain
Tabharit et al. Solvability of a boundary value problem with caputo derivative
Piestrak Design of multi-residue generators using shared logic
Schweitzer A two-sided short-recurrence extended Krylov subspace method for nonsymmetric matrices and its relation to rational moment matching
Czyżak et al. Pipelined scaling of signed residue numbers with the mixed-radix conversion in the programmable gate array
Matutino et al. An RNS based specific processor for computing the minimum sum-of-absolute-differences
RU2586574C1 (en) Polynomial modular computer systems of boolean functions with error detection
Ekmekçi et al. On the Complete (k, 2)-arcs of the Hall plane of order 9
RU2559771C2 (en) Device for primary division of molecular numbers
RU2559772C2 (en) Device for primary division of molecular numbers in format of remainder class system
RU2652446C1 (en) Device for errors correction in modular code based on basic system expansion
RU2626654C1 (en) Multiplier by module
RU2744815C1 (en) Device for transferring numbers from residue number system and base-radix extensions
RU2584495C1 (en) Device for calculating factor of generalised polyadic error correction
KR20160017319A (en) Arithmetic device, montgomery parameter calculation method and modular multiplication method thereof
Bello et al. A MRC Based RNS to binary converter using the moduli set {22n+ 1-1, 2n-1, 22n-1}
RU2586575C1 (en) Modular polynomial computer of boolean function systems
Kuznetsov et al. Lorenz attractor in a system with delay: an example of pseudogyperbolic chaos
JP6308845B2 (en) Arithmetic apparatus, arithmetic method, and program
RU2652450C1 (en) Device for calculation montgomery modular product
Bader et al. A binary to residue conversion using new proposed non-coprime moduli set

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180313