вычислительное устройство

Классы МПК:G06F7/72 с помощью арифметического остатка
H03M7/18 преобразование в коды в остатках или из них
Автор(ы):,
Патентообладатель(и):Государственное образовательное учреждение высшего профессионального образования "Ставропольский государственный университет" (RU)
Приоритеты:
подача заявки:
2007-05-11
публикация патента:

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

вычислительное устройство, патент № 2356086

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

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

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

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

Известно устройство для формирования остатка по произвольному модулю от числа, содержащее регистр, блок ключей, блок сумматоров и элемент задержки, соединенные между собой функционально (см. АС СССР № 1633495, кл. Н03М 7/18, 1989).

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

Наиболее близким по технической сущности к заявляемому изобретению является рекуррентный формирователь остатков по произвольному модулю, содержащий блок сумматоров, блок формирования частичных остатков, инвертор, элемент задержки и регистр, соединенные между собой функционально (см. патент РФ № 2007037, кл. Н03М 7/18, 30.01.1994, бюл. № 2).

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

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

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

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

Пусть требуется сформировать остаток r от числа а по модулю р и вычислить частное q, то есть решить уравнение a=qp+r.

При проведении вычислений по модулю р значение числа а сравнивается со значением числа z=p×2n-k, где n количество разрядов числа а, a k количество разрядов модуля р. Если значение aвычислительное устройство, патент № 2356086 z, то из числа а вычитается значение числа z, то есть a 1=a-z, при этом формируется ненулевой старший (n-k+1)-й разряд неполного частного q. Если a<z, то число а остается без изменений а1=а, а значение старшего (n-k+1)-го разряда неполного частного q принимается равным нулю. Полученное в результате значение а1 сравнивается со значением z1=p×2n-k-1. Если значение a1 вычислительное устройство, патент № 2356086 z1, то из а1 вычитается значение модуля z1, то есть а21-z 1, при этом формируется ненулевой (n-k)-й разряд неполного частного q. Если a1<z1, то число а 1 остается без изменений а21, а значение (n-k)-го разряда неполного частного q принимается равным нулю. Полученное в результате значение а2 сравнивается со значением z2=p×2n-k-2 и т.д. На последнем (n-k+1)-м шаге число an-k сравнивается с модулем p. Если значение an-kвычислительное устройство, патент № 2356086 p, то из an-k вычитается значение числа р, то есть an-k+1=an-k - Р, при этом формируется ненулевой младший разряд неполного частного q. Если аn-k <р, то число аn-k остается без изменений a n-k+1=an-k, а значение младшего разряда неполного частного q принимается равным нулю. Полученное в результате значение r=an-k+1 является остатком от деления числа а на число р.

Предлагаемое вычислительное устройство осуществляет данный метод путем последовательного выполнения (n-k+1) операций, в ходе i-й операции значение аi сравнивается со значением р×2n-k-i путем вычисления разности ai -p×2n-k-i, где i=1,вычислительное устройство, патент № 2356086 ,(n-k), и формируется (n-k-i)-й разряд неполного частного q. При выполнении (n-k+1)-й операции результатом вычисления числа а по модулю р будет являться значение разности, полученное на последнем (n-k+1)-м шаге.

На чертеже представлена схема вычислительного устройства.

Вычислительное устройство содержит (n-k+1) сумматоров 1, (n-k+1) мультиплексоров 2, регистр 3 и элемент 4 задержки. Вход 5 служит для подачи двоичного кода числа а, вход 6 - для подачи двоичного кода модуля р. Вход 7 начала вычисления соединен со входом записи регистра 3 и входом элемента 4 задержки. На вход 6 подается двоичный инверсный код числа р×2n-k-i, где i=1, вычислительное устройство, патент № 2356086 , (n-k) порядковый номер ступени преобразования, a (n-k) количество ступеней преобразования, n равно количеству разрядов двоичного представления числа a, k равно количеству разрядов двоичного представления модуля p. Инверсный код числа p×2 n-k-i может быть получен путем сдвига двоичного кода числа р на i разрядов в сторону старшего с последующей его инверсией. Выход 9 является выходом двоичного кода остатка r, а выход 8 является выходом двоичного кода неполного частного q. Выход 10 элемента 4 задержки - выходом окончания процесса вычисления.

Вычислительное устройство работает следующим образом.

На вход 3 подается двоичный код числа а, который далее поступает на информационные входы регистра 3. Одновременно на вход 7 начала вычисления подается импульс, который поступает на вход элемента 4 задержки и на вход записи регистра 3. При этом код числа а записывается в регистр 3, появляется на его информационных выходах и поступает на второй вход сумматора 1 и первый вход мультиплексора 2 первой ступени преобразования. На первый вход сумматора 1 подается инверсный код p×2 n-1 со входа 4 устройства. На вход переноса всех сумматоров 1 подается логическая единица. Сумматор 1 выполняет операцию, описываемую выражением: вычислительное устройство, патент № 2356086 , где с - результат суммирования, а - входное число, р - модуль, n - количество разрядов числа а. Старший n+1 разряд полученного значения с поступает на выход переноса сумматора 1. Остальные разряды представляют собой разность вычислительное устройство, патент № 2356086 . На первый вход мультиплексора 2 поступает код числа а, на второй вход мультиплексора 2 поступает разность вычислительное устройство, патент № 2356086 . Если сигнал на выходе переноса сумматора 1 равен "1", то на второй вход сумматора 1 второй ступени преобразования и на первый вход мультиплексора 2 второй ступени преобразования поступает разность вычислительное устройство, патент № 2356086 , если же он равен "0", то на второй вход сумматора 1 и на первый вход мультиплексора 2 поступает само число а. На первый вход сумматора 1 второй ступени преобразования поступает инверсный код р×2n-2. Далее выполняются те же действия, что и на первой ступени преобразования. После проведения n таких операций на выходе 4 окажется результат вычисления числа а по модулю р, а на выходах 6 - код неполного частного q. Одновременно с выхода элемента 4, время задержки которого равно времени работы (n-k+1) сумматоров 1 и (n-k+1) мультиплексоров 2, на выход 10 поступает импульс, сигнализирующий об окончании процесса формирования остатка и неполного частного.

Рассмотрим работу вычислительного устройства на примере.

Пусть a=189 10=101111012, модуль р=1910=10011 2, вычислительное устройство, патент № 2356086 , n=8, k=5. Первый сумматор формирует значение вычислительное устройство, патент № 2356086 . Старший разряд c1 равен 1, следовательно, мультиплексор 2 переводит на второй сумматор код числа а 1=а-p×2n-k=001001012 и 3-й разряд неполного частного q принимает значение 1. Второй сумматор 1 формирует значение вычислительное устройство, патент № 2356086 . Старший разряд с2 равен 0, следовательно, мультиплексор 2 переводит на третий сумматор 1 код числа а 1 и 2-й разряд неполного частного q принимает значение 0. Третий сумматор 1 формирует значение вычислительное устройство, патент № 2356086 . Старший разряд с3 равен 0, следовательно, мультиплексор 2 переводит на четвертый сумматор 1 код числа а 1 и 1-й разряд неполного частного q принимает значение 0. Четвертый сумматор 1 формирует значение вычислительное устройство, патент № 2356086 . Старший разряд с4 равен 1, следовательно, мультиплексор 2 переводит на выход код числа

a 2=a1-p×2n-k-3=100102 =1810 и 0-й разряд неполного частного q принимает значение 1. В результате неполное частное имеет значение q=1001 2=910

189=19×9+18

Класс G06F7/72 с помощью арифметического остатка

устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2513915 (20.04.2014)
способ организации выполнения операции умножения двух чисел в модулярно-позиционном формате представления с плавающей точкой на универсальных многоядерных процессорах -  патент 2509345 (10.03.2014)
устройство для определения знака модулярного числа -  патент 2503995 (10.01.2014)
устройство для сравнения чисел, представленных в системе остаточных классов -  патент 2503992 (10.01.2014)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2500018 (27.11.2013)
накапливающий сумматор по модулю -  патент 2500017 (27.11.2013)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2485574 (20.06.2013)
полный одноразрядный сумматор по модулю -  патент 2484519 (10.06.2013)
устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов -  патент 2483346 (27.05.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю -  патент 2477513 (10.03.2013)

Класс H03M7/18 преобразование в коды в остатках или из них

устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2513915 (20.04.2014)
устройство для формирования остатка по произвольному модулю от числа -  патент 2445730 (20.03.2012)
устройство для формирования остатка по заданному модулю -  патент 2421781 (20.06.2011)
устройство для преобразования двоичного кода в код системы остаточных классов (сок) -  патент 2413279 (27.02.2011)
устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2409840 (20.01.2011)
нейронная сеть для обнаружения ошибок в симметричной системе остаточных классов -  патент 2374678 (27.11.2009)
устройство для формирования остатка по произвольному модулю -  патент 2368942 (27.09.2009)
вычислительное устройство -  патент 2348965 (10.03.2009)
устройство для формирования остатка по произвольному модулю от числа -  патент 2324972 (20.05.2008)
устройство для преобразования числа из полиномиальной системы классов вычетов в позиционный код с коррекцией ошибки -  патент 2309535 (27.10.2007)
Наверх