RU2417405C2 - Самопроверяемый модулярный вычислитель систем логических функций - Google Patents
Самопроверяемый модулярный вычислитель систем логических функций Download PDFInfo
- Publication number
- RU2417405C2 RU2417405C2 RU2009121955/08A RU2009121955A RU2417405C2 RU 2417405 C2 RU2417405 C2 RU 2417405C2 RU 2009121955/08 A RU2009121955/08 A RU 2009121955/08A RU 2009121955 A RU2009121955 A RU 2009121955A RU 2417405 C2 RU2417405 C2 RU 2417405C2
- Authority
- RU
- Russia
- Prior art keywords
- outputs
- inputs
- block
- memory
- input
- Prior art date
Links
Images
Abstract
Устройство относится к вычислительной технике и может быть использовано для достоверной параллельной реализации систем логических функций в средствах криптографической защиты информации, искусственного интеллекта, системах автоматизированного проектирования интегральных схем. Техническим результатом является расширение функциональных возможностей устройства за счет обеспечения контроля ошибок логических вычислений. Устройство содержит блок конъюнкций, два блока памяти, два сумматора, блок вычисления остатка по модулю, элемент ИЛИ-НЕ, элемент И, регистр памяти. 2 ил., 5 табл.
Description
Предлагаемое устройство относится к вычислительной технике и может быть использовано для достоверной параллельной реализации систем логических функций в средствах криптографической защиты информации, искусственного интеллекта, системах автоматизированного проектирования интегральных схем и др.
Известно вычислительное устройство, включающее в себя сумматор, выход которого подключен к второму входу регистра результата, регистр для хранения булевых переменных, выход которого подключен к блоку конъюнкций, регистры для фиксации очередных строк матриц, описывающих структуру соответствующей конъюнкции, выходы которых подключены также к блоку конъюнкций, выход которого подключен к третьему входу регистра результата, выход которого является шиной выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. / В.Д.Малюгин - М.: Наука. Физматлит, 1997. - с.156-157).
Недостаток известного устройства - отсутствие функциональной возможности контроля ошибок логических вычислений.
Наиболее близким по сущности технического решения к заявляемому устройству является вычислительное устройство, содержащее блок конъюнкций, входы которого являются шиной подачи значений булевых переменных, выходы которого подключены к блоку памяти, выходы которого подключены к входам коммутатора, выходы которого подключены к многоместному сумматору, выходы которого являются выходами устройства выдачи результата вычислений (Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. / В.Д.Малюгин - М.: Наука. Физматлит, 1997. - с.154-155).
Недостаток известного устройства - отсутствие функциональной возможности контроля ошибок логических вычислений.
Цель изобретения - расширение функциональных возможностей устройства за счет обеспечения контроля ошибок логических вычислений.
Поставленная цель достигается тем, что в самопроверяемом модулярном вычислителе систем логических функций, содержащем блок конъюнкций, входы которого являются входами устройства для подачи n булевых переменных, выходы подключены к первому блоку памяти, предназначенному для хранения коэффициентов первого полинома избыточной модулярной числовой нормальной формы, первый сумматор, дополнительно введены второй сумматор, блок вычисления остатка по модулю, элемент ИЛИ-НЕ, элемент И, регистр памяти и второй блок памяти, входы которого соединены с выходами блока конъюнкций, при этом второй блок памяти предназначен для хранения коэффициентов второго полинома избыточной модулярной числовой нормальной формы, выходы первого блока памяти подключены к входам первого сумматора, выходы которого подключены к (s+1)-му, (s+2)-му, …, (d+s)-му входам (старшие разряды слева, d - количество реализуемых булевых функций, составляющих информационные разряды разделимого AN-кода, s - количество избыточных булевых функций, соответствующих избыточным разрядам разделимого AN-кода) блока вычисления остатка по модулю и информационным входам регистра памяти, выходы которого являются выходами устройства выдачи значений d булевых функций, выходы второго блока памяти подключены к входам второго сумматора, выходы которого подключены к 1-му, 2-му, …, s-му входам (старшие разряды слева) блока вычисления остатка по модулю, выходы которого подключены к входам элемента ИЛИ-НЕ, выход которого подключен к первому входу элемента И, второй вход которого соединен с входом подачи синхроимпульсов устройства, а выход подключен к синхровходу регистра памяти.
Структурная схема предлагаемого устройства представлена на фиг.1.
Пусть дана система булевых функций (СБФ): f1(Х), f2(X), …, fd(X) от n булевых переменных X=x1, x2, …, xn (xi∈{0,1}, i=1, 2, …, n):
где F(X) - значение, принимаемое d-выходной БФ.
Таблица истинности реализуемой СБФ имеет вид:
где - значения, принимаемые j-й БФ на i-м наборе переменных, Y(i) - целые неотрицательные числа, записанные в двоичной системе счисления:
Известно, что СБФ можно однозначно представить в модулярной числовой нормальной форме (Финько О.А. Реализация систем булевых функций большой размерности методами модулярной арифметики. / Автоматика и телемеханика, 2004, №6. - с.37-60); (Финько, О.А. Поисковые методы гибкой параллельной достоверной реализации логических функций криптографических
Таблица 1 | ||||||||
Таблица истинности заданной СБФ | ||||||||
xn | xn-1 | … | x1 | Yd | Yd-1 | … | Y1 | Y |
0 | 0 | … | 0 | … | Y(0) | |||
0 | 0 | 1 | … | Y(1) | ||||
1 | 1 | … | 1 | … |
алгоритмов в кн. Криптографическая защита информации: коллективная монография под ред. Е.М.Сухарева. - М.: Радиотехника, 2007. - с.97-118):
Коэффициенты ωi (i=0,1,…,2n-1) полинома (2) находятся матричным способом:
где и - матрицы прямого и инверсного арифметического преобразования; Y - вектор истинности значений функции F(X) и W - вектор коэффициентов модулярной формы арифметического полинома W(X), , T - символ транспонирования.
Преобразования (3) и (4) являются модулярной формой прямого и обратного матричного числового преобразования.
Известная форма (2) не позволяет контролировать ошибки, которые возникают при вычислении систем логических функций.
Для обеспечения контроля логических вычислений дополним реализуемую СБФ f1(X), f2(X), …, fd(X) избыточными булевыми функциями , …, , получив избыточную систему fd(X), …, fs+1(X), , …, , где s - количество избыточных булевых функций. Так же как и для СБФ f1(X), f2(X), …, fd(X), значения которых интерпретируются в виде целых неотрицательных чисел, записанных в двоичной системе счисления (1), избыточная СБФ , …, представляется как:
где - значения, принимаемые j-й БФ на i-м наборе переменных, Y*(i) - целые неотрицательные числа, записанные в двоичной системе счисления.
Рассмотрим полученную избыточную СБФ по правилу задания разделимого AN-кода (Дадаев Ю.Г. Арифметические коды, исправляющие ошибки. / Ю.Г.Дадаев - М: Советское радио, 1969. - 168 с.), где кодовое слово R, формируется из выражения:
Y - исходное число, здесь - вектор значений реализуемых БФ, I=2aY - информационная часть кода, - проверочные символы кодовой комбинации, 2 - основание системы счисления, a - количество двоичных разрядов, необходимое для записи чисел, не превосходящих А - генератора кода, получим:
Отсюда:
здесь d - количество информационных символов кодового слова (количество реализуемых булевых функций), s - количество проверочных символов (количество избыточных булевых функций), причем количество проверочных символов зависит от выбора численного значения генератора и определяется следующим образом:
Таким образом, требуется реализовать таблицу истинности, представленную в табл.2.
Используя преобразования (3), (4), построим полиномы избыточной модулярной числовой AN-формы:
Таблица 2 | ||||||||||
Таблица истинности для избыточной СБФ | ||||||||||
Булевы переменные | Избыточные булевы функции | |||||||||
информационные | проверочные | |||||||||
xn | … | x1 | Yd | Yd-1 | … | Ys+1 | … | R | ||
0 | … | 0 | … | … | R(0) | |||||
0 | … | 1 | … | … | R(1) | |||||
0 | … | 0 | … | … | R(2) | |||||
0 | … | 1 | … | … | R(3) | |||||
1 | … | 1 | … | … |
Как известно, выбор генератора А арифметического AN-кода, не только определяет арифметическое расстояние кода D, но и его корректирующие свойства. Так код с D=2 гарантировано обнаруживает онократную ошибку (в одной булевой функции).
В процессе реализации систем БФ выполняется классическая процедура контроля ошибок в соответствии со свойствами и выбранными параметрами AN-кода.
Принцип контроля заключается в выполнении следующего правила:
что соответствует правильному результату, а выражение
являются признаком ошибки вычислений.
ПРИМЕР
Пусть дана таблица истинности СБФ, представленная в табл.3.
Полином имеет вид:
Применив арифметический разделимый AN-код с А=3, построим избыточную СБФ (табл.4).
Таблица 3 | ||||
Пример таблицы истинности СБФ | ||||
x2 | x1 | Y2 | Y1 | Y |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 3 |
1 | 0 | 1 | 1 | 3 |
1 | 1 | 1 | 0 | 2 |
Таблица 4 | ||||||
Пример таблицы истинности избыточных СБФ, реализуемой полиномами V(X) и K(X) | ||||||
x2 | x1 | V(X) | K(X) | R | ||
Y4 | Y3 | |||||
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 12 |
1 | 0 | 1 | 1 | 0 | 0 | 12 |
1 | 1 | 1 | 0 | 0 | 1 | 9 |
В соответствии с (7):
Используя преобразования (9) построим полином (10):
Пример обнаружения однократной ошибки (звездочкой * обозначается ошибка) продемонстрируем на таблице 5.
Таблица 5 | ||||||
Y4 | Y3 | Y2 | Y1 | R | результат контроля | |
0 | 0 | 0 | 0 | 0 | верно | |
0 | 0 | 0 | 1* | 1 | ошибка | |
0 | 0 | 1* | 0 | 2 | ошибка | |
0 | 1* | 0 | 0 | 4 | ошибка | |
1* | 0 | 0 | 0 | 8 | ошибка | |
1 | 1 | 0 | 0 | 12 | верно | |
1 | 1 | 0 | 1* | 13 | ошибка | |
1 | 1 | 1* | 0 | 14 | ошибка |
Y4 | Y3 | Y2 | Y1 | R | результат контроля | |
1 | 0* | 0 | 0 | 8 | ошибка | |
0* | 1 | 0 | 0 | 4 | ошибка | |
1 | 1 | 0 | 0 | 12 | верно | |
1 | 1 | 0 | 1* | 13 | ошибка | |
1 | 1 | 1* | 0 | 14 | ошибка | |
1 | 0* | 0 | 0 | 8 | ошибка | |
0* | 1 | 0 | 0 | 4 | ошибка | |
1 | 0 | 0 | 1 | 9 | верно | |
1 | 0 | 0 | 0* | 8 | ошибка | |
1 | 0 | 1* | 1 | 11 | ошибка | |
1 | 1* | 0 | 1 | 13 | ошибка | |
0* | 0 | 0 | 1 | 1 | ошибка |
Предлагаемое устройство включает: входы 8.1, …, 8.n подачи значений булевых переменных, блок 1 конъюнкций, блоки памяти 2.1 и 2.2, сумматоры 3.1 и 3.2, блок 4 вычисления остатка по модулю, элемент ИЛИ-НЕ 5, регистр памяти 6, элемент И 7, выходы 9.1, …, 9.d выдачи значений булевых функций: f1(X), f2(X), …, fd(X), вход 10 шины подачи синхроимпульсов. Блок 1 конъюнкций предназначен для вычисления конъюнкций: , где (iu∈0, 1);
Принцип построения блока 1 конъюнкций для случая четырех булевых переменных поясняется с помощью фиг.2.
Входы 8.1, …, 8.n подачи значений булевых переменных x1, x2, …, xn являются входами блока конъюнкций 1, выходы которого подключены к входам блоков 2.1 и 2.2 памяти, выходы блока памяти 2.1 подключены к сумматору 3.1, выходы которого подключены к (s+1)-му, (s+2)-му, …, (d+s)-му входам (старшие разряды слева) блока 4 вычисления остатка по модулю и информационным входам регистра памяти 6, выходы которого являются выходами устройства выдачи значений d булевых функций: f1(X), f2(X), …, fd(X), выходы блока памяти 2.2 подключены к входам сумматора 3.2, выходы которого подключены к 1-му, 2-му, …, s-му входам блока 4 вычисления остатка по модулю, выходы которого подключены ко входам элемента 5 ИЛИ-НЕ, выход которого подключен к первому входу элемента 7 И, второй вход которого соединен с входом 10 подчи синхроимпульсов устройства, а выход 7 подключен к синхровходу регистра памяти 6.
Предлагаемое устройство работает следующим образом.
В исходном состоянии в блоки 2.1 и 2.2 памяти занесены коэффициенты: ; модулярных полиномов (8) и (10) соответственно, полученных в результате преобразований (7), (8), регистр 6 памяти обнулен. В момент времени, соответствующий началу преобразования, на входы 8.1, …, 8.n блока конъюнкций 1 поступают значения булевых переменных x1, x2, …, xn. На выходе блока 1 конъюнкций образуются результаты вычисления конъюнкций , которые поступают на входы блоков 2.1 и 2.2 памяти. С выходов блоков 2.1 и 2.2 памяти на сумматоры 3.1 и 3.2 поступают произведения , где i=0, 1, …, 2n-1 и , где i=0, 1, …, 2n-1. С выходов сумматора 3.1 на (s+1)-ый, (s+2)-ой, …, (d+s)-ый входы (старшие разряды слева) блока 4 вычисления остатка по модулю и на информационные входы регистра памяти 6 поступает числовой результат вычисления полинома V(X), с выходов сумматора 3.2 на 1-ый, 2-ой, …, s-ый входы (старшие разряды слева) блока 4 вычисления остатка по модулю поступает числовой результат вычисления полинома K(Х). С выходов блока 4 вычисления остатка по модулю на входы элемента ИЛИ-НЕ 5 поступает результат вычисления . На выходе элемента 5 ИЛИ-НЕ образуется сигнал «1» при выполнении равенства (11) (ошибки нет) и «0» в противном случае. Синхроимпульс с входа 10 устройства через элемент 7 И поступает на синхровход регистра 6 памяти при отсутствии ошибок вычислений в соответствии с (11). Таким образом при отсутствии ошибок вычислений в регистр 6 памяти записывается численный результат вычисления полинома V(X), интерпритируемый как результат реализации f1(X), f2(X), …, fd(X). При этом результат реализации СБФ соответствует размещению от младшего разряда справа (f1(X)) к старшим разрядам слева (fd(X)).
Claims (1)
- Самопроверяемый модулярный вычислитель систем логических функций, содержащий блок конъюнкций, входы которого являются входами устройства для подачи n булевых переменных, выходы которого подключены к первому блоку памяти, предназначенному для хранения коэффициентов первого полинома избыточной модулярной числовой нормальной формы, первый сумматор, отличающийся тем, что дополнительно введены второй блок памяти, входы которого соединены с выходами блока конъюнкций, при этом второй блок памяти предназначен для хранения коэффициентов второго полинома избыточной модулярной числовой нормальной формы, выходы первого блока памяти подключены к входам первого сумматора, выходы которого подключены к (s+1)-му, (s+2)-му, …, (d+s)-му входам (d - количество реализуемых булевых функций, составляющих информационные разряды разделимого AN-кода, s - количество избыточных булевых функций, соответствующих избыточным разрядам разделимого AN-кода) блока вычисления остатка по модулю и информационным входам регистра памяти, выходы которого являются выходами устройства выдачи значений d булевых функций, выходы второго блока памяти подключены к входам второго сумматора, выходы которого подключены к 1-му, 2-му, …, s-му входам блока вычисления остатка по модулю, выходы которого подключены к входам элемента ИЛИ-НЕ, выход которого подключен к первому входу элемента И, второй вход которого соединен с входом подачи синхроимпульсов устройства, а выход подключен к синхровходу регистра памяти.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2009121955/08A RU2417405C2 (ru) | 2009-06-08 | 2009-06-08 | Самопроверяемый модулярный вычислитель систем логических функций |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2009121955/08A RU2417405C2 (ru) | 2009-06-08 | 2009-06-08 | Самопроверяемый модулярный вычислитель систем логических функций |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2009121955A RU2009121955A (ru) | 2010-12-20 |
RU2417405C2 true RU2417405C2 (ru) | 2011-04-27 |
Family
ID=44056225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009121955/08A RU2417405C2 (ru) | 2009-06-08 | 2009-06-08 | Самопроверяемый модулярный вычислитель систем логических функций |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2417405C2 (ru) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2461868C1 (ru) * | 2011-10-03 | 2012-09-20 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации | Арифметический вычислитель систем булевых функций |
RU2586574C1 (ru) * | 2015-06-26 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок |
RU2586575C1 (ru) * | 2015-06-03 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Модулярный полиномиальный вычислитель систем булевых функций |
RU2680035C1 (ru) * | 2018-04-25 | 2019-02-14 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Отказоустойчивый специализированный вычислитель систем булевых функций |
-
2009
- 2009-06-08 RU RU2009121955/08A patent/RU2417405C2/ru not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2461868C1 (ru) * | 2011-10-03 | 2012-09-20 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" (г. Санкт-Петербург) Министерства обороны Российской Федерации | Арифметический вычислитель систем булевых функций |
RU2586575C1 (ru) * | 2015-06-03 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Модулярный полиномиальный вычислитель систем булевых функций |
RU2586574C1 (ru) * | 2015-06-26 | 2016-06-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации | Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок |
RU2680035C1 (ru) * | 2018-04-25 | 2019-02-14 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Отказоустойчивый специализированный вычислитель систем булевых функций |
Also Published As
Publication number | Publication date |
---|---|
RU2009121955A (ru) | 2010-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102405598B (zh) | 可编程crc单元 | |
CN101273532B (zh) | 解码装置及接收装置 | |
RU2417405C2 (ru) | Самопроверяемый модулярный вычислитель систем логических функций | |
RU2500017C1 (ru) | Накапливающий сумматор по модулю | |
KR20060051572A (ko) | 임의 정밀도 연산기, 임의 정밀도 연산 방법, 및 전자 기기 | |
RU2373564C2 (ru) | Модулярный вычислитель систем булевых функций | |
RU2316042C1 (ru) | Устройство для умножения чисел по произвольному модулю | |
RU2685985C1 (ru) | Устройство для построения программируемых цифровых микропроцессорных систем | |
RU2696223C1 (ru) | Арифметико-логическое устройство для формирования остатка по произвольному модулю от числа | |
RU2586574C1 (ru) | Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок | |
RU2485575C1 (ru) | Самопроверяемый специализированный вычислитель систем булевых функций | |
RU51428U1 (ru) | Отказоустойчивый процессор повышенной достоверности функционирования | |
RU2477513C1 (ru) | Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю | |
RU2310223C2 (ru) | Однородная вычислительная структура для выполнения операций по заданному модулю | |
SU1667059A2 (ru) | Устройство дл умножени двух чисел | |
RU186547U1 (ru) | Процессор повышенной достоверности функционирования | |
RU2445730C2 (ru) | Устройство для формирования остатка по произвольному модулю от числа | |
RU2708956C2 (ru) | Процессор повышенной достоверности функционирования | |
KR100859185B1 (ko) | 유한체 GF(2m)상의 곱셈기 | |
RU2799035C1 (ru) | Конвейерный сумматор по модулю | |
EP4322453A1 (en) | Homomorphic encryption calculating accelerator and encryption system including the same | |
RU2680035C1 (ru) | Отказоустойчивый специализированный вычислитель систем булевых функций | |
Chervyakov et al. | Experimental analysis of large prime numbers generation in residue number system | |
KR960016574A (ko) | 신호처리장치 | |
SU873238A1 (ru) | Сумматор в коде "м из N |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110609 |