устройство для умножения в конечных полях

Классы МПК:G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями
Автор(ы):, ,
Патентообладатель(и):Таганрогский радиотехнический институт
Приоритеты:
подача заявки:
1992-07-08
публикация патента:

Изобретение относится к построению кодирующих и декодирующих циклических кодов, предназначенных для передачи сообщений с высокой достоверностью в системах доставки и обработки дискретной информации. Устройство содержит блок сдвига сомножителя, блок умножения на старший разряд, блок задания обратных связей, блок формирования величины сдвига, блок сдвига произведения. 10 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10

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

УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ В КОНЕЧНЫХ ПОЛЯХ, содержащее блок умножения на старший разряд и al 1 блоков вычисления полиномов (где al - максимальная разрядность сомножителей, l число различных полиномов, определяющих конечное поле), причем выходы блока умножения на старший разряд соединены с информационными входами первой группы первого блока вычисления полиномов, информационные входы первой группы устройство для умножения в конечных полях, патент № 2058040 блока вычисления полиномов соединены с информационными выходами (i 1)-го блока вычисления полиномов, отличающееся тем, что в него введены блок сдвига сомножителя, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведения, причем информационные входы первой группы устройства соединены с соответствующими информационными входами блока сдвига сомножителя, устройство для умножения в конечных полях, патент № 2058040 информационный вход второй группы устройства соединен с информационным входом (al i)-го блока вычисления полиномов, а al-й информационный вход второй группы устройства соединен с информационным входом блока умножения на старший разряд, управляющие входы устройства соединены с соответствующими входами блока задания обратных связей и блока формирования величины сдвига, выходы которого соединены с управляющими входами блока сдвига сомножителя и блока сдвига произведения, выходы блока задания обратных связей соединены с управляющими входами al 1 блоков вычисления полиномов, информационные входы второй группы которых соединены с выходами блока сдвига сомножителя и группой информационных входов блока умножения на старший разряд, выходы (al 1)-го блока вычисления полиномов соединены с информационными входами блока сдвига произведения, выходы которого соединены с выходами устройства.

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

Изобретение относится к построению кодирующих и декодирующих устройств циклических кодов, предназначенных для передачи сообщений с высокой достоверностью в системах доставки и обработки дискретной информации.

Известно устройство для умножения, содержащее блоки сумматоров по модулю два, ячейки регистра, первую и вторую группы блоков умножения, причем вход устройства соединен со входами блоков умножения первой группы, выходы которых соединены с первыми входами блоков сумматоров соответственно, вторые входы которых соединены соответственно с выходами соответствующих блоков умножения второй группы, входы которых, кроме последнего, соединены между собой, а также с выходом устройства и выходом последнего блока умножения второй группы, выход каждого блока сумматоров, кроме последнего, соединен с входом соответствующей ячейки регистра, выход каждой ячейки регистра соединен с третьим входом соответствующего блока сумматоров, выход последнего блока сумматоров соединен с входом последнего блока умножения второй группы.

Недостаток этого устройства состоит в том, что умножение производится с большими временными затратами и в поле с фиксированными параметрами.

Известно устройство умножения в конечных полях, содержащее ячейки первого, второго и третьего регистров, первые и вторые группы сумматоров по модулю два и элементов ИЛИ, элементы И, блоки умножения, причем, первая группа выходов устройства соединена соответственно с первыми входами элементов ИЛИ первой группы, выходы которых соединены соответственно с первыми входами соответствующих ячеек первого регистра, выходы ячеек первого регистра, за исключением последней, соединены соответственно с вторыми входами соответствующих элементов ИЛИ первой группы, выход последней ячейки первого регистра соединен со вторым входом соответствующего элемента ИЛИ первой группы и с первыми входами элементов И, выходы которых соединены с первыми входами сумматоров первой группы, выходы которых соединены с входами ячеек третьего регистра соответственно, а вторые входы с выходами ячеек третьего регистра и с выходами устройства соответственно, вторые входы элементов И, кроме последнего, соединены с выходами ячеек второго регистра и с первыми входами вторых сумматоров соответственно, второй вход последнего элемента И соединен с выходом последней ячейки второго регистра, со входом первого элемента ИЛИ второй группы, и с входами блоков умножения, выходы которых соединены соответственно с вторыми входами соответствующих сумматоров второй группы, выходы которых соединены с первыми входами соответствующих элементов ИЛИ второй группы, вторые входы которых соединены с входами устройства второй группы, а выходы с входами ячеек второго регистра.

Недостаток данного устройства состоит в том, что умножение в конечных полях производится с существенными затратами времени и при фиксированной размерности поля.

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

Однако известное устройство обладает недостатком, состоящим в том, что умножение может быть осуществлено только в поле с фиксированной размерностью, т. е. умножаются полиномы с числом разрядов не более некоторой фиксированной величины. Это определяет недостаток известного устройства, который состоит в его ограниченных функциональных возможностях. Кроме того, в известном устройстве умножение осуществляется последовательно, по мере вычисления промежуточных полиномов на каждом такте, что снижает быстродействие.

Задача, на решение которой направлено изобретение, заключается в возможности умножения полиномов в поле, размерность которого может быть изменена по необходимости, а также получения результата умножения за минимально возможное время с целью дальнейшего использования устройства в специализированных вычислителях, а также при решении задач построения кодирующих и декодирующих устройств.

Для достижения технического результата, заключающегося в расширении функциональных возможностей устройства умножения в конечных полях за счет осуществления умножения полиномов в поле, размерность которого может быть изменена, и повышения быстродействия предлагается в устройство умножения в конечных полях, содержащее блок умножения на старший разряд и "ае 1" блоков вычисления полиномов, причем группа выходов блока умножения на старший разряд соединена с группой вторых информационных входов первого блока вычисления полинома, а группы вторых информационных входов i x (i устройство для умножения в конечных полях, патент № 2058040 ) блоков вычисления полиномов соединены соответственно с группами информационных входов (i 1)-х блоков вычисления полиномов, дополнительно введены блок сдвига сомножителя, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведения, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя (ae k)-e (k устройство для умножения в конечных полях, патент № 2058040 ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и группой информационных входов блока умножения на старший разряд, группа выходов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях.

Блок сдвига сомножителя содержит группы элементов И и ИЛИ, причем первый информационный вход соединен с первыми входами первого, шестого и десятого элементов И, второй информационный вход соединен с первыми входами второго, седьмого и одиннадцатого элементов И, третий информационный вход соединен с первыми входами третьего, восьмого и двенадцатого элементов И, четвертый информационный вход соединен с первыми входами четвертого, девятого элементов И, пятый информационный вход соединен с первым входом пятого элемента И, первый управляющий вход соединен со вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен с вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы второго, третьего, четвертого и пятого элементов И соединены соответственно с первыми входами первого, второго, третьего и четвертого элементов ИЛИ, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами группы элементов ИЛИ, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами элементов ИЛИ, выход первого элемента И и выходы элементов ИЛИ соединены соответственно с выходами группы выходов блока.

Блок сдвига произведения содержит группы элементов И или ИЛИ, причем первый информационный вход соединен с первым входом первого элемента И группы, второй информационный вход соединен с первыми входами второго и шестого элементов И, третий информационный вход соединен с первыми входами третьего, седьмого и десятого элементов И, четвертый информационный вход соединен с первыми входами четвертого, восьмого и одиннадцатого элементов И, пятый информационный вход соединен с первыми входами пятого, девятого и двенадцатого элементов И, первый управляющий вход соединен с вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен со вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы первого, второго, третьего и четвертого элементов И соединены соответственно с первыми входами соответствующих элементов ИЛИ группы, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами соответствующих элементов ИЛИ группы, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами первого, второго и третьего элементов ИЛИ группы, выходы группы элементов ИЛИ и выход пятого элемента И соединены соответственно с выходами группы выходов устройства умножения в конечных полях.

Наличие признаков, отличающих заявляемое техническое решение от прототипа, а именно: блок сдвига сомножителей, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведений, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя, (ae k)-e (k устройство для умножения в конечных полях, патент № 2058040 ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и с группой информационных входов блока умножения на старший разряд, группа входов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях, обуславливает соответствие заявляемого технического решения критерию "новизна".

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

В поле Галуа GF(2) умножение двух полиномов

p(x) pa-1xa-1+pa-2xa-2+.+p1x+p0, и g(x)

ga-1xa-1+ga-2xa-2+.+g1x+g0,pigiустройство для умножения в конечных полях, патент № 2058040(0,1),i,j=устройство для умножения в конечных полях, патент № 2058040

возможно осуществить за один такт времени, если реализовать устройство, содержащее а ступеней, срабатывающих одновременно, причем на первой ступени будет получен результат S(1) ga-1p(x). На второй ступени будет получен результат

S(2)(x) (ga-1x + ga-2)p(x) + ba-2F(x), где ba-2 первый коэффициент частного от деления g(x)p(x)/F(x). На i-й ступени будет получен результат

S(i)(x) (ga-1xa-1 + ga-2xa-2 + + ga-i)P(x) +

+ (ba-2xa-2 + ba-3xa-3 + + ba-i)F(x), где ba-i (i 1)-й коэффициент частного. На а-й ступени будет получен результат умножения

r(x) S(a)(x) (ga-1xa-1 + ga-2xa-2 + +

+ go)p(x) + (ba-2xa-2 + ba-3xa-3 + +

+ bo)F(x) g(x)p(x) + b(x)F(x).

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

На фиг. 1 приведена функциональная схема предлагаемого устройства; на фиг. 2 функциональная схема для примера реализации блока сдвига сомножителя; на фиг. 3 и 4 функциональные схемы соответственно блока умножения на старший разряд и блока вычисления полинома; на фиг. 5 и 6 функциональные схемы для примера реализации соответственно блока задания обратных связей и блока формирования величины сдвига; на фиг. 7 функциональная схема для примера реализации блока сдвига произведения; на фиг. 8-10 функциональная схема устройства для примера реализации умножения с заданной разрядностью поля.

Функциональная схема заявляемого устройства (см. фиг. 1) содержит 11-1устройство для умножения в конечных полях, патент № 2058040- группу первых информационных входов; 2 блок сдвига сомножителя; 31-3устройство для умножения в конечных полях, патент № 2058040 группу вторых информационных входов; 4 блок умножения на старший разряд; 51-5устройство для умножения в конечных полях, патент № 2058040 блоки вычисления полиномов; 61-6е группу управляющих входов; 7 блок задания обратных связей; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 101i-10устройство для умножения в конечных полях, патент № 2058040 (i устройство для умножения в конечных полях, патент № 2058040) (ae 1) групп информационных выходов блоков вычисления полиномов, 51-5устройство для умножения в конечных полях, патент № 2058040; 111-11устройство для умножения в конечных полях, патент № 2058040 группу выходов устройства для умножения в конечных полях.

Функциональная схема для примера реализации блока сдвига сомножителя 2 (см. фиг. 2) содержит: 11-15 группу информационных входов; 121-1212 группу элементов И; 131-133 группу управляющих входов; 141-144 группу элементов ИЛИ; 151-155 группу выходов блока 2.

Функциональная схема блока умножения на старший разряд 4 (см. фиг. 3) содержит: 3устройство для умножения в конечных полях, патент № 2058040 информационный вход; 151-15устройство для умножения в конечных полях, патент № 2058040 группу информационных входов; 161-16устройство для умножения в конечных полях, патент № 2058040 группу элементов И; 1010-10устройство для умножения в конечных полях, патент № 2058040 группу выходов блока 4.

Функциональная схема блока вычисления полинома 5i (i устройство для умножения в конечных полях, патент № 2058040 ) (см. фиг. 4) содержит: 3i информационный вход; 101i-1-10устройство для умножения в конечных полях, патент № 2058040 группу вторых информационных входов; 151-15устройство для умножения в конечных полях, патент № 2058040 группу первых информационных входов; 181i-18устройство для умножения в конечных полях, патент № 2058040 первую группу элементов И; 191i-19устройство для умножения в конечных полях, патент № 2058040 первую группу сумматоров по модулю два; 201i-20устройство для умножения в конечных полях, патент № 2058040 вторую группу сумматоров по модулю два; 211i-21устройство для умножения в конечных полях, патент № 2058040 вторую группу элементов И; 101i-10устройство для умножения в конечных полях, патент № 2058040 группу выходов блока 5.

Функциональная схема для примера реализации блока задания обратных связей 7 (см. фиг. 5) содержит: 61-67 группу управляющих входов; 231-234 группу элементов ИЛИ; 24 элемент НЕ; 221-225 группу выходов блока 7.

Функциональная схема для примера реализации блока формирования величины сдвига 8 (см. фиг. 6) содержит: 61-67 группу управляющих входов; 251-253 группу элементов ИЛИ; 131-133 группу выходов блока 8.

Функциональная схема для примера реализации блока сдвига произведения 9 (см. фиг. 7) содержит:101-105 группу информационных входов; 131-133 группу управляющих входов; 261-2612 группу элементов И; 271-274 группу элементов ИЛИ; 111-115 группу выходов.

Функциональная схема (пример реализации) устройства для умножения в конечных полях (см. фиг. 8-10) содержит: 11-15 группу первых информационных входов; 2 блок сдвига сомножителя; 31-35 группу вторых информационных входов; 61-67 группу управляющих входов устройства; 7 блок задания размерности поля; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 101i-105i -i-ю (i устройство для умножения в конечных полях, патент № 2058040 ) группу выходов блока вычисления полинома 5i; 131-133 группу выходов блока формирования величины сдвига 8; 151-1515 группу выходов блока сдвига сомножителя; 161-165 группу элементов И блока умножения на старший разряд; 181j-185j j-ю (j устройство для умножения в конечных полях, патент № 2058040 ) группу первых элементов И; 191i-195i i-ю (i устройство для умножения в конечных полях, патент № 2058040 ) группу первых сумматоров по модулю два; 201i-204i i-ю (i устройство для умножения в конечных полях, патент № 2058040 ) группу вторых сумматоров по модулю два; 211i-215i i-ю (i устройство для умножения в конечных полях, патент № 2058040 ) группу вторых элементов И; 111-115 группу информационных выходов устройства.

Элементы устройства умножения в конечных полях взаимосвязаны следующим образом.

Входы 11-1устройство для умножения в конечных полях, патент № 2058040 группы первых информационных входов соединены с соответствующими входами группы информационных входов блока сдвига сомножителя 2, а i-й вход группы вторых информационных входов 31-3устройство для умножения в конечных полях, патент № 2058040соединен с информационным входом блока умножения на старший разряд 4, (ае j)-й вход группы вторых информационных входов 31-3устройство для умножения в конечных полях, патент № 2058040 соединен с информационным входом блока вычисления полинома 5j, входы 61-6е группы управляющих входов соединены соответственно с группой входов блока задания обратных связей 7 и блока формирования величины сдвига 8, группа выходов блока формирования величины сдвига 8 соединена соответственно с группами информационных входов блока сдвига сомножителя 2 и блока сдвига произведения 9, группа выходов блока сдвига сомножителя 2 соединена с группой информационных входов блока умножения на старший разряд 4 и с группами первых информационных входов блоков вычисления полиномов 51-5устройство для умножения в конечных полях, патент № 2058040, входы группы вторых информационных входов блока вычисления полинома 51 соединены соответственно с выходами блока умножения на старший разряд 4, группа выходов блока задания обратных связей 7 соединена с группами управляющих входов блоков вычисления полиномов 51-5устройство для умножения в конечных полях, патент № 2058040, группы информационных выходов 101i-10устройство для умножения в конечных полях, патент № 2058040 i-х блоков вычисления полиномов 5i (i устройство для умножения в конечных полях, патент № 2058040 ) соединены соответственно с группами вторых информационных входов (i + 1)-х блоков вычисления полиномов 5i, а группа информационных выходов блока вычисления полинома 5устройство для умножения в конечных полях, патент № 2058040 соединена с группой информационных входов блока сдвига произведения 9, выходы которого соединены соответственно с выходами 111-11устройство для умножения в конечных полях, патент № 2058040 группы выходов устройства.

В блоке сдвига сомножителя 2 (пример реализации) вход 11 соединен с первыми входами элементов И 121, 126, 1210 группы, вход 12 соединен с первыми входами элементов И 122, 127, 1211 группы, вход 13 соединен с первыми входами элементов 123, 128, 1212 группы, вход 14 соединен с первыми входами элементов И 124, 129 группы, вход 15 соединен с первым входом элемента И 125, вход 131 группы управляющих входов блока соединен с вторыми входами элементов И 1210-1212 группы, вход 132 группы управляющих входов блока соединен с вторыми входами элементов И 126-129группы, вход 133 группы управляющих входов блока соединен со вторыми входами элементов И 121-125 группы, выходы элементов И 122-125 соединены соответственно с первыми входами группы элементов ИЛИ 141-144, выходы элементов И 126-129 соединены соответственно с вторыми входами группы элементов ИЛИ 141-144, выходы элементов И 1210-1212 соединены соответственно с третьими входами элементов ИЛИ 142-144 группы, выход элемента И 121 и выходы группы элементов ИЛИ 141-144 соединены соответственно с выходами 151-155 группы выходов блока 2.

В блоке умножения на старший разряд 4 входы 151-15устройство для умножения в конечных полях, патент № 2058040 группы информационных входов блока соединены соответственно с первыми входами группы элементов И 161-16устройство для умножения в конечных полях, патент № 2058040, вторые входы которых объединены и соединены с информационным входом 3устройство для умножения в конечных полях, патент № 2058040 блока, выходы группы элементов И 161-16устройство для умножения в конечных полях, патент № 2058040 соединены соответственно с выходами 1010-10устройство для умножения в конечных полях, патент № 2058040 группы выходов блока 4.

В каждом блоке вычисления полинома 5i (i устройство для умножения в конечных полях, патент № 2058040 ) вход 15j (j устройство для умножения в конечных полях, патент № 2058040) группы первых информационных входов соединен с первым входом элемента И 18ij первой группы, вторые входы которых объединены и соединены с информационным входом 3i блока, а выход элемента И 18jiсоединен с первым входом соответствующего сумматора по модулю два 19jiпервой группы, входы 101i-1-10устройство для умножения в конечных полях, патент № 2058040 группы вторых информационных входов соединены с вторыми входами соответствующих сумматоров по модулю два 201i-20устройство для умножения в конечных полях, патент № 2058040 второй группы, первые входы элементов И 211i-21устройство для умножения в конечных полях, патент № 2058040 второй группы объединены и соединены с входом 10устройство для умножения в конечных полях, патент № 2058040 группы вторых информационных входов, входы 211-22устройство для умножения в конечных полях, патент № 2058040 группы управляющих входов соединены соответственно с вторыми входами элементов И 211i-21устройство для умножения в конечных полях, патент № 2058040 второй группы, выходы которых соединены соответственно со вторыми входами сумматоров по модулю два 191i-19устройство для умножения в конечных полях, патент № 2058040 первой группы, а выходы сумматоров по модулю два 192i-19устройство для умножения в конечных полях, патент № 2058040 первой группы соответственно соединены с первыми входами сумматоров по модулю два 201i-20устройство для умножения в конечных полях, патент № 2058040 второй группы, выход сумматора по модулю два 191i первой группы и выходы сумматоров по модулю два 201i-20устройство для умножения в конечных полях, патент № 2058040 второй группы соединены соответственно с выходами 101i-10устройство для умножения в конечных полях, патент № 2058040 блока вычисления полинома 5i.

В блоке задания обратных связей 7 (пример реализации) вход 61соединен с первым входом третьего элемента ИЛИ 233, вход 62 соединен с первым входом четвертого элемента ИЛИ 234, вход 63 соединен с первым входом второго элемента ИЛИ 232, вход 64 соединен с вторым входом второго элемента ИЛИ 232, с входом элемента НЕ 24 и с вторым входом четвертого элемента ИЛИ 234, вход 65 соединен с первым входом первого элемента ИЛИ 231, вход 66 соединен с вторым входом первого элемента ИЛИ 231, с вторым входом третьего элемента ИЛИ 233 и с третьим входом четвертого элемента ИЛИ 234, вход 67 соединен с третьим входом первого элемента ИЛИ 231, с третьим входом второго элемента ИЛИ 232 и с четвертым входом четвертого элемента ИЛИ 234, выходы элементов ИЛИ 231-234 и выход элемента НЕ 24 соответственно соединены с выходами 221-225 блока 7.

В блоке формирования величины сдвига 8 (пример реализации) входы 61и 62 соединены соответственно с первым и вторым входами первого элемента ИЛИ 251, входы 63 и 64 соответственно соединены с первым и вторым входами второго элемента ИЛИ 252, входы 65-67 соответственно соединены с первым, вторым и третьим входами третьего элемента ИЛИ 253, выход элемента ИЛИ 25i (i устройство для умножения в конечных полях, патент № 2058040 ) соединен с выходом 13i блока 8.

В блоке сдвига произведения 9 (пример реализации) вход 101 соединен с первым входом элемента И 261 группы, вход 102 соединен с первыми входами элементов И 262 и 266 группы, вход 103 соединен с первыми входами элементов И 263, 267 и 2610 группы, вход 104 соединен с первыми входами элементов И 264, 268 и 2611 группы, вход 105 соединен с первыми входами элементов И 265, 269 и 2612 группы, вход 131 группы управляющих входов блока соединен с вторыми входами элементов И 2610-2612 группы, а 132 группы управляющих входов блока соединен с вторыми входами элементов И 266-269 группы, вход 133 группы управляющих входов блока соединен с вторыми входами элементов И 261-265 группы, выходы элементов И 261-264соединены соответственно с первыми входами группы элементов ИЛИ 271-274, выходы элементов И 266-269 соединены соответственно с вторыми входами группы элементов ИЛИ 271-274, выходы элементов И 2610-2612соединены соответственно с третьими входами элементов ИЛИ 271-273группы, выходы группы элементов ИЛИ 271-274 и выход элемента И 26 соединены соответственно с выходами 111-115 группы выходов устройства для умножения в конечных полях.

Работает устройство для умножения в конечных полях следующим образом.

При описании работы устройства в поле GF(2устройство для умножения в конечных полях, патент № 2058040) (i устройство для умножения в конечных полях, патент № 2058040 ), определенном полиномом Fi(x) (i устройство для умножения в конечных полях, патент № 2058040 ) степени ai с коэффициентом из поля GF(2)- т.е.

Fi(x) Fio+Fi1x+.+Fустройство для умножения в конечных полях, патент № 2058040xустройство для умножения в конечных полях, патент № 2058040, Fijустройство для умножения в конечных полях, патент № 2058040GF(2), i=устройство для умножения в конечных полях, патент № 2058040,j=устройство для умножения в конечных полях, патент № 2058040,Fio=1, каждый элемент поля представляют в виде полинома над GF(2), степень которого меньше аi, т.е. вместо элементов p,q,rустройство для умножения в конечных полях, патент № 2058040GF(2устройство для умножения в конечных полях, патент № 2058040) рассматривают полиномы

pi(x)устройство для умножения в конечных полях, патент № 2058040 pijxj, pijустройство для умножения в конечных полях, патент № 2058040 GF(2), i=устройство для умножения в конечных полях, патент № 2058040, j=устройство для умножения в конечных полях, патент № 2058040,

qi(x)устройство для умножения в конечных полях, патент № 2058040 qijxj, qijустройство для умножения в конечных полях, патент № 2058040 GF(2), i=устройство для умножения в конечных полях, патент № 2058040, j=устройство для умножения в конечных полях, патент № 2058040,

ri(x)устройство для умножения в конечных полях, патент № 2058040 rijxj, rijустройство для умножения в конечных полях, патент № 2058040 GF(2), i=устройство для умножения в конечных полях, патент № 2058040, j=устройство для умножения в конечных полях, патент № 2058040.

Тогда умножение элементов GF(2ai), т.е. piqi ri, выполняется по правилам умножения представляющих эти элементы полиномов по модулю Fi(x), т.е.

ri(x) pi(x)qi(x) + bi(x)Fi(x), (1) где bi(x) полином степени меньшей, чем ai 1.

В дальнейшем, для определенности, будем считать, что величины ai, i устройство для умножения в конечных полях, патент № 2058040 упорядочены в порядке неубывания индексов, т.е.

a1 устройство для умножения в конечных полях, патент № 2058040 a2 устройство для умножения в конечных полях, патент № 2058040 устройство для умножения в конечных полях, патент № 2058040 ae.

Для вычисления полинома re(x) можно использовать рекуррентное уравнение Se(k)(x) ql1ae-k-1pe(x) + Se(k-1)(x)x + bl1aek-1F(x), k 1, 2, (2) где bl1aek-1 ql1ae-kpl1ae-1 Sl1ae-1(k-1),

Se(o)(x) qlae-kpe(x)

Тогда

re(x) Se(ae-1)(x).

Полином ri(x) в случае ai < ae можно вычислить, преобразовав соотношение (1) следующим образом

устройство для умножения в конечных полях, патент № 2058040(x) qi(x)устройство для умножения в конечных полях, патент № 2058040(x)+bi(x)устройство для умножения в конечных полях, патент № 2058040(x),

где устройство для умножения в конечных полях, патент № 2058040(x) ri(x)xустройство для умножения в конечных полях, патент № 2058040,устройство для умножения в конечных полях, патент № 2058040(x) pi(x)xустройство для умножения в конечных полях, патент № 2058040,устройство для умножения в конечных полях, патент № 2058040(x) Fi(x)xустройство для умножения в конечных полях, патент № 2058040

Поскольку степень полинома устройство для умножения в конечных полях, патент № 2058040(x) равна ае, то для вычисления устройство для умножения в конечных полях, патент № 2058040(x) можно использовать рекурентное уравнение, аналогичное уравнению (2), т.е.

устройство для умножения в конечных полях, патент № 2058040(x) qустройство для умножения в конечных полях, патент № 2058040(x)+устройство для умножения в конечных полях, патент № 2058040(x)x+bустройство для умножения в конечных полях, патент № 2058040(x), k=1,2, (3)

где устройство для умножения в конечных полях, патент № 2058040(x) qустройство для умножения в конечных полях, патент № 2058040(x).

Тогда

устройство для умножения в конечных полях, патент № 2058040(x) устройство для умножения в конечных полях, патент № 2058040(x).

Для получения ri(x) достаточно разделить устройство для умножения в конечных полях, патент № 2058040(x) на х ае-ai

На ai, i устройство для умножения в конечных полях, патент № 2058040 входов группы первых информационных входов 11-1устройство для умножения в конечных полях, патент № 2058040устройства в параллельном коде подаются коэффициенты полинома pi(x). Аналогичным образом на ai, i устройство для умножения в конечных полях, патент № 2058040 входов группы вторых информационных входов 31-3устройство для умножения в конечных полях, патент № 2058040 устройства подаются коэффициенты полинома qi(x).

С помощью информации, подаваемой с выходов блока формирования величины сдвига 8 на управляющие входы блока сдвига сомножителя 2, вектор коэффициентов полинома pi(x) сдвигается на (ae ai) разрядов в сторону старших разрядов.

На входы блока умножения на старший разряд 4 подается с выходов блока сдвига сомножителя 2 вектор коэффициентов поли-нома устройство для умножения в конечных полях, патент № 2058040(x) pi(x)х ае-ai и с ае-го входа группы вторых информационных входов устройства коэффициент ai,ae-1. На выходах блока умножения на старший разряд 4 будет сформирован результат вектор коэффициентов полинома

Si(o)(x) qустройство для умножения в конечных полях, патент № 2058040(x).

На первые информационные входы блока вычисления полинома 5k (k устройство для умножения в конечных полях, патент № 2058040 ) подается вектор коэффициентов полинома устройство для умножения в конечных полях, патент № 2058040(x), на вторые информационные входы подается вектор коэффициентов полинома Si(k-1)(x), на информационный вход подается с (ae k)-го входа группы вторых информационных входов 31-3устройство для умножения в конечных полях, патент № 2058040 устройства коэффициент qi, на управляющие входы подается код с выходов блока задания обратных связей 7. На выходах 101k-10устройство для умножения в конечных полях, патент № 2058040 блока вычисления полинома 5k будет сформирован результат вектор коэффициентов полинома

устройство для умножения в конечных полях, патент № 2058040(x) qустройство для умножения в конечных полях, патент № 2058040(x)+устройство для умножения в конечных полях, патент № 2058040(x)x+bустройство для умножения в конечных полях, патент № 2058040(x).

Коэффициенты полинома qустройство для умножения в конечных полях, патент № 2058040(x) (первого слагаемого) формируются с помощью первой группы элементов И 181k-18устройство для умножения в конечных полях, патент № 2058040 блока 5k. Формирование коэффициентов полинома устройство для умножения в конечных полях, патент № 2058040(x) обеспечивает блок задания обратных связей 7. Коэффициенты полинома bустройство для умножения в конечных полях, патент № 2058040(x) (третьего слагаемого) формируются с помощью второй группы элементов И 211k-21aekблока 5k. Суммирование всех трех слагаемых осуществляется с помощью первой группы 191k-19aek и второй группы 201k-20устройство для умножения в конечных полях, патент № 2058040 сумматоров по модулю два.

Коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) Si(ae-1)(х) с выходов блока вычисления полинома 5устройство для умножения в конечных полях, патент № 2058040 будут подаваться на информационные входы блока сдвига произведения 9. С помощью кода, подаваемого на управляющие входы блока сдвига произведения с выходов блока формирования величины сдвига 8, в блоке сдвига произведения 9 будет осуществлен сдвиг вектора коэффициентов полинома устройство для умножения в конечных полях, патент № 2058040(x) на (ae-ai) разрядов в сторону младших разрядов. На выходах 11e-11устройство для умножения в конечных полях, патент № 2058040 блока сдвига произведения 9 будут получены коэффициенты искомого полинома ri(x).

Рассмотрим работу устройства для случая, когда l 7,

F1 (x) x3 + x + 1, F2 (x) x3 + x2 + 1,

F3 (x)" x4 + x + 1,

F4 (x) x4 + x3 + 1, F5 (x) x5 + x2 + 1,

F6 (x) x5 + x4 + x3 + x2 + 1,

F7 (x) x5 + x4 + x2 + x + 1.

При этом а1 а2 3, а3 а4 4, а5 а6 а7 5.

На основании значений коэффициентов полиномов устройство для умножения в конечных полях, патент № 2058040(x) Fi(x)х ае-ai устройство для умножения в конечных полях, патент № 2058040(x) F1(x)x2 x5 + x3 + x2, устройство для умножения в конечных полях, патент № 2058040(x) F2(x)x2 x5+ x4 + x2, устройство для умножения в конечных полях, патент № 2058040(x) F3(x)x x5 + x2 + x, устройство для умножения в конечных полях, патент № 2058040(x) F4(x)x x5 + x4 + x, устройство для умножения в конечных полях, патент № 2058040(x) F5(x), устройство для умножения в конечных полях, патент № 2058040(x) F6(x), устройство для умножения в конечных полях, патент № 2058040(x) F7(x) составим матрицу синтеза блока задания обратных связей 7, в которой столбцы соответствуют входам, а строки выходам блока задания обратных связей 7.

Y1 Y2 Y3 Y4 Y5 Y6 Y7

0 0 0 0 1 1 1 b1

0 0 1 1 0 0 1 b2

1 1 1 0 1 1 1 b3

1 0 0 0 0 1 0 b4

0 1 0 1 0 1 1 b5

Тогда

b1= Y5устройство для умножения в конечных полях, патент № 2058040Y6устройство для умножения в конечных полях, патент № 2058040Y7, b1= Y3устройство для умножения в конечных полях, патент № 2058040Y4устройство для умножения в конечных полях, патент № 2058040Y7, b3= устройство для умножения в конечных полях, патент № 2058040 b4= Y1устройство для умножения в конечных полях, патент № 2058040Y6, b5= Y2устройство для умножения в конечных полях, патент № 2058040Y4устройство для умножения в конечных полях, патент № 2058040Y6устройство для умножения в конечных полях, патент № 2058040Y7

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

На основании значений ai, i устройство для умножения в конечных полях, патент № 2058040 составим матрицу синтеза блока формирования величины сдвига 8, в которой столбцы соответствуют входам, а строки выходам блока формирования величины сдвига 8.

Y1 Y2 Y3 Y4 Y5 Y6 Y7

1 1 0 0 0 0 0 C1

0 0 1 1 0 0 0 C2

0 0 0 0 1 1 1 C3

Тогда

C1 Y1 V Y2, C2 Y3 V Y4, C3 Y5 V Y6 V Y7.

Построенный в соответствии с полученными выражениями блок формирования величины сдвига 8 приведен на фиг. 6.

Рассмотрим работу устройства при умножении элементов поля GF(23), определяемого полиномом F1(x) x3 + x + 1. В этом случае сигнал "1" поступает на управляющий вход устройства. Сигнал "1" появляется на выходах 223 и 224 блока задания обратных связей 7 (на остальных выходах блока задания обратных связей сигнал "0"), а также на выходе 131 блока формирования величины сдвига 8 (на остальных выходах блока формирования величины сдвига 8 сигнал "0").

Пусть pi(x) x2 + 1, qi(x) x2 + x. При этом на информационные входы 11-15 блока сдвига сомножителя 2 поступает двоичный код 00101, соответствующий коэффициентом полинома pi(x). В результате на выходах 151-155 блока сдвига сомножителя 2 появляется код 10100, соответствующий коэффициентам полинома pi(x). На входы 31-35 поступает двоичный код 00110, соответствующий коэффициентам полинома qi(x).

На выходах 1010-1050 группы элементов И 161-165 блока умножения на старший разряд 4 появляются коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) qустройство для умножения в конечных полях, патент № 2058040(x)=0(x4+x2)=0, т.е. двоичный код 00000.

На выходах группы элементов И 1811-1851 (первых входах сумматоров по модулю два 1911-1951) блока вычисления полинома 5 появляются коэффициенты полинома qустройство для умножения в конечных полях, патент № 2058040(x) 0 (x3 + x2) 0, т.е. двоичный код 00000. На выходах группы элементов И 2111-2151 (вторых входах сумматоров по модулю два 1911-1951) появляются коэффициенты полинома bустройство для умножения в конечных полях, патент № 2058040(x) 0(x3 + x2) 0, т.е. двоичный код 00000. На выходах сумматоров по модулю два 1911-1951 появляется двоичный код 00000, который поступает (кроме младшего разряда коэффициента при хо 0) на первые входы сумматоров по модулю два 2011-2041. На вторые входы сумматоров по модулю два 2011-2041 поступают коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x)x 0 * x 0, т. е. двоичный код 0000. В результате на выходах 1011-1051 блока вычисления полинома 51 появляются коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) 0 + 0 0, т.е. двоичный код 00000.

На выходах группы элементов И 1812-1852 (первых входах сумматоров по модулю два 1912-1952) блока вычисления полинома 52 появляются коэффициенты полинома qустройство для умножения в конечных полях, патент № 2058040(x) 1(x4 + x2) x4 + x2, т.е. двоичный код 10100. На выходах группы элементов И 2112-2152 (вторых входах сумматоров по модулю два 1912-1952) появляются коэффициенты полинома bустройство для умножения в конечных полях, патент № 2058040(x) 0(x3 + x2) 0, т.е. двоичный код 00000. На выходах сумматоров по модулю два 1912-1952 появляется двоичный код 10100, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2012-2042. На вторые входы сумматоров по модулю два 2012-2042поступают коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x)x 0 * x 0, т.е. двоичный код 0000. В результате на выходах 1012-1052 блока вычисления полинома 52появляется вектор коэффициентов полинома Si(2)(x) x4 + x2 + 0 x4 + x2, т.е. двоичный код 10100.

На выходах группы элементов И 1813-1853 (первых входах сумматоров по модулю два 1913-1953) блока вычисления полинома 53 появляются коэффициенты полинома qустройство для умножения в конечных полях, патент № 2058040(x) 1(x4 + x2) x4 + x2, т.е. двоичный код 10100. На выходах группы элементов И 2113-2153 (вторых входах сумматоров по модулю два 1913-1953) появляются коэффициенты полинома bустройство для умножения в конечных полях, патент № 2058040(x) 1(x3 + x2) x3 + x2, т. е. двоичный код 01100. На выходах сумматоров по модулю два 1913-1953 появляется двоичный код 11000, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2013-2043. На вторые входы сумматоров по модулю два 2013-2043поступают коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x)x (x4 + x2)x x5 + x3, т. е. двоичный код 0100. В результате на выходах 1013-1053 блока вычисления полинома 5 появляются коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) (x4 + x3) + +x3= x4, т.е. двоичный код 10000.

На выходах группы элементов И 1814-1854 (первых входах сумматоров по модулю два 1914-1954) блока вычисления полинома 54 появляются коэффициенты полинома qустройство для умножения в конечных полях, патент № 2058040(x) 0(x4 + x2) 0, т.е. двоичный код 00000. На выходах группы элементов И 2114-2154 (вторых входах сумматоров по модулю два 1914-1954) появляются коэффициенты полинома bустройство для умножения в конечных полях, патент № 2058040(x) 1(x3 + x2) x3 + x2, т.е. двоичный код 01100. На выходах сумматоров по модулю два 1914-1954 появляется двоичный код 01100, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2014-2044. На вторые входы сумматоров по модулю два 2014-2044 поступают коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) x4 * x x5, т.е. двоичный код 0000. В результате на выходах 1014-1054 блока вычисления полинома 54появляются коэффициенты полинома устройство для умножения в конечных полях, патент № 2058040(x) устройство для умножения в конечных полях, патент № 2058040(x) x3+x2+0 x3+x2, т.е. двоичный код 01100.

На выходах 111-115 блока сдвига произведения 9 появляются коэффициенты полинома ri(x) устройство для умножения в конечных полях, патент № 2058040(x)/х ае-ai (x3 + x2)/x2 x + 1, т.е. двоичный код 00011.

Технико-экономическую эффективность предлагаемого устройства по отношению к известному возможно определить из повышения быстродействия.

Если в известном устройстве на умножение тратится время

T1 tn at, где to тактовая частота, tn время подготовки к процедуре умножения то в предлагаемом устройстве на умножение будет затрачено время

T2 tn + to.

Эффективность устройства определится формулой

Э Т12.

Класс G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями

параллельный сумматор-вычитатель в троичной системе счисления на нейронах -  патент 2453900 (20.06.2012)
способ логико-динамического процесса преобразования позиционных условно отрицательных аргументов аналоговых сигналов «-»[ni]f(2n) в позиционно-знаковую структуру аргументов «±»[ni]f(-1+1,0, +1) "дополнительный код" с применением арифметических аксиом троичной системы счисления f(+1,0,-1) (варианты русской логики) -  патент 2429523 (20.09.2011)
компьютерная система для хранения бесконечных, бесконечно малых и конечных величин и выполнения с ними арифметических операций -  патент 2395111 (20.07.2010)
способ сложения чисел в коде "1 из 4" и сумматор в этом коде -  патент 2251143 (27.04.2005)
способ обработки данных -  патент 2250488 (20.04.2005)
устройство для сложения n чисел по модулю p -  патент 2220441 (27.12.2003)
арифметическое устройство по модулю -  патент 2157560 (10.10.2000)
устройство для сложения и вычитания чисел по модулю -  патент 2156998 (27.09.2000)
устройство для умножения по модулю семь -  патент 2149442 (20.05.2000)
устройство умножения -  патент 2148270 (27.04.2000)
Наверх