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

 

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

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

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

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

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

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

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

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

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

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

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

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

Наличие признаков, отличающих заявляемое техническое решение от прототипа, а именно: блок сдвига сомножителей, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведений, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя, (ae k)-e (k ) входы группы вторых информационных входов устройства соединены с информационными входами (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(0,1),i,j= возможно осуществить за один такт времени, если реализовать устройство, содержащее а ступеней, срабатывающих одновременно, причем на первой ступени будет получен результат 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- группу первых информационных входов; 2 блок сдвига сомножителя; 31-3 группу вторых информационных входов; 4 блок умножения на старший разряд; 51-5 блоки вычисления полиномов; 61-6е группу управляющих входов; 7 блок задания обратных связей; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 101i-10 (i ) (ae 1) групп информационных выходов блоков вычисления полиномов, 51-5; 111-11 группу выходов устройства для умножения в конечных полях.

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

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

Функциональная схема блока вычисления полинома 5i (i ) (см. фиг. 4) содержит: 3i информационный вход; 101i-1-10 группу вторых информационных входов; 151-15 группу первых информационных входов; 181i-18 первую группу элементов И; 191i-19 первую группу сумматоров по модулю два; 201i-20 вторую группу сумматоров по модулю два; 211i-21 вторую группу элементов И; 101i-10 группу выходов блока 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 ) группу выходов блока вычисления полинома 5i; 131-133 группу выходов блока формирования величины сдвига 8; 151-1515 группу выходов блока сдвига сомножителя; 161-165 группу элементов И блока умножения на старший разряд; 181j-185j j-ю (j ) группу первых элементов И; 191i-195i i-ю (i ) группу первых сумматоров по модулю два; 201i-204i i-ю (i ) группу вторых сумматоров по модулю два; 211i-215i i-ю (i ) группу вторых элементов И; 111-115 группу информационных выходов устройства.

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

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

В блоке сдвига сомножителя 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 группы информационных входов блока соединены соответственно с первыми входами группы элементов И 161-16, вторые входы которых объединены и соединены с информационным входом 3 блока, выходы группы элементов И 161-16 соединены соответственно с выходами 1010-10 группы выходов блока 4.

В каждом блоке вычисления полинома 5i (i ) вход 15j (j ) группы первых информационных входов соединен с первым входом элемента И 18ij первой группы, вторые входы которых объединены и соединены с информационным входом 3i блока, а выход элемента И 18jiсоединен с первым входом соответствующего сумматора по модулю два 19jiпервой группы, входы 101i-1-10 группы вторых информационных входов соединены с вторыми входами соответствующих сумматоров по модулю два 201i-20 второй группы, первые входы элементов И 211i-21 второй группы объединены и соединены с входом 10 группы вторых информационных входов, входы 211-22 группы управляющих входов соединены соответственно с вторыми входами элементов И 211i-21 второй группы, выходы которых соединены соответственно со вторыми входами сумматоров по модулю два 191i-19 первой группы, а выходы сумматоров по модулю два 192i-19 первой группы соответственно соединены с первыми входами сумматоров по модулю два 201i-20 второй группы, выход сумматора по модулю два 191i первой группы и выходы сумматоров по модулю два 201i-20 второй группы соединены соответственно с выходами 101i-10 блока вычисления полинома 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 ) соединен с выходом 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) (i ), определенном полиномом Fi(x) (i ) степени ai с коэффициентом из поля GF(2)- т.е.

Fi(x) Fio+Fi1x+.+Fx, FijGF(2), i=,j=,Fio=1, каждый элемент поля представляют в виде полинома над GF(2), степень которого меньше аi, т.е. вместо элементов p,q,rGF(2) рассматривают полиномы
pi(x) pijxj, pij GF(2), i=, j=,
qi(x) qijxj, qij GF(2), i=, j=,
ri(x) rijxj, rij GF(2), i=, j=.

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

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

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

a1 a2 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) следующим образом
(x) qi(x)(x)+bi(x)(x),
где (x) ri(x)x,(x) pi(x)x,(x) Fi(x)x
Поскольку степень полинома (x) равна ае, то для вычисления (x) можно использовать рекурентное уравнение, аналогичное уравнению (2), т.е.

(x) q(x)+(x)x+b(x), k=1,2, (3)
где (x) q(x).

Тогда
(x) (x).

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

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

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

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

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

Коэффициенты полинома (x) Si(ae-1)(х) с выходов блока вычисления полинома 5 будут подаваться на информационные входы блока сдвига произведения 9. С помощью кода, подаваемого на управляющие входы блока сдвига произведения с выходов блока формирования величины сдвига 8, в блоке сдвига произведения 9 будет осуществлен сдвиг вектора коэффициентов полинома (x) на (ae-ai) разрядов в сторону младших разрядов. На выходах 11e-11 блока сдвига произведения 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.

На основании значений коэффициентов полиномов (x) Fi(x)х ае-ai (x) F1(x)x2 x5 + x3 + x2, (x) F2(x)x2 x5+ x4 + x2, (x) F3(x)x x5 + x2 + x, (x) F4(x)x x5 + x4 + x, (x) F5(x), (x) F6(x), (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= Y5Y6Y7, b1= Y3Y4Y7, b3= b4= Y1Y6, b5= Y2Y4Y6Y7
Построенный в соответствии с полученными выражениями блока задания обратных связей 7 приведен на фиг. 5.

На основании значений ai, i составим матрицу синтеза блока формирования величины сдвига 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 появляются коэффициенты полинома (x) q(x)=0(x4+x2)=0, т.е. двоичный код 00000.

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

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

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

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

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

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

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

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


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

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10



 

Похожие патенты:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к вычислительной техникe и может быть использовано для построения систем передачи и переработки дискретной информации

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

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