[go: up one dir, main page]

RU2586575C1 - Modular polynomial computer of boolean function systems - Google Patents

Modular polynomial computer of boolean function systems Download PDF

Info

Publication number
RU2586575C1
RU2586575C1 RU2015121060/08A RU2015121060A RU2586575C1 RU 2586575 C1 RU2586575 C1 RU 2586575C1 RU 2015121060/08 A RU2015121060/08 A RU 2015121060/08A RU 2015121060 A RU2015121060 A RU 2015121060A RU 2586575 C1 RU2586575 C1 RU 2586575C1
Authority
RU
Russia
Prior art keywords
inputs
outputs
modulo
values
information
Prior art date
Application number
RU2015121060/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 RU2015121060/08A priority Critical patent/RU2586575C1/en
Application granted granted Critical
Publication of RU2586575C1 publication Critical patent/RU2586575C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

FIELD: computer engineering.
SUBSTANCE: invention can be used as a special-purpose calculator - a versatile class of logical calculations. Apparatus comprises a switch, 2k memory blocks store values of expansion coefficients of polynomials, 2n-k storage memories erection residues in variable i-th degree (i = 0, 1, …, 2n-k-1) modulo P, multi-channel multiplexer allocation coefficient group, multi-channel multiplexer allocation group deductions, 2n-k modulo P multipliers, a modulo P adder, n inputs feed Boolean variable device, control input feeder value of number of variables of decomposition, control input values feeder coefficients, control input of subtraction of feeder construction of a variable in i-th degree modulo P, d outputs of device for outputting Boolean functions.
EFFECT: reduced volume of equipment.
1 cl, 1 dwg

Description

Предлагаемое устройство относится к вычислительной технике и может быть использовано как специализированный вычислитель - универсальный в классе логических вычислений.The proposed device relates to computer technology and can be used as a specialized computer - universal in the class of logical computing.

Известен модулярный вычислитель систем булевых функций [1], содержащий коммутатор, входы которого являются входами устройства для подачи n булевых переменных, а выходы с (k+1) по n подключены к входам блока конъюнкций, выходы которого подключены к входам каждого из 2k блоков памяти, выходы которых подключены к входам 2n-k мультиплексоров, где i-й выход j-го блока памяти подключен к j-му входу i-го мультиплексора (i=1, 2, …, 2n-k; j=1, 2, …, 2k), управляющие входы каждого из которых соединены с k первыми входами коммутатора, а выходы подключены к входам многоместного сумматора, выходы которого являются выходами устройства выдачи результата вычисления булевых функций.Known modular computer systems of Boolean functions [1], containing a switch, the inputs of which are inputs of the device for supplying n Boolean variables, and the outputs from (k + 1) through n are connected to the inputs of the conjunction block, the outputs of which are connected to the inputs of each of 2 k blocks memory, the outputs of which are connected to the inputs of 2 nk multiplexers, where the i-th output of the j-th memory block is connected to the j-th input of the i-th multiplexer (i = 1, 2, ..., 2 nk ; j = 1, 2, ... 2 k), the control inputs of each of which are connected to the k first input of the switch and outputs connected to inputs mnogome deleterious adder, the outputs of which are the outputs of the calculation result dispenser Boolean functions.

Наиболее близким по сущности технического решения заявленному устройству является арифметический вычислитель систем булевых функций [2], содержащий n входов подачи булевых переменных, коммутатор, 2k блоков памяти хранения групп коэффициентов, n-k+1 мультиплексоров выделения группы коэффициентов, многоместный сумматор, d выходов выдачи значений булевых функций, причем информационные входы коммутатора являются входами подачи булевых переменных устройства, а выходы с (k+1)-го по n-й подключены к информационным входам каждого из 2k блоков памяти хранения коэффициентов, выходы которых подключены к информационным входам каждого из (n-k+1) мультиплексоров выбора группы коэффициентов, где i-й выход j-го блока памяти подключен к j-му входу i-го мультиплексора (i=1, 2, …, n-k+1; j=1, 2, …, 2k), управляющие входы каждого из которых соединены с k первыми выходами коммутатора, а выходы подключены к многоместному сумматору, d мультиплексоров выделения информационного разряда, многоканальный мультиплексор, 2k блоков памяти хранения адресов информационных разрядов, управляющий вход подачи сигнала выбора булевых переменных разложения, который является управляющим входом коммутатора, а управляющий вход подачи сигнала выбора реализуемой булевой функции устройства является управляющим входом каждого из 2k блоков памяти хранения коэффициентов и каждого из 2k блоков памяти хранения адресов информационных разрядов, выходы каждого из которых подключены к информационным входам многоканального мультиплексора, управляющие входы которого соединены с первыми k выходами коммутатора, а выходы с 1-го по d-й подключены к адресным входам d мультиплексоров выделения информационного разряда соответственно, информационные входы каждого из которых соединены с выходами многоместного сумматора, а выходы являются выходами выдачи значений булевых функций устройства.The claimed device closest in essence to the technical solution is an arithmetic calculator of Boolean function systems [2], containing n inputs of Boolean variables, a switch, 2 k memory blocks for storing coefficient groups, n-k + 1 multiplexers for selecting a group of coefficients, a multi-place adder, d outputs issuing Boolean functions, the data inputs of the switch inputs are Boolean variables feed device and outputs a (k + 1) -th to n-th connected to data inputs of each of 2 k memory blocks storage of coefficients whose outputs are connected to the information inputs of each of (n-k + 1) multiplexers for selecting a group of coefficients, where the i-th output of the j-th memory block is connected to the j-th input of the i-th multiplexer (i = 1, 2, ..., n-k + 1; j = 1, 2, ..., 2 k ), the control inputs of each of which are connected to the k first outputs of the switch, and the outputs are connected to a multi-seat adder, d information discharge multiplexers, multi-channel multiplexer, 2 k blocks of memory storage addresses of information bits, the control input of the signal selection Nya Ullevi variables decomposition, which is a control input of the switch, and the control flow selection signal input realizable Boolean function device is a control input of each of 2 k memory blocks storing coefficients and each of 2 k memory blocks storing address information bits, outputs of each of which are connected to information the inputs of a multi-channel multiplexer, the control inputs of which are connected to the first k outputs of the switch, and the outputs 1 through d are connected to the address inputs d of the multiplex dividing the information category, respectively, the information inputs of each of which are connected to the outputs of the multi-place adder, and the outputs are outputs of the values of the Boolean functions of the device.

Недостатком известного устройства является большие объемы оборудования (в частности, большая размерность разрядной сетки арифметического вычислителя систем булевых функций).A disadvantage of the known device is the large volumes of equipment (in particular, the large dimension of the discharge grid of the arithmetic calculator of Boolean function systems).

Цель изобретения - уменьшение объемов оборудования (уменьшение разрядной сетки вычислителя).The purpose of the invention is the reduction of equipment volumes (reduction of the discharge grid of the computer).

Поставленная цель достигается тем, что в модулярный полиномиальный вычислитель систем булевых функций, содержащий коммутатор, информационные входы которого являются n входами подачи булевых переменных устройства, управляющие входы которого подключены к управляющему входу устройства подачи значения количества переменных разложения, 2k блоков памяти хранения значений коэффициентов полиномов разложения, управляющие входы которых подключены к управляющему входу устройства подачи значений коэффициентов, информационные выходы которых подключены к информационным входам многоканального мультиплексора выделения группы коэффициентов, управляющие входы которого подключены к k первым выходам коммутатора, введены 2n-k блоков памяти хранения значений вычетов возведения переменной в i-тую степень (i=0, 1, …, 2n-k-1) по модулю Р, управляющие входы которых подключены к управляющему входу устройства подачи значений вычетов возведения переменной в i-тую степень по модулю Р, информационные выходы которых подключены к информационным входам многоканального мультиплексора выделения группы вычетов, управляющие входы которого подключены к n-k вторым информационным выходам коммутатора, 2n-k умножителей по модулю Р, где входы j-го умножителя по модулю Р подключены к j-м информационным выходам многоканального мультиплексора выделения группы коэффициентов и многоканального мультиплексора выделения группы вычетов (j=1, 2, …, 2n-k), выходы которых подключены к входам сумматора по модулю Р, d выходов которого являются d выходами устройства выдачи значений булевых функций.This goal is achieved by the fact that in a modular polynomial calculator of Boolean function systems containing a switch, the information inputs of which are n inputs of Boolean variables of the device, the control inputs of which are connected to the control input of the device for supplying the values of the number of decomposition variables, 2 k blocks of memory for storing the values of polynomial coefficients decompositions, the control inputs of which are connected to the control input of the device for supplying coefficient values, the information outputs of which connected to the information inputs of a multichannel multiplexer for selecting a group of coefficients, the control inputs of which are connected to the k first outputs of the switch, 2 nk memory blocks for storing values of residues of raising a variable to the ith degree (i = 0, 1, ..., 2 nk -1) are introduced by module P, the control inputs of which are connected to the control input of the device for supplying residues of raising the variable to the ith power modulo P, the information outputs of which are connected to the information inputs of the multi-channel group selection multiplexer the number of residues, the control inputs of which are connected to the nk second information outputs of the switch, 2 nk multipliers modulo P, where the inputs of the jth multiplier modulo P are connected to the jth information outputs of the multichannel coefficient group multiplexer and the multichannel residue group selection multiplexer (j = 1, 2, ..., 2 nk ), the outputs of which are connected to the inputs of the adder modulo P, d outputs of which are d outputs of the device for issuing the values of Boolean functions.

Для представления системы булевых функций (СБФ) f1, …, fd интерполяционным полиномом интерпретируем значения наборов переменных СБФ и значения функций на этих наборах как записи чисел в двоичной системе счисления и затем в десятичной:To represent a system of Boolean functions (SBF) f 1 , ..., f d by an interpolation polynomial, we interpret the values of the sets of variables of the SBF and the values of the functions on these sets as writing numbers in a binary number system and then in decimal:

Figure 00000001
Figure 00000001

В результате данной интерпретации получим функцию F(X), область значения и область определения которой {0, 1, …, s-1}, где s=2n.As a result of this interpretation, we obtain the function F (X), the range and value of which are {0, 1, ..., s-1}, where s = 2 n .

Значения аргумента X являются равноудаленными узлами интерполирования, что обеспечивает возможность применения различных способов интерполяции к интерпретированной форме записи СБФ.The values of the argument X are equidistant interpolation nodes, which makes it possible to apply various interpolation methods to the interpreted form of the SBF record.

Воспользуемся методом интерполяции Лагранжа для представления F(X) степенным полиномом:We use the Lagrange interpolation method to represent F (X) by a power polynomial:

Figure 00000002
Figure 00000002

илиor

Figure 00000003
Figure 00000003

а i - коэффициенты полинома, (i=0, 1, …, s-1), s=2n. and i are the coefficients of the polynomial, (i = 0, 1, ..., s-1), s = 2 n .

Пример 1. Рассмотрим представление СБФ интерполяционным полиномом, заданной таблицей истинности:Example 1. Consider the representation of SBF by the interpolation polynomial given by the truth table:

Figure 00000004
Figure 00000004

В десятичном виде таблица истинности примет вид:In decimal form, the truth table will take the form:

Figure 00000005
Figure 00000005

Построение ИП методом Лагранжа:Construction of the IP by the Lagrange method:

Figure 00000006
Figure 00000006

Вычисление значений СБФ:Calculation of SBF values:

Пусть Х=11 (x1=1, х2=0, х3=1, х4=1), тогда:Let X = 11 (x 1 = 1, x 2 = 0, x 3 = 1, x 4 = 1), then:

Figure 00000007
Figure 00000007

и соответственно получаем значения f1=1, f2=1, f3=1, f4=1.and accordingly we obtain the values f 1 = 1, f 2 = 1, f 3 = 1, f 4 = 1.

Рассмотрим представление СБФ в модулярной интерполяционной полиномиальной форме представления системы булевых функций.Consider the representation of SBF in the modular interpolation polynomial form of the representation of a system of Boolean functions.

Так какAs

Figure 00000008
Figure 00000008

где М - простое число, φ(М) - функция Эйлера, то интерполяционный полином (1) примет вид:where M is a prime number, φ (M) is the Euler function, then the interpolation polynomial (1) takes the form:

Figure 00000009
Figure 00000009

где bia i (mod Р), i=0, 1, …, s-1, P - простое число, P>s.where b ia i (mod Р), i = 0, 1, ..., s-1, P is a prime, P> s.

Достоинством модулярной интерполяционной полиномиальной формы представления СБФ является значительное уменьшение коэффициентов. Рассмотрим СБФ из примера 1.The advantage of the modular interpolation polynomial form of the SBF representation is a significant reduction in the coefficients. Consider the SBF from Example 1.

Пример 2. Представим полином P(Х) по модулю 17:Example 2. Represent the polynomial P (X) modulo 17:

Z(X)=P(X) (mod 17),Z (X) = P (X) (mod 17),

Z(X)=5+11X+7X2+16Х3+11X4+X5+16Х6+15Х7+4Х9+12Х10+5X11+9Х12+15Х13+14Х14+8Х15 (mod 17).Z (X) = 5 + 11X + 7X 2 + 16X 3 + 11X 4 + X 5 + 16X 6 + 15X 7 + 4X 9 + 12X 10 + 5X 11 + 9X 12 + 15X 13 + 14X 14 + 8X 15 (mod 17 )

Полученный эффект:The resulting effect:

- переход к целочисленным положительным значениям коэффициентов;- transition to integer positive values of the coefficients;

- среднее уменьшение коэффициентов в 250 раз.- average reduction of the coefficients by 250 times.

Рассмотрим разложение интерполяционной полиномиальной формы представления системы булевых функций по булевым переменным.Consider the expansion of the interpolation polynomial form of the representation of a system of Boolean functions in Boolean variables.

Пример 3. Рассмотрим таблицу истинности системы булевых функций F(x1, x2, x3):Example 3. Consider the truth table of a system of Boolean functions F (x 1 , x 2 , x 3 ):

Figure 00000010
Figure 00000010

и интерпретируем ее следующим образом:and interpret it as follows:

Figure 00000011
Figure 00000011

и соответственно в десятеричной системе счисления:and accordingly in the decimal number system:

Figure 00000012
Figure 00000012

Построим интерполяционные полиномы для x1=0 и x1=1:Construct interpolation polynomials for x 1 = 0 and x 1 = 1:

Н(х1=0, X)=5Х2-X3-7X+3;H (x 1 = 0, X) = 5X 2 -X 3 -7X + 3;

Figure 00000013
Figure 00000013

и соответственно модулярная форма примет вид:and accordingly the modular form will take the form:

H(x1=0, X)(mod 5)=4Х3+3Х+3 (mod 5);H (x 1 = 0, X) (mod 5) = 4X 3 + 3X + 3 (mod 5);

H(x1=1, Х)(mod 5)=3Х3+2Х2+4Х+2 (mod 5).H (x 1 = 1, X) (mod 5) = 3X 3 + 2X 2 + 4X + 2 (mod 5).

Пусть х1=1, X=2 (х2=1, х3=0):Let x 1 = 1, X = 2 (x 2 = 1, x 3 = 0):

H(x1=1, X=2)(mod 5)=3·23+2·22+4·2+2 (mod 5)=2=(10)2, тогда значения f1=1, f2=0.H (x 1 = 1, X = 2) (mod 5) = 3 · 2 3 + 2 · 2 2 + 4 · 2 + 2 (mod 5) = 2 = (10) 2 , then the values f 1 = 1, f 2 = 0.

Общий вид разложения модулярной интерполяционной формы представления СБФ по одной переменной примет вид:The general form of the expansion of the modular interpolation form of the SBF representation in one variable takes the form:

Figure 00000014
Figure 00000014

гдеWhere

Figure 00000015
Figure 00000015

Figure 00000016
Figure 00000016

Общий вид разложения модулярной интерполяционной формы представления СБФ по k переменным примет вид:The general form of the expansion of the modular interpolation form of the SBF representation in k variables will take the form:

Figure 00000017
Figure 00000017

гдеWhere

Figure 00000018
Figure 00000018

Структурная схема предлагаемого устройства представлена на фиг. 1, которое содержит коммутатор 1, блоки памяти 2.1, …, 2.2k, блоки памяти 3.1, …, 3.2k, многоканальный мультиплексор 4, многоканальный мультиплексор 5, умножители по модулю P 6.1, …, 6.2n-k [3], сумматор по модулю Р 7 [4], входы устройства 8.1, …, 8.n подачи значений булевых переменных х1, х2, …, хn, управляющий вход устройства 9 подачи значения количества переменных разложения, управляющий вход устройства 10 подачи значений коэффициентов, управляющий вход устройства 11 подачи значений вычетов возведения переменной в i-тую степень по модулю P, 12.1, …, 12.d выходы устройства выдачи значений булевых функций f1, …, fd.The block diagram of the proposed device is presented in FIG. 1, which contains switch 1, memory blocks 2.1, ..., 2.2 k , memory blocks 3.1, ..., 3.2 k , multi-channel multiplexer 4, multi-channel multiplexer 5, multipliers modulo P 6.1, ..., 6.2 nk [3], modulo adder P 7 [4], the inputs of the device 8.1, ..., 8.n supply the values of Boolean variables x 1 , x 2 , ..., x n , the control input of the device 9 supply the value of the number of decomposition variables, the control input of the device 10 supply of coefficient values, the control input devices 11 for feeding the values of the residues of raising a variable to the ith power modulo P, 12.1, ..., 12.d The results of the values of Boolean functions f 1 , ..., f d .

Входы устройства 8.1, …, 8.n подачи булевых переменных х1, х2, …, хn являются информационными входами коммутатора 1, управляющий вход которого подключен к управляющему входу устройства 9 подачи значения количества переменных разложения, управляющие входы блоков памяти 2.1, …, 2.2k хранения значений коэффициентов разложения:

Figure 00000019
подключены к управляющему входу устройства 10 подачи значений коэффициентов, управляющие входы блоков памяти 3.1, …, 3.2k хранения значений вычетов возведения переменной X в i-ю степень по модулю Р: X 2 n k 1 ( mod P ) , X 2 n k 2 ( mod P ) , , X 0 ( mod P ) ( X = 0, 1, , P 1 )
Figure 00000020
подключены к управляющему входу устройства 11 подачи значений вычетов возведения переменной X в i-ю степень по модулю Р, управляющие входы многоканального мультиплексора 4 выделения группы коэффициентов подключены к k первым выходам коммутатора 1, где 1-й управляющий вход многоканального мультиплексора 4 подключен к 1-му входу коммутатора 1 и так далее и k-тый управляющий вход многоканального мультиплексора 4 подключен к k-му выходу коммутатора 1, а информационные входы подключены к выходам блоков памяти 2.1, …, 2.2k, где 1-е 2n-k информационных входов многоканального мультиплексора 4 подключены соответственно к 2n-k выходам блока памяти 2.1 и так далее и 2k-е 2n-k информационных входов многоканального мультиплексора 4 подключены соответственно к 2n-k выходам блока памяти 2.2k, управляющие входы многоканального мультиплексора 5 выделения группы вычетов подключены к n-k вторым выходам коммутатора 1, где k+1-й управляющий вход многоканального мультиплексора 5 подключен к k+1-му входу коммутатора 1 и так далее и n-й управляющий вход многоканального мультиплексора 5 подключен к n-му выходу коммутатора 1, а информационные входы подключены к выходам блоков памяти 3.1, …, 3.2k, где 1-е 2n-k информационных входов многоканального мультиплексора 5 подключены соответственно к 2n-k выходам блока памяти 3.1 и так далее и 2k-е 2n-k информационных входов многоканального мультиплексора 5 подключены соответственно к 2n-k выходам блока памяти 3.2k, входы умножителей 6.1, …, 6.2n-k по модулю Р подключены к информационным выходам многоканального мультиплексора 4 и многоканального мультиплексора 5, где 1-й вход умножителя 6.1 подключен к 1-му информационному выходу многоканального мультиплексора 4 и 2-й вход умножителя 6.1 подключен к первому информационному выходу многоканального мультиплексора 5 и так далее и 1-й вход умножителя 6.2n-k подключен к 2n-k-му информационному выходу многоканального мультиплексора 4 и 2-й вход умножителя 6.2n-k подключен к 2n-k информационному выходу многоканального мультиплексора 5, а выходы подключены к входам сумматора 7 по моду P, где выход умножителя 6.1 подключен к 1-му входу сумматора 7 и так далее и выход умножителя 6.2n-k подключен к 2n-k-му входу сумматора 7, выходы сумматора 7 являются выходами выдачи значений булевых функций f1, …, fd устройства.The inputs of the device 8.1, ..., 8.n supply Boolean variables x 1 , x 2 , ..., x n are the information inputs of the switch 1, the control input of which is connected to the control input of the device 9 supply the value of the number of variables of decomposition, the control inputs of the memory blocks 2.1, ... , 2.2 k storing the values of the decomposition coefficients:
Figure 00000019
connected to the control input of the device 10 for supplying the coefficient values, the control inputs of the memory blocks 3.1, ..., 3.2 k storing the values of the residues of raising the variable X to the i-th degree modulo P: X 2 n - k - one ( mod P ) , X 2 n - k - 2 ( mod P ) , ... , X 0 ( mod P ) ( X = 0 one, ... , P - one )
Figure 00000020
connected to the control input of the device 11 for feeding the residues of raising the variable X to the ith power modulo Р, the control inputs of the multi-channel multiplexer 4 for selecting a group of coefficients are connected to the k first outputs of switch 1, where the first control input of the multi-channel multiplexer 4 is connected to 1- th input switch 1 and so on and k-th control input multichannel multiplexer 4 is connected to the k-th switch output 1, while data inputs are connected to outputs of the memory blocks 2.1, ..., 2.2 k, where 1-e 2 input information nk a multichannel multiplexer 4 connected respectively to the two outputs of the storage unit nk 2.1 and so on and k 2 2 -e nk multichannel multiplexer data inputs 4 connected respectively to the two outputs of the storage unit nk 2.2 k, the multiplexer control inputs multichannel allocation group 5 are connected to the residue nk the second outputs of switch 1, where the k + 1st control input of the multi-channel multiplexer 5 is connected to the k + 1st input of the switch 1 and so on and the nth control input of the multi-channel multiplexer 5 is connected to the nth output of the switch 1, and the information inputs are connected to the outputs of the memory blocks 3.1, ..., 3.2 k , where the 1st 2 nk information inputs of the multichannel multiplexer 5 are connected respectively to the 2 nk outputs of the memory block 3.1 and so on and the 2 kth 2 nk information inputs of the multichannel multiplexer 5 are connected respectively to 2 nk outputs of the 3.2 k memory block, inputs of multipliers 6.1, ..., 6.2 nk modulo P are connected to the information outputs of multi-channel multiplexer 4 and multi-channel multiplexer 5, where the 1st input of multiplier 6.1 is connected to the 1st information output multi-channel channel multiplexer 4 and the 2nd input of the multiplier 6.1 is connected to the first information output of the multi-channel multiplexer 5 and so on and the 1st input of the multiplier 6.2 nk is connected to the 2 nk- th information output of the multi-channel multiplexer 4 and the 2nd input of the multiplier 6.2 nk is connected to 2 nk data output multichannel multiplexer 5 and outputs connected to inputs of the adder 7 through P mode, where the output of the multiplier 6.1 is connected to the 1st input of the adder 7 and so on and the output of the multiplier 6.2 is connected to 2 nk nk-th input of the adder 7 outputs adder 7 are output the output of the values of the Boolean functions f 1 , ..., f d of the device.

Работа модулярного полиномиального вычислителя систем булевых функций осуществляется следующим образом. В исходном состоянии с помощью управляющего сигнала, поступающего с управляющего входа устройства 10 подачи значений коэффициентов на управляющие входы блоков памяти 2.1, …, 2.2k, осуществляется запись значений групп коэффициентов полиномов разложения

Figure 00000021
и с помощью управляющего сигнала, поступающего с управляющего входа устройства 11 подачи значений вычетов возведения переменной в i-тую степень по модулю P на управляющие входы блоков памяти 3.1, …, 3.2k хранения значений вычетов возведения переменной в i-тую степень по модулю Р, осуществляется запись предвычисленных значений переменной X по модулю Р:
Figure 00000022
Figure 00000023
В момент времени, соответствующий началу преобразования, на входы 8.1, …, 8.n коммутатора 1 поступают значения булевых переменных х1, х2, …, хn. В коммутаторе 1 под воздействием управляющего сигнала, поступающего на его управляющий вход с управляющего входа устройства 9 подачи значения количества переменных разложения, выделяются переменные разложения с 1-й по k-тую, которые поступают на управляющие входы многоканального мультиплексора 4 выделения группы коэффициентов, который обеспечивает выделение группы коэффициентов из блоков памяти 2.1, …, 2.2k в соответствии со значением переменных разложения х1, х2, …, хk, где значениям переменных разложения х1=0, х2=0, хk=0 соответствует группа коэффициентов
Figure 00000024
и так далее и х1=1, х2=1, …, xk=1 соответствует группа коэффициентов
Figure 00000025
. Остальные n-k значений булевых переменных поступают на управляющие входы многоканального мультиплексора 5 выделения группы вычетов, который обеспечивает выделение группы вычетов возведения переменной X=(xn-kxn-k+1xn)2 в степени 2n-k, 2n-k-1, …, 1, 0 в соответствии со значениями переменных xn-k, xn-k+1, …, хn, значениям переменных хn-k=0, хn-k+1=0, …, хn=0 соответствует группа вычетовThe work of the modular polynomial calculator of systems of Boolean functions is carried out as follows. In the initial state, using the control signal from the control input of the device 10 for supplying the coefficient values to the control inputs of the memory blocks 2.1, ..., 2.2 k , the values of the coefficient groups of the decomposition polynomials are recorded
Figure 00000021
and using the control signal coming from the control input of the device 11 for supplying the values of the residues of raising the variable to the i-th degree modulo P to the control inputs of the memory blocks 3.1, ..., 3.2 k storing the values of the residues of raising the variable to the i-th degree modulo P, the pre-calculated values of the variable X are recorded modulo P:
Figure 00000022
Figure 00000023
At the moment of time corresponding to the beginning of the conversion, the values of Boolean variables x 1 , x 2 , ..., x n are received at the inputs 8.1, ..., 8.n of switch 1. In the switch 1, under the influence of a control signal supplied to its control input from the control input of the device 9 for supplying the value of the number of decomposition variables, the decomposition variables from the 1st to the kth are allocated to the control inputs of the multi-channel multiplexer 4 for selecting a group of coefficients, which provides the selection of a group of coefficients from the memory blocks 2.1, ..., 2.2 k in accordance with the value of the decomposition variables x 1 , x 2 , ..., x k , where the values of the decomposition variables x 1 = 0, x 2 = 0, x k = 0 corresponds to PPA odds
Figure 00000024
and so on and x 1 = 1, x 2 = 1, ..., x k = 1 corresponds to a group of coefficients
Figure 00000025
. The remaining nk values of Boolean variables go to the control inputs of the multichannel residue group selection multiplexer 5, which provides the allocation of the residue group of the variable construction X = (x nk x n-k + 1 x n ) 2 to the power of 2 nk , 2 nk -1, ..., 1, 0 in accordance with the values of the variables x nk , x n-k + 1 , ..., x n , the values of the variables x nk = 0, x n-k + 1 = 0, ..., x n = 0 corresponds to the group of residues

Figure 00000026
Figure 00000027
и так далее и значениям переменных хn-k=1, хn-k+1=1, …, хn=1 соответствует группа вычетов
Figure 00000028
Из многоканального мультиплексора 4 поступает группа коэффициентов разложения на 1-е входы умножителей 6.1, …, 6.2n-k по модулю P, где на 1-й вход умножителя 6.1 по модулю Р поступает коэффициент
Figure 00000029
и так далее и на 1-й вход умножителя 6.2n-k по модулю Р поступает коэффициент
Figure 00000030
Из многоканального мультиплексора 5 поступает группа вычетов возведения переменной X в i-тую степень i=(хn-kхn-k+1хn)2 на 2-е входы умножителей 6.1, …, 6.2n-k по модулю Р, где на 2-й вход умножителя 6.1 по модулю Р поступает значение вычета
Figure 00000031
и так далее и на 2-й вход умножителя 6.2n-k по модулю Р поступает значение вычета Х0(Р). После преобразований в умножителях 6.1, …, 6.2n-k значения вычислений поступают на входы сумматора 7 по модулю P, где после преобразований результат поступает на выходы устройства 12.1, …, 12.d выдачи значений булевых функций f1, …, fd, где младший разряд двоичного представления результата вычисления сумматора 7 соответствует значению fd и подается на выход 12.d и так далее и старший разряд двоичного представления результата вычисления сумматора 7 соответствует значению f1 и подается на выход 12.1.
Figure 00000026
Figure 00000027
and so on and the values of the variables x nk = 1, x n-k + 1 = 1, ..., x n = 1 corresponds to the group of residues
Figure 00000028
From the multichannel multiplexer 4, a group of decomposition coefficients for the 1st inputs of the multipliers 6.1, ..., 6.2 nk modulo P is received, where the coefficient is supplied to the 1st input of the multiplier 6.1 modulo P
Figure 00000029
and so on and the first input of the multiplier 6.2 nk modulo P receives the coefficient
Figure 00000030
From the multichannel multiplexer 5, a group of residues of raising the variable X to the ith degree i = (x nk x n-k + 1 x n ) 2 comes to the 2 inputs of the multipliers 6.1, ..., 6.2 nk modulo P, where by 2- the first input of the multiplier 6.1 modulo P receives the value of the residue
Figure 00000031
and so on and to the 2nd input of the multiplier 6.2 nk modulo P, the residue value X 0 (P) is received. After the transformations in the multipliers 6.1, ..., 6.2 nk , the calculation values go to the inputs of the adder 7 modulo P, where after the transforms the result goes to the outputs of the device 12.1, ..., 12.d of outputting the values of the Boolean functions f 1 , ..., f d , where the youngest the bit of the binary representation of the calculation result of the adder 7 corresponds to the value of f d and is fed to the output 12.d and so on and the high order bit of the binary representation of the calculation result of the adder 7 corresponds to the value of f 1 and is fed to the output 12.1.

Таким образом, технический эффект достигается за счет реализации вычислений безызбыточной полиномиальной формы представления системы булевых функций в конечном поле GF(P) аппаратными средствами умножителей по модулю Р и сумматора по модулю Р, что обеспечивает сокращение разрядной сетки вычислительных устройств и объемов памяти в L раз, где, в случае прототипа, L - количество избыточных булевых функций, необходимых для вычисления булевой функции в линейной числовой форме.Thus, the technical effect is achieved through the implementation of the non-redundant polynomial form of representing the system of Boolean functions in the final field GF (P) by the hardware of multipliers modulo P and an adder modulo P, which reduces the number of bits of computing devices and memory by L times, where, in the case of the prototype, L is the number of redundant Boolean functions necessary to calculate the Boolean function in linear numerical form.

ЛитератураLiterature

1. RU №2373564, 2009.1. RU No. 2373564, 2009.

2. RU №2461868, 2012.2. RU No. 2461868, 2012.

3. RU №1820377, 1993.3. RU No. 1820377, 1993.

4. RU №2299461, 2007.4. RU No. 2299461, 2007.

Claims (1)

Модулярный полиномиальный вычислитель систем булевых функций, содержащий коммутатор, информационные входы которого являются n входами подачи булевых переменных устройства, управляющие входы которого подключены к управляющему входу устройства подачи значения количества переменных разложения, 2k блоков памяти хранения значений коэффициентов полиномов разложения, управляющие входы которых подключены к управляющему входу устройства подачи значений коэффициентов, информационные выходы которых подключены к информационным входам многоканального мультиплексора выделения группы коэффициентов, управляющие входы которого подключены к k первым выходам коммутатора, отличающийся тем, что введены 2n-k блоков памяти хранения значений вычетов возведения переменной в i-тую степень, где i=0,1,…,2n-k-1 по модулю Р, управляющие входы которых подключены к управляющему входу устройства подачи значений вычетов возведения переменной в i-тую степень по модулю Ρ, информационные выходы которых подключены к информационным входам многоканального мультиплексора выделения группы вычетов, управляющие входы которого подключены к n-k вторым информационным выходам коммутатора, 2n-k умножителей по модулю Р, где входы j-го умножителя по модулю Ρ подключены к j-м информационным выходам многоканального мультиплексора выделения группы коэффициентов и многоканального мультиплексора выделения группы вычетов, где j=1, 2,…,2n-k, выходы которых подключены к входам сумматора по модулю Ρ, d выходов которого являются d выходами устройства выдачи значений булевых функций. A modular polynomial calculator of Boolean function systems, comprising a switch, the information inputs of which are n inputs of Boolean variables of the device, the control inputs of which are connected to the control input of the device for supplying the values of the number of decomposition variables, 2 k memory blocks for storing the values of the coefficients of the decomposition polynomials whose control inputs are connected to the control input of the device for supplying coefficient values, the information outputs of which are connected to the information inputs of many channel multiplexer group allocation coefficient control inputs of which are connected to the k first outputs of the switch, characterized in that the introduced 2 nk storage memory blocks erection of residues in the variable i-fifth degree, where i = 0,1, ..., nk 2 -1 for module P, the control inputs of which are connected to the control input of the device for feeding the residues of raising a variable to the ith power modulo Ρ, the information outputs of which are connected to the information inputs of a multi-channel multiplexer for selecting a group of residues, yayuschie whose inputs are connected to nk second information outputs of the switch, 2 nk multipliers, modulo P, where inputs j-th multiplier modulo Ρ connected to the j-th information outlets multichannel multiplexer allocation coefficient group and a multichannel multiplexer selection group residue, where j = 1 , 2, ..., 2 nk , the outputs of which are connected to the inputs of the adder modulo Ρ, d outputs of which are d outputs of the device for issuing the values of Boolean functions.
RU2015121060/08A 2015-06-03 2015-06-03 Modular polynomial computer of boolean function systems RU2586575C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015121060/08A RU2586575C1 (en) 2015-06-03 2015-06-03 Modular polynomial computer of boolean function systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015121060/08A RU2586575C1 (en) 2015-06-03 2015-06-03 Modular polynomial computer of boolean function systems

Publications (1)

Publication Number Publication Date
RU2586575C1 true RU2586575C1 (en) 2016-06-10

Family

ID=56115501

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015121060/08A RU2586575C1 (en) 2015-06-03 2015-06-03 Modular polynomial computer of boolean function systems

Country Status (1)

Country Link
RU (1) RU2586575C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762209C1 (en) * 2021-03-23 2021-12-16 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации DEVICE FOR PARALLEL FORMATION OF q-VALUED PSEUDO-RANDOM SEQUENCES ON ARITHMETIC POLYNOMS

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001050607A1 (en) * 1999-12-30 2001-07-12 Adaptive Silicon, Inc. Programmable logic device with configurable function cells to perform boolean and arithmetic
RU2373564C2 (en) * 2007-11-06 2009-11-20 Андрей Викторович Щербаков Modular calculator of boolean function systems
RU2417405C2 (en) * 2009-06-08 2011-04-27 Сергей Михайлович Сульгин Self-checking modular computer of boolean function systems
WO2012098435A1 (en) * 2011-01-21 2012-07-26 Freescale Semiconductor, Inc. Integrated circuit device and method for calculating a predicate value
RU2461868C1 (en) * 2011-10-03 2012-09-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации Arithmetic computer of systems of boolean functions
RU2485575C1 (en) * 2012-05-18 2013-06-20 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Self-checking special-purpose computer of boolean function systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001050607A1 (en) * 1999-12-30 2001-07-12 Adaptive Silicon, Inc. Programmable logic device with configurable function cells to perform boolean and arithmetic
RU2373564C2 (en) * 2007-11-06 2009-11-20 Андрей Викторович Щербаков Modular calculator of boolean function systems
RU2417405C2 (en) * 2009-06-08 2011-04-27 Сергей Михайлович Сульгин Self-checking modular computer of boolean function systems
WO2012098435A1 (en) * 2011-01-21 2012-07-26 Freescale Semiconductor, Inc. Integrated circuit device and method for calculating a predicate value
RU2461868C1 (en) * 2011-10-03 2012-09-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации Arithmetic computer of systems of boolean functions
RU2485575C1 (en) * 2012-05-18 2013-06-20 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Self-checking special-purpose computer of boolean function systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762209C1 (en) * 2021-03-23 2021-12-16 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации DEVICE FOR PARALLEL FORMATION OF q-VALUED PSEUDO-RANDOM SEQUENCES ON ARITHMETIC POLYNOMS

Similar Documents

Publication Publication Date Title
EP2017743A2 (en) High speed and efficient matrix multiplication hardware module
RU2533079C1 (en) Majority module
US10859687B2 (en) Serial interface for parameter transfer in an ultrasound device
US20170281138A1 (en) Transmit generator for controlling a multilevel pulser of an ultrasound device, and related methods and apparatus
WO2021120711A8 (en) Matrix multiplier, data processing method, integrated circuit device, and processor
JPWO2002069182A1 (en) Fourier transform device
RU2373564C2 (en) Modular calculator of boolean function systems
RU2586575C1 (en) Modular polynomial computer of boolean function systems
JP2012022500A (en) Fft operation device
US20210318869A1 (en) Ntt processor including a plurality of memory banks
GB2352309A (en) A system for performing modular multiplication
CN105511595A (en) Experimental data processing method and device
JP2008217359A (en) Fast Fourier transform apparatus and fast Fourier transform processing method
RU2586574C1 (en) Polynomial modular computer systems of boolean functions with error detection
KR101222597B1 (en) Method for reading and writing a memory, memory control method and arithmetic unit using the same
KR101770122B1 (en) Method and apparatus for division of galios field binary polynomial expression using simd processor
RU2461868C1 (en) Arithmetic computer of systems of boolean functions
EP0080266A2 (en) Discrete fourier transform circuit
Al-Khaleel et al. An elliptic curve cryptosystem design based on FPGA pipeline folding
US11171651B2 (en) Mixed signal computer
US20150154005A1 (en) Methods and Apparatuses for Performing Multiplication
RU2670773C9 (en) Method of formation a set of ensembles of p-ary d-codes
RU2562366C1 (en) Apparatus for expanding modular code bases
US20240220203A1 (en) Streaming-based compute unit and method, and artificial intelligence chip
US20250036095A1 (en) Parallel architecture for combinatorial optimization

Legal Events

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

Effective date: 20170604