RU2373564C2 - Modular calculator of boolean function systems - Google Patents
Modular calculator of boolean function systems Download PDFInfo
- Publication number
- RU2373564C2 RU2373564C2 RU2007141074/09A RU2007141074A RU2373564C2 RU 2373564 C2 RU2373564 C2 RU 2373564C2 RU 2007141074/09 A RU2007141074/09 A RU 2007141074/09A RU 2007141074 A RU2007141074 A RU 2007141074A RU 2373564 C2 RU2373564 C2 RU 2373564C2
- Authority
- RU
- Russia
- Prior art keywords
- outputs
- inputs
- boolean
- variables
- values
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
- Logic Circuits (AREA)
Abstract
Description
Предлагаемое устройство относится к вычислительной технике и может быть использовано как специализированный вычислитель - универсальный в классе логических вычислений.The proposed device relates to computer technology and can be used as a specialized computer - universal in the class of logical computing.
Известно специализированное вычислительное устройство, включающее в себя сумматор, выход которого подключен к второму входу регистра результата, регистр для хранения булевых переменных, выход которого подключен к блоку конъюнкций, регистры для фиксации очередных строк матриц, описывающих структуру соответствующей конъюнкции, выходы которых подключены также к блоку конъюнкций, выход которого подключен к третьему входу регистра результата, выход которого является шиной выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука. Физматлит, 1997. - С.156-157).A specialized computing device is known, including an adder whose output is connected to the second input of the result register, a register for storing Boolean variables, the output of which is connected to the conjunction block, registers for fixing the next rows of matrices describing the structure of the corresponding conjunction, the outputs of which are also connected to the block conjunctions, the output of which is connected to the third input of the result register, the output of which is the bus for issuing the calculation result (Malyugin V.D. Parallel logically e calculations by means of arithmetic polynomials. - M.: Science. Fizmatlit, 1997. - P.156-157).
Недостаток известного устройства - большая длительность вычислений.A disadvantage of the known device is the long duration of the calculations.
Наиболее близким по сущности технического решения к заявляемому устройству является специализированное вычислительное устройство, содержащее блок конъюнкций, входы которого являются шиной подачи значений булевых переменных, выходы которого подключены к блоку памяти, выходы которого подключены к входам коммутатора, выходы которого подключены к многоместному сумматору, выходы которого являются выходами устройства выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука. Физматлит, 1997. - С.154-155).Closest to the essence of the technical solution to the claimed device is a specialized computing device containing a conjunction block, the inputs of which are a bus for supplying values of Boolean variables, the outputs of which are connected to a memory block, the outputs of which are connected to the inputs of a switch, the outputs of which are connected to a multi-seat adder, the outputs of which are the outputs of the device issuing the result of the calculations (Malyugin V.D. Parallel logic calculations by means of arithmetic polynomials. - M.: Science.Fizmatlit, 1997. - P.154-155).
Недостаток известного устройства - большая длительность вычислений.A disadvantage of the known device is the long duration of the calculations.
Цель изобретения - уменьшение длительности вычислений.The purpose of the invention is to reduce the duration of the calculations.
Поставленная цель достигается тем, что в специализированное устройство для логических вычислений (СУЛВ), содержащее коммутатор, входы которого являются входами устройства подачи n булевых переменных, блок конъюнкций, выходы которого подключены к первому блоку памяти, многоместный сумматор, выходы которого являются выходами устройства выдачи значений булевых функций, с целью уменьшения длительности вычислений введены 2k-1 блоков памяти, где k - количество булевых переменных разложения, 2n-k мультиплексоров, при этом входы (k+1)…n коммутатора подключены ко входам блока конъюнкций, выходы которого подключены ко входам второго, третьего и так далее, 2k-го блоков памяти соответственно, первые выходы блоков памяти подключены к информационным входам первого мультиплексора, вторые выходы блоков памяти подключены к информационным входам второго мультиплексора и так далее, (n-k)-е выходы блоков памяти подключены к информационным входам 2n-k-го мультиплексора соответственно, выходы мультиплексоров подключены ко входам многоместного сумматора, а первый, второй и так далее, k-й адресные входы мультиплексоров соединены соответственно с первым, вторым и так далее, k-м выходами коммутатора.This goal is achieved by the fact that in a specialized device for logical computing (SULV), containing a switch, the inputs of which are inputs of a device for feeding n Boolean variables, a conjunction block, the outputs of which are connected to the first memory block, a multi-place adder, the outputs of which are outputs of a device for outputting values Boolean functions, in order to reduce the computation time, 2 k -1 memory blocks are introduced, where k is the number of Boolean expansion variables, 2 nk multiplexers, while the inputs (k + 1) ... n of the switch connected to the inputs of the conjunction block, the outputs of which are connected to the inputs of the second, third and so on, 2 k- th memory blocks, respectively, the first outputs of the memory blocks are connected to the information inputs of the first multiplexer, the second outputs of the memory blocks are connected to the information inputs of the second multiplexer, and so on , (nk) -th outputs of memory blocks connected to the data inputs of 2 nk -th multiplexer, respectively, the outputs of the multiplexers are connected to the inputs of the adder bench, and the first, second and so on, k-th address in ode multiplexers connected respectively to the first, second and so on, k-m outputs of the switch.
Структурная схема предлагаемого СУЛВ представлена на фиг.1. Пусть дана система булевых функций (СБФ): f1(x), f2(х), …, fd(х) от n булевых переменных x=x1,x2,…,xn (xi∈{0,1}, i=1,2,…,n):The structural diagram of the proposed SULV is presented in figure 1. Let a system of Boolean functions (SBF) be given: f 1 (x), f 2 (x), ..., f d (x) of n Boolean variables x = x 1 , x 2 , ..., x n (x i ∈ {0 , 1}, i = 1,2, ..., n):
где F(х) - значение, принимаемое d-выходной БФ.where F (x) is the value taken by the d-output BF.
Известно, что СБФ (1) можно однозначно представить в числовой нормальной форме (ЧНФ):It is known that SBF (1) can be unambiguously represented in numerical normal form (CNF):
где α0,α1,α2,…αn∈Z, Z - множество целых чисел, F(x) при представлении в двоичной системе счисления интерпретируется как результат вычисления СБФ.where α 0 , α 1 , α 2 , ... α n ∈Z, Z is the set of integers, F (x) when represented in binary notation is interpreted as the result of calculating the SBF.
Пример 1. Пусть СБФ (1) задана формулами:Example 1. Let SBF (1) be given by the formulas:
тогда ЧНФ (2) будет иметь вид:then ChNF (2) will look like:
присвоив булевым переменным значения x1=1, x2=1, x3=1, x4=1, получимassigning the values x 1 = 1, x 2 = 1, x 3 = 1, x 4 = 1 to the Boolean variables, we obtain
результат вычисления СБФ (3)SBF calculation result (3)
Так как число 9 в двоичной системе счисления запишется как (01001)2, то f1(x)=1, f2(x)=0, f3(x)=0, f4(x)=1, f5(x)=0 (значения f1(x) находится в младшем разряде (справа), а f5(x) -в старшем разряде слева)).Since the number 9 in the binary notation is written as (01001) 2 , then f 1 (x) = 1, f 2 (x) = 0, f 3 (x) = 0, f 4 (x) = 1, f 5 (x) = 0 (the values of f 1 (x) are in the lowest order (right), and f 5 (x) is in the highest order on the left)).
Известно, что СБФ (1) может быть единственным образом представлена на основе модулярной ЧНФ (2) в виде:It is known that SBF (1) can be uniquely represented on the basis of modular CNF (2) in the form:
где d - количество реализуемых булевых функций, ,where d is the number of realized Boolean functions, ,
(mod 2d) - указывает на то, что вычисление (5) выполняется в конечном кольце (mod 2 d ) - indicates that the calculation (5) is performed in the final ring
- получение наименьшего неотрицательного вычета от x по модулю 2d. - getting the smallest non-negative residue from
Пример 2. Пусть дана ЧНФ (4) СБФ (3), тогда модулярная форма (5) будет иметь вид:Example 2. Let the CNF (4) SBF (3) be given, then the modular form (5) will have the form:
присвоив булевым переменным значения: x1=1, x2=1, x3=1, x4=1, получим:assigning the values of boolean variables: x 1 = 1, x 2 = 1, x 3 = 1, x 4 = 1, we get:
- результат вычисления СБФ (3). - the result of the calculation of SBF (3).
Известно, что любую СБФ, зависящую от n аргументов, можно разложить по переменным и представить в виде:It is known that any SBF, depending on n arguments, can be decomposed into variables and presented in the form:
гдеWhere
Обобщим (7) для произвольного количества переменных разложения, получим:We generalize (7) for an arbitrary number of expansion variables, we obtain:
где - степень аргументов xk, pk - двоичная переменная величина такая, чтоWhere is the degree of arguments x k , p k is a binary variable such that
Придав фиксированные значения переменным разложения: 0…0; 0…1; …; 1…1, разложение (9) можно записать в видеBy attaching fixed values to the decomposition variables: 0 ... 0; 0 ... 1; ...; 1 ... 1, expansion (9) can be written as
Пример 3. Пусть дана СБФ (3). Разложим каждую функцию по переменным x1, x3. Тогда СБФ будет иметь вид:Example 3. Let SBF be given (3). Expand each function in the variables x 1 , x 3 . Then SBF will look like:
Объединим подфункции, полученные в результате разложения, в системы и присвоим булевым переменным значения x2=1, x4=1, представим каждую систему подфункций в ЧНФ:Combine the decomposition subfunctions into systems and assign the values x 2 = 1, x 4 = 1 to the Boolean variables, represent each system of subfunctions in the CNF:
а затем в модулярной ЧНФ:and then in modular CNF:
Результат вычисления соответствует результату вычисления F(x).Calculation result corresponds to the result of calculating F (x).
Таким образом, для нахождения искомого результата достаточно вычислить только одну систему подфункций, представленную модулярной ЧНФ в соответствии с координатами, определяемыми значениями переменных разложения. В данном примере координатами системы подфункций являются значения переменных разложения x1=1, x3=1.Thus, to find the desired result, it is enough to calculate only one system of subfunctions represented by the modular CNF in accordance with the coordinates determined by the values of the decomposition variables. In this example, the coordinates of the subfunction system are the values of the decomposition variables x 1 = 1, x 3 = 1.
Предлагаемое устройство СУЛВ включает: входы 6.1,…,6.n подачи значений булевых переменных, коммутатор 1, блок 2 конъюнкций, блоки 3.1,…,3.2k памяти, мультиплексоры 4.1,…,4.2n-k, сумматор 5, выходы 7.1,…,7d выдачи значений булевых функций: fd(x),…,f1(x).The proposed device SULV includes: inputs 6.1, ..., 6.n supply values of Boolean variables,
Входы 6.1,…,6.n подачи значений булевых переменных x1,x2,…,xn, которые являются входами устройства, являются и входами коммутатора 1, выходы (k+1)…n которого подключены ко входам блока 2 конъюнкций, выходы которого подключены ко входам блоков 3.1,…,3.2k памяти соответственно, первые выходы блоков 3.1,…,3.2k памяти подключены к информационным входам мультиплексора 4.1, вторые выходы блоков 3.1,…,3.2k памяти подключены к информационным входам мультиплексора 4.2 и так далее, (n-k)-e выходы блоков 3.1,…,3.2k памяти подключены к информационным входам мультиплексора 4.2n-k соответственно, выходы мультиплексоров 4.1,…,4.2n-k подключены ко входам многоместного сумматора 5, а первый, второй и так далее, k-й адресные входы мультиплексоров 4.1,…,4.2n-k соединены соответственно с первым, вторым и так далее, k-м выходами коммутатора 1. Выходы 7.1,…,7.d многоместного сумматора 5 являются выходами устройства выдачи значений булевых функций: fd(x),…,f1(x). Предлагаемое устройство работает следующим образом.Inputs 6.1, ..., 6.n of supplying the values of Boolean variables x 1 , x 2 , ..., x n , which are the inputs of the device, are also inputs of the
В исходном состоянии в блоки 3.1,…,3.2k памяти занесены группы коэффициентов: модулярных ЧНФ (11.1), (11.2),…,(11.2k) соответственно, полученных в результате разложения (9). В момент времени, соответствующий началу преобразования, на входы 6.1,…,6.n коммутатора 1 поступают значения булевых переменных x1,x2,…,xn. В коммутаторе 1 под воздействием внешних сигналов управления, в соответствии с заранее выполненным разложением (9) из состава поступивших переменных x1,x2,…,xn выделяются переменные разложения xi1,…,xik, которые поступают на адресные входы мультиплексоров 4.1,…,4.2n-k, а остальные - информационные переменные xik+1,…,xin - подаются далее на входы блока 2 конъюнкций. Блок 2 конъюнкций предназначен для вычисления конъюнкций: xik+1; xik+2; xik+1·xik+2;…; xik+1·xik+2·…·xin, которые поступают на входы блоков 3.1,…,3.2k памяти, с первых выходов которых коэффициенты поступают на информационные входы мультиплексора 4.1, со вторых выходов блоков 3.1,…,3.2k памяти коэффициенты , значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2 и так далее, с (n-k)-x выходов блоков 3.1,…,3,2k памяти коэффициенты значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2n-k. Общая задача мультиплексоров 4.1,…,4.2n-k заключается в том, чтобы в соответствии со значениями булевых переменных xi1…,xik, поступивших на адресные входы и определяющих параметр разложения, подать на входы многоместного сумматора 5 значения коэффициентов одной из подсистем БФ, представленной в модулярной ЧНФ. После преобразований в многоместном сумматоре 5 на выходы устройства поступают вычисленные значения СБФ в следующем порядке: fd(x), fd-1(x), …, f1(x).In the initial state, groups of coefficients are entered in blocks 3.1, ..., 3.2 k of memory: modular CNFs (11.1), (11.2), ..., (11.2 k ), respectively, obtained as a result of decomposition (9). At the moment of time corresponding to the beginning of the transformation, the values of Boolean variables x 1 , x 2 , ..., x n are received at inputs 6.1, ..., 6.n of
Длительность функционирования СВУ - прототипа определяется как:The duration of the functioning of the VCA - prototype is defined as:
где Tк - длительность функционирования коммутатора, where T to - the duration of the switch,
Tбк - длительность функционирования блока конъюнкций, T bq - the duration of the functioning of the conjunctions unit,
Т∑прот - длительность функционирования многоместного сумматора прототипа,T ротprot is the duration of the functioning of the multi-seat adder of the prototype,
T∑прот=ΔτЛЭ4dlog22n = ΔτЛЭ4dn, где ΔτЛЭ - время задержки одного двухвходового логического элемента (ЛЭ), n - количество булевых переменных, d - количество реализуемых булевых функций.T ротprot = Δτ LE
Длительность функционирования предлагаемого СУЛВ определяется как:The duration of the proposed SULV is defined as:
T∑заявл - длительность функционирования многоместного сумматора предлагаемого СУЛВ,T ∑ declared - the duration of the operation of the multi-seat adder of the proposed SULV,
T∑заявл=ΔτЛЭ4dlog22n-k=ΔτЛЭ4d(n-k), где k - количество булевых переменных разложения,T аяв declaration = Δτ LE
TMS - длительность функционирования мультиплексора,T MS - the duration of the multiplexer,
TMS=ΔτЛЭ(k+log2(k+1)).T MS = Δτ LE (k + log 2 (k + 1)).
Из (11) и (12) видно, что общей и у прототипа, и у предлагаемого СУЛВ является сумма длительностей Tк+Tбк=Tк,бк. Длительность функционирования предлагаемого устройства отличается от длительности функционирования прототипа уменьшенной длительностью функционирования T∑заявл сумматора 5. При допущении, что коммутатор 1 конструктивно представляет схему последовательно соединенных мультиплексора и демультиплексора, а блок 2 конъюнкций построен по принципу, представленному на фиг.2, коэффициент выигрыша в уменьшении длительности вычислений предлагаемого СУЛВ по отношению к прототипу с учетом длительности функционирования TMS мультиплексора будет определяться выражением:From (11) and (12) it can be seen that the total of both the prototype and the proposed SULV is the sum of the durations T k + T bk = T k, bq . The duration of the operation of the proposed device differs from the duration of the functioning of the prototype by a reduced duration of operation T аяв the adder 5 is declared . Assuming that the
Например, при значениях: d=10, n=16, k=1 минимальный выигрыш в уменьшении длительности вычислений предлагаемого СУЛВ по отношению к прототипу составит 6 процентов, при значениях: d=10, n=16, k=4 выигрыш составит 24 процента, при значениях: d=10, n=16, k=8 выигрыш составит 48 процентов. Получаемый выигрыш достигается за счет обеспечения замены вычисления всей СБФ вычислением только одной системы подфункций, выбранной из состава разложения.For example, with values: d = 10, n = 16, k = 1, the minimum gain in reducing the calculation time of the proposed SULV with respect to the prototype will be 6 percent, with values: d = 10, n = 16, k = 4, the gain will be 24 percent , with values: d = 10, n = 16, k = 8, the gain will be 48 percent. The resulting gain is achieved by providing a replacement for computing the entire SBF by computing only one system of subfunctions selected from the decomposition.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2007141074/09A RU2373564C2 (en) | 2007-11-06 | 2007-11-06 | Modular calculator of boolean function systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2007141074/09A RU2373564C2 (en) | 2007-11-06 | 2007-11-06 | Modular calculator of boolean function systems |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2007141074A RU2007141074A (en) | 2009-05-20 |
RU2373564C2 true RU2373564C2 (en) | 2009-11-20 |
Family
ID=41021183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2007141074/09A RU2373564C2 (en) | 2007-11-06 | 2007-11-06 | Modular calculator of boolean function systems |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2373564C2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2461868C1 (en) * | 2011-10-03 | 2012-09-20 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации | Arithmetic computer of systems of boolean functions |
RU2579991C1 (en) * | 2015-04-27 | 2016-04-10 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Self-checking special-purpose computer of boolean function systems |
RU2586575C1 (en) * | 2015-06-03 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Modular polynomial computer of boolean function systems |
RU2586574C1 (en) * | 2015-06-26 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Polynomial modular computer systems of boolean functions with error detection |
RU2626343C1 (en) * | 2016-04-13 | 2017-07-26 | Олег Александрович Козелков | Adjustable logic module |
RU2680035C1 (en) * | 2018-04-25 | 2019-02-14 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Failure-resistant specialized calculator of the systems of boolean functions |
-
2007
- 2007-11-06 RU RU2007141074/09A patent/RU2373564C2/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
МАЛЮГИН В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука, Физматлит, 1997, с.154-155. * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2461868C1 (en) * | 2011-10-03 | 2012-09-20 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации | Arithmetic computer of systems of boolean functions |
RU2579991C1 (en) * | 2015-04-27 | 2016-04-10 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Self-checking special-purpose computer of boolean function systems |
RU2586575C1 (en) * | 2015-06-03 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Modular polynomial computer of boolean function systems |
RU2586574C1 (en) * | 2015-06-26 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Polynomial modular computer systems of boolean functions with error detection |
RU2626343C1 (en) * | 2016-04-13 | 2017-07-26 | Олег Александрович Козелков | Adjustable logic module |
RU2680035C1 (en) * | 2018-04-25 | 2019-02-14 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Failure-resistant specialized calculator of the systems of boolean functions |
Also Published As
Publication number | Publication date |
---|---|
RU2007141074A (en) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2373564C2 (en) | Modular calculator of boolean function systems | |
EP2017743B1 (en) | High speed and efficient matrix multiplication hardware module | |
GB1537504A (en) | Network computer system | |
JP2007317179A (en) | Matrix multiplication with reduced bandwidth requirements | |
CN107545292B (en) | Method and circuit for dynamic power control | |
US5422836A (en) | Circuit arrangement for calculating matrix operations in signal processing | |
JPH06295257A (en) | Digital signal processing system | |
US6766445B2 (en) | Storage system for use in custom loop accelerators and the like | |
US20030120694A1 (en) | Method and apparatus for use in booth-encoded multiplication | |
RU2417405C2 (en) | Self-checking modular computer of boolean function systems | |
US3818202A (en) | Binary bypassable arithmetic linear module | |
Hong et al. | Design and implementation of a high-speed matrix multiplier based on word-width decomposition | |
Banerjee et al. | A new ALU architecture design using reversible logic | |
US12086206B2 (en) | Matrix multiplier and operation method thereof | |
CN112970036A (en) | Convolution block array for implementing neural network applications, method of using the same, and convolution block circuit | |
RU2586574C1 (en) | Polynomial modular computer systems of boolean functions with error detection | |
US4677584A (en) | Data processing system with an arithmetic logic unit having improved carry look ahead | |
Soundharya et al. | GDI based area delay power efficient carry select adder | |
RU2586575C1 (en) | Modular polynomial computer of boolean function systems | |
SU1325507A1 (en) | Device for solving systems of linear algebraic equations | |
CN112837722B (en) | In-memory arithmetic unit | |
Borodina | Circuits admitting single-fault tests of length 1 under constant faults at outputs of elements | |
Babulu et al. | Design and implementation of H/W efficient Multiplier: Reversible logic gate approach | |
Marwood et al. | Matrix product machine and the Fourier transform | |
CN112837722A (en) | in-memory arithmetic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20091107 |