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

Классы МПК:G06F7/57 арифметико-логические устройства (ALU), те оборудование или устройства для выполнения двух или более операций, относящихся к группам  7/483
Автор(ы):, , , , ,
Патентообладатель(и):Щербаков Андрей Викторович (RU)
Приоритеты:
подача заявки:
2007-11-06
публикация патента:

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

2n-k мультиплексоров, сумматор. 2 ил. модулярный вычислитель систем булевых функций, патент № 2373564

модулярный вычислитель систем булевых функций, патент № 2373564 модулярный вычислитель систем булевых функций, патент № 2373564

Формула изобретения

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

Описание изобретения к патенту

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

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

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

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

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

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

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

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

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

модулярный вычислитель систем булевых функций, патент № 2373564

где модулярный вычислитель систем булевых функций, патент № 2373564 0,модулярный вычислитель систем булевых функций, патент № 2373564 1,модулярный вычислитель систем булевых функций, патент № 2373564 2,модулярный вычислитель систем булевых функций, патент № 2373564 модулярный вычислитель систем булевых функций, патент № 2373564 nмодулярный вычислитель систем булевых функций, патент № 2373564 Z, Z - множество целых чисел, F(x) при представлении в двоичной системе счисления интерпретируется как результат вычисления СБФ.

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

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

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

(mod 2d) - указывает на то, что вычисление (5) выполняется в конечном кольце модулярный вычислитель систем булевых функций, патент № 2373564

модулярный вычислитель систем булевых функций, патент № 2373564 - получение наименьшего неотрицательного вычета от x по модулю 2d.

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564 - результат вычисления СБФ (3).

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

модулярный вычислитель систем булевых функций, патент № 2373564

где

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

где модулярный вычислитель систем булевых функций, патент № 2373564 - степень аргументов xk, pk - двоичная переменная величина такая, что

модулярный вычислитель систем булевых функций, патент № 2373564

Придав фиксированные значения переменным разложения: 0модулярный вычислитель систем булевых функций, патент № 2373564 0; 0модулярный вычислитель систем булевых функций, патент № 2373564 1; модулярный вычислитель систем булевых функций, патент № 2373564 ; 1модулярный вычислитель систем булевых функций, патент № 2373564 1, разложение (9) можно записать в виде

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

модулярный вычислитель систем булевых функций, патент № 2373564

Результат вычисления модулярный вычислитель систем булевых функций, патент № 2373564 соответствует результату вычисления F(x).

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

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

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

В исходном состоянии в блоки 3.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,3.2k памяти занесены группы коэффициентов: модулярный вычислитель систем булевых функций, патент № 2373564 модулярных ЧНФ (11.1), (11.2),модулярный вычислитель систем булевых функций, патент № 2373564 ,(11.2k) соответственно, полученных в результате разложения (9). В момент времени, соответствующий началу преобразования, на входы 6.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,6.n коммутатора 1 поступают значения булевых переменных x1,x2,модулярный вычислитель систем булевых функций, патент № 2373564 ,xn. В коммутаторе 1 под воздействием внешних сигналов управления, в соответствии с заранее выполненным разложением (9) из состава поступивших переменных x1,x2 ,модулярный вычислитель систем булевых функций, патент № 2373564 ,xn выделяются переменные разложения xi1 ,модулярный вычислитель систем булевых функций, патент № 2373564 ,xik, которые поступают на адресные входы мультиплексоров 4.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,4.2n-k, а остальные - информационные переменные xik+1,модулярный вычислитель систем булевых функций, патент № 2373564 ,xin - подаются далее на входы блока 2 конъюнкций. Блок 2 конъюнкций предназначен для вычисления конъюнкций: x ik+1; xik+2; xik+1·xik+2 ;модулярный вычислитель систем булевых функций, патент № 2373564 ; xik+1·xik+2·модулярный вычислитель систем булевых функций, патент № 2373564 ·xin, которые поступают на входы блоков 3.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,3.2k памяти, с первых выходов которых коэффициенты модулярный вычислитель систем булевых функций, патент № 2373564 поступают на информационные входы мультиплексора 4.1, со вторых выходов блоков 3.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,3.2k памяти коэффициенты модулярный вычислитель систем булевых функций, патент № 2373564 , значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2 и так далее, с (n-k)-x выходов блоков 3.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,3,2k памяти коэффициенты модулярный вычислитель систем булевых функций, патент № 2373564 значения соответствующих конъюнкций которых равны 1, поступают на информационные входы мультиплексора 4.2n-k. Общая задача мультиплексоров 4.1,модулярный вычислитель систем булевых функций, патент № 2373564 ,4.2n-k заключается в том, чтобы в соответствии со значениями булевых переменных xi1модулярный вычислитель систем булевых функций, патент № 2373564 ,xik, поступивших на адресные входы и определяющих параметр разложения, подать на входы многоместного сумматора 5 значения коэффициентов модулярный вычислитель систем булевых функций, патент № 2373564 одной из подсистем БФ, представленной в модулярной ЧНФ. После преобразований в многоместном сумматоре 5 на выходы устройства поступают вычисленные значения СБФ в следующем порядке: f d(x), fd-1(x), модулярный вычислитель систем булевых функций, патент № 2373564 , f1(x).

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

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

Тмодулярный вычислитель систем булевых функций, патент № 2373564 прот - длительность функционирования многоместного сумматора прототипа,

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

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

модулярный вычислитель систем булевых функций, патент № 2373564

Tмодулярный вычислитель систем булевых функций, патент № 2373564 заявл - длительность функционирования многоместного сумматора предлагаемого СУЛВ,

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

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

TMS=модулярный вычислитель систем булевых функций, патент № 2373564 модулярный вычислитель систем булевых функций, патент № 2373564 ЛЭ(k+log2(k+1)).

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

модулярный вычислитель систем булевых функций, патент № 2373564

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

Класс G06F7/57 арифметико-логические устройства (ALU), те оборудование или устройства для выполнения двух или более операций, относящихся к группам  7/483

способ и аппаратура для обеспечения поддержки альтернативных вычислений в реконфигурируемых системах-на-кристалле -  патент 2519387 (10.06.2014)
логический преобразователь -  патент 2518669 (10.06.2014)
логический преобразователь -  патент 2517720 (27.05.2014)
логический вычислитель -  патент 2504826 (20.01.2014)
программируемое логическое устройство -  патент 2503993 (10.01.2014)
логический модуль -  патент 2497181 (27.10.2013)
логический процессор -  патент 2491613 (27.08.2013)
самопроверяемый специализированный вычислитель систем булевых функций -  патент 2485575 (20.06.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных вычислений суммы м n-разрядных чисел -  патент 2475815 (20.02.2013)
логический преобразователь -  патент 2475814 (20.02.2013)
Наверх