Устройство для формирования остатка по произвольному модулю от числа

 

Изобретение относится к вычислительной технике и может быть использовано в устройствах для формирования элементов конечных полей, в устройствах, функционирующих в СОК, а также в устройствах для формирования кодовых последовательностей, построение которых основывается на теории конечных целей. Целью изобретения является повышение быстродействия устройства. Устройство для формирования остатка по произвольному модулю от числа содержит два регистра, блок постоянной памяти, группу блоков элементов И, блок сумматоров по произвольному модулю, элемент задержки и блок инверторов, соединенные между собой функционально. 1 з. п. ф-лы, 3 ил.

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

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

Недостатком этого устройства является низкое быстродействие.

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

Недостатком данного устройства является низкое быстродействие процесса формирования остатка.

Сущность изобретения состоит в реализации следующей идеи приведения чисел по произвольному модулю. Известно, что позиционные системы счисления строятся по следующему принципу. Выбирается некоторое число m - основание системы счисления, и каждое число А представляется в виде комбинации его степеней с коэффициентами ai, i= , принимающими значения от 0 до m - 1, т. е. в виде akmk + . . . a1m + ao, (1) где k - разрядность представляемого числа. Для двоичной системы счисления выражение (1) принимает вид ak2k + ak-12k-1 + . . . + a12 + ao, (2) где ai, i = принимает значение 0 или 1.

Известно также, что сравнения можно почленно складывать, т. е.

A1 B1(modP), A2 B2(modP) . . . Ak Bk(modP), тогда справедливо следующее выражение: A1 + A2 + . . . Ak B1 + B2 + . . . + + Bk (nodP). (3) Учитывая выражения (2) и (3), можно записать (ak2k + ak-12k-1 + . . . a12 + ao)modP ak2k(mod P) + ak-12k-1(modP) + . . . + +a12(modP) + ao(modP).

Так как для двоичной системы счисления коэффициенты ai, i= , где k - разрядность представляемого числа А, принимают только два значения 0 или 1, то, суммируя заранее вычисленные остатки по модулю Р от чисел 2i, i= , для тех i, для которых коэффициенты ai = 1, получают остаток по модулю Р от числа А. Для модулей Pi, с которыми предполагается работа устройства, в постоянном запоминающем устройстве запоминаются заранее вычисленные остатки от чисел 2i, i= , где k - разрядность чисел, от которых необходимо формировать остатки.

На фиг. 1 представлена функциональная схема устройства для формирования остатка по произвольному модулю от числа; на фиг. 2 - функциональная схема блока сумматоров по произвольному модулю; на фиг. 3 - сумматор по произвольному модулю.

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

Блок 4 сумматоров по произвольному модулю содержит (фиг. 2) сумматоры 8 по произвольному модулю, на каждый из которых поступают значения модуля в прямом и в инверсном коде.

Сумматор 8 по произвольному модулю содержит (фиг. 3) первый 9 и второй 10 комбинационные сумматоры, схему 11 сравнения и мультиплексор 12. На вход переноса сумматора 10 подан код единицы.

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

В исходном состоянии регистры 1 и 5 обнулены. В блоке 2 постоянной памяти 2 предварительно записаны заранее вычисленные остатки от чисел 2i, i= , где k - максимальная разрядность числа Ak, по модулям Pj, с которыми предполагается работа устройства. Модуль Pi, по которому осуществляется формирование остатков чисел, задается параллельным двоичным кодом, подаваемым на вход модуля устройства. На информационные входы регистра 1 поступает число Ak в параллельном двоичном коде. После подачи кодов числа Ak и модуля Pi на входы устройства на вход "Начало вычисления" подается импульс, который, поступая на вход записи регистра 1, записывает в него код числа Ak и поступает на вход разрешения чтения блока 2. В результате на выходе блока 2 появляются остатки от чисел 2i, i= по модулю Pi. Импульс с входа "Начало вычисления" поступает также на вход элемента 6 задержки. Одновременно с информационных выходов регистра 1 на группу 3 блоков элементов И поступает код числа Ak, открывая те блоки группы, на которые поступает единица. В результате на соответствующие входы блока 4 сумматоров поступают остатки от чисел 2i, i= , для тех i, для которых ai = 1 для числа Ak. На управляющие входы блока 4 поступает значение модуля в прямом и инверсном коде. Блок 4 осуществляет суммирование по модулю Pi поступающих на его входы чисел, эта сумма оказывается на его выходах и поступает на информационные входы регистра 5. Время задержки элемента 6 равно времени формирования остатка, поэтому по окончанию процесса формирования остатка по заданному модулю на выходе элемента 6 задержки появляется импульс, который записывает код остатка в регистр 5 и поступает на выход окончания работы устройства.

Сумматор 8 по произвольному модулю работает следующим образом. На входы сумматора 9 подаются слагаемые в диапазоне чисел от 0 до Р - 1, на второй вход схемы 11 сравнения подается прямой код модуля Р, а на второй вход сумматора 10 - инверсный код модуля Р. Если сумма слагаемых меньше модуля Р, то на выходе "Меньше" схемы 11 сравнения появляется потенциал, который поступает на управляющий вход мультиплексора 12. Последний в результате воздействия управляющего импульса коммутирует со своим выходом свой первый вход и на выходе сумматора 8 по модулю оказывается сумма слагаемых, поступающих на его входы. Если эта сумма превышает величину модуля (или равна ей), то потенциала на управляющем входе мультиплексора 12 нет и мультиплексор 12 коммутирует со своим выходом свой второй вход. При этом на втором входе оказывается код числа, равного сумме слагаемых, поступающих на вход сумматора 8, приведенный по модулю Р.

При следующем цикле формирования остатка может быть выбран любой другой модуль Ра и задано любое другое число Ае. (56) Авторское свидетельство СССР N 1396281, кл. H 03 M 7/18, 1986.

Авторское свидетельство СССР N 1633495, кл. H 03 M 7/18, 1989.

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

1. УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ ОТ ЧИСЛА, содержащее первый и второй регистры, блок памяти, группу блоков элементов И, блок сумматоров и элемент задержки, причем вход числа устройства соединен с информационным входом первого регистра, вход значения модуля устройства - с адресным входом блока памяти, разрядные выходы которого соединены соответственно с первыми входами блоков элементов И группы, вторые входы которых соединены соответственно с разрядными выходами первого регистра, выходы блоков элементов И группы соединены соответственно с информационными входами блока сумматоров, вход элемента задержки - с входом записи первого регистра и входом разрешения чтения блока памяти, выход второго регистра является выходом устройства, отличающееся тем, что, с целью повышения быстродействия, в него введен блок инверторов, а блок сумматоров выполнен в виде ярусов из N - 1 сумматоров по произвольному модулю, количество которых в каждом ярусе равно N/2i, где i - номер яруса блока, а N - разрядность входного числа устройства , первый и второй информационные входы первого яруса сумматоров по произвольному модулю являются информационными входами блока сумматоров, выходы сумматоров по произвольному модулю i-го яруса, кроме последнего, соединены соответственно с первыми и вторыми информационными входами сумматоров по произвольному модулю (i+1) - го яруса, выход сумматора по произвольному модулю последнего яруса является выходом блока сумматоров, а третьи и четвертые информационные входы всех сумматоров по произвольному модулю соединены соответственно с входами прямого и инверсного значений модуля блока сумматоров, причем вход значения модуля устройства соединен с входом прямого значения модуля блока сумматоров и входом блока инверторов, выход которого соединен с входом инверсного значения модуля блока сумматоров, выход которого соединен с информационным входом второго регистра, вход записи которого соединен с выходом элемента задержки и является выходом окончания вычислений устройства, вход начала вычислений которого соединен с входом элемента задержки.

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3



 

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

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

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

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

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

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

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

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

Изобретение относится к области вычислительной техники и может быть использовано для согласования с вычислительными устройствами, функционирующими в СОК, Цель изобретения - расширение области применения за счет выполнения преобразования из позиционной системы счисления в систему остаточных классов Поставленная цель достигается тем, что устройство содержит группу табличных преобразователей 2 позиционного кода в код индекса, группу сумматоров 3 по модулю, группу табличных преобразователей 5 кода индекса в код остатка, группу накапливающих сумматоров 6 по модулю

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

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

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

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

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

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

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

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

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

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

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