RU2373564C2 - Модулярный вычислитель систем булевых функций - Google Patents

Модулярный вычислитель систем булевых функций Download PDF

Info

Publication number
RU2373564C2
RU2373564C2 RU2007141074A RU2007141074A RU2373564C2 RU 2373564 C2 RU2373564 C2 RU 2373564C2 RU 2007141074 A RU2007141074 A RU 2007141074A RU 2007141074 A RU2007141074 A RU 2007141074A RU 2373564 C2 RU2373564 C2 RU 2373564C2
Authority
RU
Grant status
Grant
Patent type
Prior art keywords
boolean
variables
inputs
outputs
values
Prior art date
Application number
RU2007141074A
Other languages
English (en)
Other versions
RU2007141074A (ru )
Inventor
Андрей Викторович Щербаков (RU)
Андрей Викторович Щербаков
Олег Анатольевич Финько (RU)
Олег Анатольевич Финько
Сергей Михайлович Сульгин (RU)
Сергей Михайлович Сульгин
Дмитрий Викторович Зимонин (RU)
Дмитрий Викторович Зимонин
Константин Сергеевич Карасев (RU)
Константин Сергеевич Карасев
Николай Александрович Винокуров (RU)
Николай Александрович Винокуров
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
Grant date

Links

Images

Abstract

Изобретение относится к вычислительной технике и может быть использовано как специализированный вычислитель систем булевых функций. Техническим результатом является уменьшение длительности вычислений. Поставленная цель достигнута за счет обеспечения вычисления не всей системы булевых функций, представленной в модулярной числовой нормальной форме, а лишь одной системы подфункций, представленной в модулярной числовой нормальной форме, полученной в результате примененного к системе булевых функций разложения. Устройство содержит коммутатор, блок конъюнкций, 2k блоков памяти, где k - количество булевых переменных разложения,
2n-k мультиплексоров, сумматор. 2 ил.

Description

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

Известно специализированное вычислительное устройство, включающее в себя сумматор, выход которого подключен к второму входу регистра результата, регистр для хранения булевых переменных, выход которого подключен к блоку конъюнкций, регистры для фиксации очередных строк матриц, описывающих структуру соответствующей конъюнкции, выходы которых подключены также к блоку конъюнкций, выход которого подключен к третьему входу регистра результата, выход которого является шиной выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука. Физматлит, 1997. - С.156-157).

Недостаток известного устройства - большая длительность вычислений.

Наиболее близким по сущности технического решения к заявляемому устройству является специализированное вычислительное устройство, содержащее блок конъюнкций, входы которого являются шиной подачи значений булевых переменных, выходы которого подключены к блоку памяти, выходы которого подключены к входам коммутатора, выходы которого подключены к многоместному сумматору, выходы которого являются выходами устройства выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука. Физматлит, 1997. - С.154-155).

Недостаток известного устройства - большая длительность вычислений.

Цель изобретения - уменьшение длительности вычислений.

Поставленная цель достигается тем, что в специализированное устройство для логических вычислений (СУЛВ), содержащее коммутатор, входы которого являются входами устройства подачи n булевых переменных, блок конъюнкций, выходы которого подключены к первому блоку памяти, многоместный сумматор, выходы которого являются выходами устройства выдачи значений булевых функций, с целью уменьшения длительности вычислений введены 2k-1 блоков памяти, где k - количество булевых переменных разложения, 2n-k мультиплексоров, при этом входы (k+1)…n коммутатора подключены ко входам блока конъюнкций, выходы которого подключены ко входам второго, третьего и так далее, 2k-го блоков памяти соответственно, первые выходы блоков памяти подключены к информационным входам первого мультиплексора, вторые выходы блоков памяти подключены к информационным входам второго мультиплексора и так далее, (n-k)-е выходы блоков памяти подключены к информационным входам 2n-k-го мультиплексора соответственно, выходы мультиплексоров подключены ко входам многоместного сумматора, а первый, второй и так далее, k-й адресные входы мультиплексоров соединены соответственно с первым, вторым и так далее, k-м выходами коммутатора.

Структурная схема предлагаемого СУЛВ представлена на фиг.1. Пусть дана система булевых функций (СБФ): f1(x), f2(х), …, fd(х) от n булевых переменных x=x1,x2,…,xn (xi∈{0,1}, i=1,2,…,n):

Figure 00000001

где F(х) - значение, принимаемое d-выходной БФ.

Известно, что СБФ (1) можно однозначно представить в числовой нормальной форме (ЧНФ):

Figure 00000002

где α012,…αn∈Z, Z - множество целых чисел, F(x) при представлении в двоичной системе счисления интерпретируется как результат вычисления СБФ.

Пример 1. Пусть СБФ (1) задана формулами:

Figure 00000003

тогда ЧНФ (2) будет иметь вид:

Figure 00000004

присвоив булевым переменным значения x1=1, x2=1, x3=1, x4=1, получим

Figure 00000005

результат вычисления СБФ (3)

Так как число 9 в двоичной системе счисления запишется как (01001)2, то f1(x)=1, f2(x)=0, f3(x)=0, f4(x)=1, f5(x)=0 (значения f1(x) находится в младшем разряде (справа), а f5(x) -в старшем разряде слева)).

Известно, что СБФ (1) может быть единственным образом представлена на основе модулярной ЧНФ (2) в виде:

Figure 00000006

где d - количество реализуемых булевых функций,

Figure 00000007
,

(mod 2d) - указывает на то, что вычисление (5) выполняется в конечном кольце

Figure 00000008

Figure 00000009
- получение наименьшего неотрицательного вычета от x по модулю 2d.

Пример 2. Пусть дана ЧНФ (4) СБФ (3), тогда модулярная форма (5) будет иметь вид:

Figure 00000010

присвоив булевым переменным значения: x1=1, x2=1, x3=1, x4=1, получим:

Figure 00000011
- результат вычисления СБФ (3).

Известно, что любую СБФ, зависящую от n аргументов, можно разложить по переменным и представить в виде:

Figure 00000012

где

Figure 00000013

Обобщим (7) для произвольного количества переменных разложения, получим:

Figure 00000014

где

Figure 00000015
- степень аргументов xk, pk - двоичная переменная величина такая, что

Figure 00000016

Придав фиксированные значения переменным разложения: 0…0; 0…1; …; 1…1, разложение (9) можно записать в виде

Figure 00000017

Пример 3. Пусть дана СБФ (3). Разложим каждую функцию по переменным x1, x3. Тогда СБФ будет иметь вид:

Figure 00000018

Объединим подфункции, полученные в результате разложения, в системы

Figure 00000019
и присвоим булевым переменным значения x2=1, x4=1, представим каждую систему подфункций в ЧНФ:

Figure 00000020

а затем в модулярной ЧНФ:

Figure 00000021

Результат вычисления

Figure 00000022
соответствует результату вычисления F(x).

Таким образом, для нахождения искомого результата достаточно вычислить только одну систему подфункций, представленную модулярной ЧНФ в соответствии с координатами, определяемыми значениями переменных разложения. В данном примере координатами системы подфункций являются значения переменных разложения x1=1, x3=1.

Предлагаемое устройство СУЛВ включает: входы 6.1,…,6.n подачи значений булевых переменных, коммутатор 1, блок 2 конъюнкций, блоки 3.1,…,3.2k памяти, мультиплексоры 4.1,…,4.2n-k, сумматор 5, выходы 7.1,…,7d выдачи значений булевых функций: fd(x),…,f1(x).

Входы 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). Предлагаемое устройство работает следующим образом.

В исходном состоянии в блоки 3.1,…,3.2k памяти занесены группы коэффициентов:

Figure 00000023
модулярных ЧНФ (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 памяти, с первых выходов которых коэффициенты
Figure 00000024
поступают на информационные входы мультиплексора 4.1, со вторых выходов блоков 3.1,…,3.2k памяти коэффициенты
Figure 00000025
, значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2 и так далее, с (n-k)-x выходов блоков 3.1,…,3,2k памяти коэффициенты
Figure 00000026
значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2n-k. Общая задача мультиплексоров 4.1,…,4.2n-k заключается в том, чтобы в соответствии со значениями булевых переменных xi1…,xik, поступивших на адресные входы и определяющих параметр разложения, подать на входы многоместного сумматора 5 значения коэффициентов
Figure 00000027
одной из подсистем БФ, представленной в модулярной ЧНФ. После преобразований в многоместном сумматоре 5 на выходы устройства поступают вычисленные значения СБФ в следующем порядке: fd(x), fd-1(x), …, f1(x).

Длительность функционирования СВУ - прототипа определяется как:

Figure 00000028

где Tк - длительность функционирования коммутатора,

Tбк - длительность функционирования блока конъюнкций,

Т∑прот - длительность функционирования многоместного сумматора прототипа,

T∑прот=ΔτЛЭ4dlog22n = ΔτЛЭ4dn, где ΔτЛЭ - время задержки одного двухвходового логического элемента (ЛЭ), n - количество булевых переменных, d - количество реализуемых булевых функций.

Длительность функционирования предлагаемого СУЛВ определяется как:

Figure 00000029

T∑заявл - длительность функционирования многоместного сумматора предлагаемого СУЛВ,

T∑заявл=ΔτЛЭ4dlog22n-k=ΔτЛЭ4d(n-k), где k - количество булевых переменных разложения,

TMS - длительность функционирования мультиплексора,

TMS=ΔτЛЭ(k+log2(k+1)).

Из (11) и (12) видно, что общей и у прототипа, и у предлагаемого СУЛВ является сумма длительностей Tк+Tбк=Tк,бк. Длительность функционирования предлагаемого устройства отличается от длительности функционирования прототипа уменьшенной длительностью функционирования T∑заявл сумматора 5. При допущении, что коммутатор 1 конструктивно представляет схему последовательно соединенных мультиплексора и демультиплексора, а блок 2 конъюнкций построен по принципу, представленному на фиг.2, коэффициент выигрыша в уменьшении длительности вычислений предлагаемого СУЛВ по отношению к прототипу с учетом длительности функционирования TMS мультиплексора будет определяться выражением:

Figure 00000030

Например, при значениях: d=10, n=16, k=1 минимальный выигрыш в уменьшении длительности вычислений предлагаемого СУЛВ по отношению к прототипу составит 6 процентов, при значениях: d=10, n=16, k=4 выигрыш составит 24 процента, при значениях: d=10, n=16, k=8 выигрыш составит 48 процентов. Получаемый выигрыш достигается за счет обеспечения замены вычисления всей СБФ вычислением только одной системы подфункций, выбранной из состава разложения.

Claims (1)

  1. Устройство для вычисления булевых функций, содержащее коммутатор, входы которого являются входами устройства для подачи n булевых переменных, предназначенный для выделения переменных разложения системы булевых функций, блок конъюнкций, выходы которого подключены к первому блоку памяти, многовходовый сумматор, выходы которого являются выходами устройства выдачи значений булевых функций, отличающееся тем, что дополнительно введены 2k-1 блоков памяти, где k - количество булевых переменных разложения, при этом 2k блоков памяти предназначены для хранения 2k групп коэффициентов модулярных числовых нормальных форм, полученных в результате заранее выполненного разложения системы булевых функций, 2n-k мультиплексоров, при этом с (k+1)-го по n-ый выходы коммутатора подключены к входам блока конъюнкций, выходы которого подключены к входам со второго по 2k-ый блоков памяти соответственно, первые (n-k)-ые выходы блоков памяти подключены к информационным входам соответственно первого 2n-k-ого мультиплексора, выходы мультиплексоров, на которые поступают значения коэффициентов одной из подсистем булевых функций, представленной в модулярной числовой нормальной форме, в соответствии со значениями булевых переменных, определяющих параметр разложения, подключены к входам многовходового сумматора, с первого по k-ый адресные входы мультиплексоров соединены соответственно с первого по k-ый выходами коммутатора, на которых формируются значения булевых переменных, определяющие параметр разложения.
RU2007141074A 2007-11-06 2007-11-06 Модулярный вычислитель систем булевых функций RU2373564C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2007141074A RU2373564C2 (ru) 2007-11-06 2007-11-06 Модулярный вычислитель систем булевых функций

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2007141074A RU2373564C2 (ru) 2007-11-06 2007-11-06 Модулярный вычислитель систем булевых функций

Publications (2)

Publication Number Publication Date
RU2007141074A true RU2007141074A (ru) 2009-05-20
RU2373564C2 true RU2373564C2 (ru) 2009-11-20

Family

ID=41021183

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007141074A RU2373564C2 (ru) 2007-11-06 2007-11-06 Модулярный вычислитель систем булевых функций

Country Status (1)

Country Link
RU (1) RU2373564C2 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2461868C1 (ru) * 2011-10-03 2012-09-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации Арифметический вычислитель систем булевых функций
RU2579991C1 (ru) * 2015-04-27 2016-04-10 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Самопроверяемый специализированный вычислитель систем булевых функций
RU2586574C1 (ru) * 2015-06-26 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок
RU2586575C1 (ru) * 2015-06-03 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Модулярный полиномиальный вычислитель систем булевых функций
RU2626343C1 (ru) * 2016-04-13 2017-07-26 Олег Александрович Козелков Настраиваемый логический модуль

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
МАЛЮГИН В.Д. Параллельные логические вычисления посредством арифметических полиномов. - М.: Наука, Физматлит, 1997, с.154-155. *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2461868C1 (ru) * 2011-10-03 2012-09-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации Арифметический вычислитель систем булевых функций
RU2579991C1 (ru) * 2015-04-27 2016-04-10 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Самопроверяемый специализированный вычислитель систем булевых функций
RU2586575C1 (ru) * 2015-06-03 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Модулярный полиномиальный вычислитель систем булевых функций
RU2586574C1 (ru) * 2015-06-26 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок
RU2626343C1 (ru) * 2016-04-13 2017-07-26 Олег Александрович Козелков Настраиваемый логический модуль

Also Published As

Publication number Publication date Type
RU2007141074A (ru) 2009-05-20 application

Similar Documents

Publication Publication Date Title
Ma et al. Multiplier policies for digital signal processing
Bi et al. A pipelined FFT processor for word-sequential data
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US4996661A (en) Single chip complex floating point numeric processor
US5724276A (en) Logic block structure optimized for sum generation
US6317770B1 (en) High speed digital signal processor
US4868777A (en) High speed multiplier utilizing signed-digit and carry-save operands
US3670956A (en) Digital binary multiplier employing sum of cross products technique
US7171535B2 (en) Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
US20040252829A1 (en) Montgomery modular multiplier and method thereof using carry save addition
US4841435A (en) Data alignment system for random and block transfers of embedded subarrays of an array onto a system bus
US4594678A (en) Digital parallel computing circuit for computing p=xy+z in a shortened time
US20040267855A1 (en) Method and apparatus for implementing processor instructions for accelerating public-key cryptography
US4706211A (en) Digital multiplying circuit
Hiasat New efficient structure for a modular multiplier for RNS
US4866653A (en) Circuitry for generating sums, especially scalar products
US4831574A (en) Device for computing a digital transform of a signal
US20130311532A1 (en) Residue number arithmetic logic unit
US4787055A (en) Circuit for calculating the discrete Fourier transform
US5115408A (en) High speed multiplier
US5625582A (en) Apparatus and method for optimizing address calculations
US3730425A (en) Binary two{40 s complement multiplier processing two multiplier bits per cycle
US5402368A (en) Computing unit and digital signal processor using the same
US5164724A (en) Data format converters for use with digit-serial signals
EP0517241A2 (en) Interleaved multiplier accumulator

Legal Events

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

Effective date: 20091107