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

Преобразование представлений чисел в модулярной арифметике в системах остаточных классов с разными основаниями Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
577
84
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДУЛЯРНАЯ АРИФМЕТИКА / ПОЗИЦИОННАЯ СИСТЕМА СЧИСЛЕНИЯ / ОБРАБОТКА ЧИСЛОВЫХ ДАННЫХ / ПРОЦЕДУРА ПРЕОБРАЗОВАНИЯ / MODULAR ARITHMETIC / POSITIONAL NUMBER SYSTEM / PROCESSING OF NUMERICAL DATA / CONVERSION PROCESS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Магомедов Шамиль Гасангусейнович

Одним из этапов обработки чисел в модулярной арифметике, который в наибольшей степени требует затрат машинных ресурсов и тем самым значимо понижает эффективность использования методов модулярной арифметики в качестве технологии обработки числовых данных в средствах вычислительной техники, является этап преобразования чисел из позиционной системы счисления (ПСС) в модулярную (МС) и наоборот. Однако в процессе обработки данных достаточно реализовать МС-ПСС преобразования только на самой начальной и на самой последней стадиях обработки, а в промежуточных преобразованиях использовать преобразования из одной модулярной в другую модулярную систему. Предлагается процедура преобразования чисел из одной системы остаточных классов (СОК) в другую без использования алгоритма Эвклида, т. к. его многократная реализация является наиболее трудоемким этапом нахождения представлений чисел в СОК и обратного преобразования представлений из СОК в искомые числа. Процедура опирается на использование предварительно подготовленных таблиц. На основе описанной процедуры может быть разработан алгоритм, ориентированный непосредственно на написание программного кода. Произведена оценка основных характеристик процесса преобразования. В качестве примера рассматривался четырехъядерный процессор, каждое ядро которого может обрабатывать числа длиной 64 бит. Приведенные в работе оценки показали, что затраты на заполнение таблиц оказались вполне приемлемыми, и это позволило сделать вывод о возможности практической реализации разработанной процедуры.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CONVERSION OF NUMERATION IN MODULAR ARITHMETIC IN THE SYSTEMS OF RESIDUAL CLASSES WITH DIFFERENT BASES

One of the stages of processing numbers in modular arithmetic, which requires the most amount of computer resources and thus significantly reduces the efficiency of the use of methods of modular arithmetic as the processing technology of numeric data in data processing equipment, is a step of converting the number of positional number system (PNS) in the modular (MS), and vice versa. However, in the processing of data it is sufficient to implement the MS-PNS conversion only at the start and at the very last stages of processing, and in the intermediate transformations to use conversion from one to another modular system. This article proposes a process for the conversion of numbers from one system to another residual classes without using Euclidean algorithm, as its multiple implementation is the most time-consuming step of finding representations of numbers in the SRC and the inverse transform notions of SRC in the required number. The procedure relies on the use of tables prepared beforehand. On the basis of this procedure, an algorithm that focuses directly on writing code can be developed. The assessment of the main characteristics of the conversion process is made. Quad-core processor, each core that can handle a 64-bit was considered as an example. The assessments presented in the paper showed that the cost of filling the tables were quite acceptable, which led to the conclusion about the possibility of the practical implementation of the developed procedure.

Текст научной работы на тему «Преобразование представлений чисел в модулярной арифметике в системах остаточных классов с разными основаниями»

УДК 681.5

Ш. Г. Магомедов

ПРЕОБРАЗОВАНИЕ ПРЕДСТАВЛЕНИЙ ЧИСЕЛ В МОДУЛЯРНОЙ АРИФМЕТИКЕ В СИСТЕМАХ ОСТАТОЧНЫХ КЛАССОВ С РАЗНЫМИ ОСНОВАНИЯМИ

Одним из этапов обработки чисел в модулярной арифметике, который в наибольшей степени требует затрат машинных ресурсов и тем самым значимо понижает эффективность использования методов модулярной арифметики в качестве технологии обработки числовых данных в средствах вычислительной техники, является этап преобразования чисел из позиционной системы счисления (ПСС) в модулярную (МС) и наоборот. Однако в процессе обработки данных достаточно реализовать МС-ПСС преобразования только на самой начальной и на самой последней стадиях обработки, а в промежуточных преобразованиях использовать преобразования из одной модулярной в другую модулярную систему. Предлагается процедура преобразования чисел из одной системы остаточных классов (СОК) в другую без использования алгоритма Эвклида, т. к. его многократная реализация является наиболее трудоемким этапом нахождения представлений чисел в СОК и обратного преобразования представлений из СОК в искомые числа. Процедура опирается на использование предварительно подготовленных таблиц. На основе описанной процедуры может быть разработан алгоритм, ориентированный непосредственно на написание программного кода. Произведена оценка основных характеристик процесса преобразования. В качестве примера рассматривался четырехъядерный процессор, каждое ядро которого может обрабатывать числа длиной 64 бит. Приведенные в работе оценки показали, что затраты на заполнение таблиц оказались вполне приемлемыми, и это позволило сделать вывод о возможности практической реализации разработанной процедуры.

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

Введение

Одним из этапов обработки чисел в модулярной арифметике, который в наибольшей степени требует затрат машинных ресурсов и тем самым значимо понижает эффективность использования методов модулярной арифметики в качестве технологии обработки числовых данных в средствах вычислительной техники, является этап преобразования чисел из позиционной системы счисления (ПСС) в модулярную и наоборот. Как отмечено в [1, 2], при обработке числовых данных часто достаточно иметь алгоритмы преобразования не из модулярной в позиционную, а из одной модулярной системы (с одним основанием) в другую модулярную систему. При этом при определенных условиях преобразования чисел из одной модулярной системы в другую могут оказаться более быстрыми, чем из модулярной в ПС, особенно если количество чисел в основании системы остаточных классов (СОК) достаточно велико. Отметим, что если количество чисел в основании мало, вычисления в СОК по трудоемкости сравнимы с вычислениями в ПСС. Кроме того, как отмечено в [1], необходимость преобразования представления числа из одной СОК в другую возникает также при необходимости создания определенных условий по обеспечению информационной безопасности процесса обработки данных, т. к. при длительном использовании одной и той же СОК злоумышленник может путем накопления определенной статистики раскрыть набор чисел, входящих в ее основание. Наконец, при использовании технологий параллельной обработки данных (например, в многопроцессорных системах) на разных процессорах будут сформированы разные основания СОК, и при необходимости использования результатов, полученных на одних процессорах, другими процессорами также возникает необходимость преобразования из одной СОК в другую.

Указанной задаче преобразования числовых данных из одной модулярной системы в другую и посвящена данная работа. Публикаций по исследуемой тематике нет. Близкие результаты приведены в [3].

Основные соотношения процесса преобразования

Приведем формализованную постановку задачи. Пусть имеются две СОК: А={ Р1, Р2, ..., Рь } и В = {^, ^, ..., & } где Р1 < Р2 < ... < р и й < ^ < ••• < QK - простые числа, и задано

L K

некоторое число x, удовлетворяющее условиям x < П P , x < П Q, , которое имеет следующие

,=1 ,=1

представления в системах A и B: x = xA = {a1, a2,..., aL} и x = xB = {b1,b2,..., bL}. Необходимо построить процедуру, которая позволяла бы, когда известно представление xA = {a15a2,..., aL}, получить представление xB = {b1,b2,..., bL} непосредственно, без преобразования xA в исходное

L

число x и последующего разложения x в системе B. Положим P = П P.

,=1

Предположим вначале, что K = L. Тогда предлагаемая процедура состоит из отдельных этапов, на каждом из которых в СОК одно из чисел P, заменяется на одно из чисел Qj, а также «подправляется» представление числа x в новой СОК. Описываемая процедура не зависит от порядка следования чисел в основаниях СОК.

Рассмотрим первый этап процедуры. Необходимо, имея представление xA = xA (1) в СОК A = Ab получить представление xA (2) числа x в СОК A2={ Q1, P2, P3, ..., PL }, где xA(i) - представление числа x в СОК A,, которые формируются в процессе реализации процедуры. Для получения искомого представления воспользуемся формулой, выражающей искомое число x через его разложение в СОК A1 [2]:

L р ___

x = 1Д. i5iai, где 5, = р mod P., д, есть решение сравнения д,5, = 1 modPt (i = 1;L). (1)

i = 1

L p

Пусть в СОК A2 число x представляется в виде x = Д^Д + X Д,5iai, где 5i =— mod p

i>1 Pi

% p _ L - --------------------------------------------------------------------------

для i > 1 и 5j = — mod Ql, P = Q1 • П p. Д1 есть решение сравнения Дi5, = 1 modPt (i = 2; L)

Q1 i=2

и ДД = 1 mod Q1. Последние соотношения равносильны следующим (i > 1):

Д ip1 • Rn = 1 modPi ;Д ,.Q1 • R1k = 1 modPi, (2)

д1 R2 = 1 modP1; Д1 • R2 = 1 modQ1,

L

где использовано обозначение Rj, = П Pk, Rj = Rj.

k=1, k^ j, k^i

Первое соотношение в (2) можно переписать в виде • Ru = 1 modp или

(д,Р; • Qj(p)) QR = 1 modPt, где Q1 (Pi-) = Q1-1 modPt. Сравнивая последнее соотношение со вторым соотношением в (2), заключаем:

Д, = др • Q1 (P) mod P для всех i > 1. (3)

Для нахождения Д1 воспользуемся соотношением (1); с учетом (3) получаем

L L

x = Д15А + X Д 5 a = X Д.- 5iai ’

i > 1 i = 1

откуда

L L

Д15А = Д151а1 +Е(д.5i-Дi5i)a = Д151а1 +Х(д,5i-(Дгр • Q1(p)modp)5i)a. (4)

i>1 i>1

При этом, поскольку Q1(Pi)Q1Rli mod p = 0, то

(д.5i - (Д,p1 • Q1(p) modp)5i)modp = (д, • (P1R1, modp) - (д,Р • Q1(p)) (Q1R1imodp)) modp =

= ( Д,РР, - Д,Р • Q1(p)Q1R1i)modp = 0

ЗЗ

т. е.

(д,5, -(д,р • Q1(Pl)modp)5,) делится на P,.

Вычислив обе части (4) по modQi и воспользовавшись тем, что ДД = 1modQ1, получаем соотношение (напомним, Ь1 = xmodQ1):

bl =

д,5,0, +Е(д, 5,- Д i51) a = д,5,0, +Е(д i5,- (Др • Ql(p) modp )5 і )<

i > 1 i > l

mod Q1. (5)

mod P,, 5, =

( L Л

П Pk mod Q, и

Уk=2 J

Ді = (5j)-1 = R2-1 =П P- =П Pk (Qi) modPj.

k=2 k=2

(6)

Соотношения (5) и (6) позволяют вычислить число b без вычисления числа x. Аналогичным образом, на j-м шаге алгоритма (2 < j < L), можно получить следующие соотношения для вычисления числа bj = x mod Qj для случая, когда количество чисел в основании СОК при замене одной СОК на другую остается неизменным, т. е. K = L:

bj =

lAa +Е(д,5і-(дР • Q-(p)modp)5,)a ImodQj,

(7)

l> j

где

^j = П Pk (Qj ) mod Pj; Д, = дlPJ • Q} (p) mod p для всех І > j; Д, = д, для І < j;

(8)

5 j =

( L Л

П P

У k = 1,k ф j

mod P- ; 5j =

П P

У k = 1,k ф j J

mod Qj .

(9)

Рассмотрим теперь случай L < К, т. е. в новой СОК в основании больше чисел, чем в исходной. Введем в основание А новое простое число Q; получим новую систему оснований В = {-Р1ГР2,..., РК,Q} . Найдем представление числа х в системе оснований В на основе его представления в системе оснований А.

Рассмотрим вначале случай, когда К = L + 1, т. е. система оснований В получается из системы оснований А путем добавления некоторого простого числа Q, не совпадающего с другими

числами основания А: Q Ф Рі для всех і = 1;L . Тогда справедливы соотношения:

L L _ _ р Ь

х=Е Ді5і°і =Е ді^а+»%-ь+і%%ь+іаь+і, где 5і=— т^ р, р=Q Пр , ^ есть решение

і = 1 і=1 Р

р

І = 1 р

сравнения д,5, = 1 modp (i = 1; L), 5, =— mod p для i = 1;L и 5L +1 = — = p mod Q, Д. есть

p, Q

решение сравнения Д,5, = 1 modpt (i = 1; L) и Д1_ + 1c)L +1 = 1 modQ . Тогда справедливы соотно-

~ p ~ p • Q ~ p ,

шения: д , p = ц t~pr~= Д QQ p = mod p, откуда после сравнения с соотношением

p

д, p = 1 mod p заключаем, что д, = ДQ mod p . Отсюда вытекает соотношение

L

L

L

k = 2

L

Д, = дQ- = iQ(p) modр, 5і=Q• П р modpi =j;L.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(10)

Далее, 1L+, — = 1L+,P = 1 mod Q, откуда выводим:

f L Y1 L

Д l+i =p-' = П p =П p (Q) mod Q.

у i=1 J i =1

(11)

Соотношения (10), (11) позволяют получить представление числа х в СОК В на основе его представления в СОК А в случае, когда К = L + 1. В случае К > L + 1 можно выполнить описанную процедуру К - L раз, добавляя на каждом шаге по одному простому числу из тех, которые входят в основание В, но не входят в основание А. Таким образом, процедура получения представления числа х в СОК В на основе его представления в СОК А при К > L построена.

Пусть теперь К < L, т. е. основание В получается из основания А путем выбрасывания L - К чисел. Рассмотрим вначале случай L = К + 1 и предположим, что выбрасывается Р . Тогда, обозначая, как и выше, волной над буквенным обозначением значение соответствующего параметра в СОК с основанием В, имеем:

Соотношение (12) позволяет получить представление числа х в основании B при любых K и L путем выполнения L - K шагов, на каждом из которых выбрасывается одно из чисел из основания A.

Таким образом, выше приведены все соотношения, необходимые для получения представления числа х в заданной СОК B на основе наличия его представления в другой СОК A (при условии, что число х меньше числа, равного произведению чисел в основании каждой из СОК). В следующем разделе описана непосредственно алгоритмическая процедура выполнения указанного преобразования.

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

Предлагаемый алгоритм имеет еще одно важное достоинство. Напомним, что получение исходного числа на его представления в СОК обычно осуществляется на основе китайской теоремы об остатках, одно из основных соотношений которой приведено в (1). Непосредственное использование (1) требует решения сравнений, что обычно осуществляется на основе обобщенного алгоритма Эвклида. Многократная реализация алгоритма Эвклида и является наиболее трудоемким этапом нахождения представлений чисел в СОК и обратного преобразования представлений в СОК в искомые числа. Предлагаемые соотношения позволяют избежать использования алгоритма Эвклида непосредственно в процессе выполнения преобразований, что существенно повысит скорость реализации процедуры. Именно в приведенных соотношениях алгоритм Эвклида необходим только для получения чисел P(Q) = Р-1 mod Q . Но база данных простых чисел, которые будут использованы при формировании основания СОК, выбирается заранее. Поэтому заранее, например еще на этапе проектирования системы (процессора), может быть сформирована база данных (таблица) чисел P(Q) для всех пар чисел P и Q , и в дальнейшем при использовании соотношений (7)-(9) эти числа просто могут выбираться из построенной таблицы. Более того, использование таблиц позволяет в значительной мере аппаратно реализовать процесс преобразования чисел из одной СОК в другую.

^ Р Р „ Р

Р Р

1 mod Р, Д. — = Д.----

Р РР

= 1 mod р,

откуда после сравнения последних двух соотношений заключаем:

Д. = д.р mod Р, i = 1; L; 5. = 5іРи (р) mod р І Фи .

(12)

Таким образом, анализ показывает, что использование соотношений (7)-(9) потенциально позволит существенно повысить эффективность преобразования чисел из одной СОК в другую и тем самым повысить быстродействие процессов и процедур вычислений в СОК.

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

Соотношения (7)-(12) позволяют сформировать следующую алгоритмическую процедуру преобразования представления чисел из одной СОК в другую.

Шаг 0. На предварительном этапе, предшествующем процессу вычислений (возможно, даже на стадии проектирования процессора), формируется база простых чисел и таблица чисел P(Q) = P-1 mod Q для всех пар простых чисел P и Q (P Ф Q ) из сформированной базы простых чисел.

Шаг 1. Вводится число x и выбирается некоторая система оснований СОК A={ P,, P2, ..., PL } из простых чисел (которые все различны и упорядочены по возрастанию) из базы простых чи-

L

сел. При этом число L и числа Pi выбираются так, чтобы выполнялось условие x < P = П P.

i=1

Строится представление числа x в СОК с основанием A следующим образом: x = xA = {a,,a2,..., aL }, где a = x mod Pt (1 < i < L). Необходимо перейти к представлению числа x в СОК с другой системой оснований B = {Q,, Q2, ..., QK }, т. е. получить представление

x = xB = {b,,b2,..., bK }, где b = x mod Qt. Находим числа p, = П P (P) mod для всех i = 1;L .

k = 1,k Ф i

Шаг 2. Сравниваются числа K и L. Если L < K, то переходим к шагу б. В противном случае (т. е. L > K ) последовательно для j от 1 до K выполняются следующие действия.

Шаг 3. Число Pj сравнивается с числами Q, , входящими в основание B. Если найдется число m такое, что Pj = Qm, то число j увеличиваем на единицу. Если полученное значение j = K, то переходим к шагу 5. В противном случае переходим к началу шага 3. Если же P, Ф Qm для

всех m = 1;K, то выполняются следующие действия.

Шаг 4. Находим на основе равенств (7)-(9) числа bj и p,, 5, для всех i от 1 до L. Увеличиваем j на единицу и проверяем условие j = K. Если оно выполняется, то переходим к шагу 5, предварительно присваивая значения pi = pi, 5l = 51 для всех i = 1; L . В противном случае переходим к шагу З.

Шаг 5. При L = K переходим к шагу б. В противном случае (т. е. L > K) последовательно для j от L до K + 1 выполняются следующие действия. Вначале полагаем j = L.

На основе (12) находятся значения коэффициентов pl, 51 для всех i < j. Значение j уменьшается на единицу; если полученное значение j равно K + 1, то процесс вычислений шага

5 прекращается и переходим к следующему шагу 7. Если j > K + 1, то полагаем p;. = pt, 5i = 51

для всех i < j и переходим к началу данного шага (начало данного абзаца).

Шаг 6. Если L < K, то последовательно выполняются следующие действия. Вначале, аналогично шагу 4, на основе равенств (7)-(9) находим числа bj и p., 51 для всех i от 1 до L. Затем последовательно для j от L+ 1 до K выполняются следующие действия. Вначале полагаем j = L + 1. На основе соотношения (10) находим коэффициенты pi, 51 для всех i < j; на основе соот-j -1 j -1

ношения (11) находим p j =П P (Qj) modQj и 5j=П P mod Qj . Далее увеличиваем j на еди-

k = 1 k=1

ницу. Если выполняется равенство j = K, то переходим к следующему шагу. В противном случае полагаем p;. = pt, 5i = 51 для всех i < j и переходим к началу шага б (начало данного абзаца).

Шаг 7. Выводится вектор (b,,b2,..., bK) в качестве представления числа x в СОК с основанием B, а также запоминаются вспомогательные коэффициенты p., 51 для всех i от 1 до K для их использования при последующих вычислениях. Процесс вычислений заканчивается.

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

Реализация разработанного алгоритма

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

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

L

длиной 64 бит. Оценим вначале число L простых чисел в основании. Так как П р = 264 , то при L > 4

i = 1

среди чисел Р найдутся числа, удовлетворяющие соотношению Р = 264/1‘ < 264/5 = 212,8 « 7131 -

достаточно малые числа, которые при наборе определенной подходящей статистики могут быть взломаны злоумышленником, что существенно облегчит ему возможности по нахождению других чисел в основании СОК. При L < 4 количество чисел в основании достаточно мало, что усложняет текущие вычисления в СОК, делая их по трудоемкости сравнимыми с вычислениями в позиционной системе. На основании вышесказанного предлагается каждому ядру сопоставить СОК с четырьмя простыми числами в основании, т. е. L = 4. Для того чтобы простые числа трудно было подобрать (например, путем перебора), предлагается наложить ограничения на минимальную длину простых чисел, а именно предлагается выбрать простые числа Р, (/ = 1, 2, 3, 4), удовлетворяющие условию Р, > 214 = 8192. Поскольку при этом произведение Р\ Р2'Р3' Р4 является верхней границей для обрабатываемых чисел, то получаем оценку 264 < Р1 • Р2Р3 • Р4. При этом желательно, чтобы разница между правой и левой частями была бы как можно меньше для неизбы-точности вычислений. Отсюда выводим, что каждое из чисел Р, не должно быть очень большим, т. к. в противном случае не удастся обеспечить выполнение условия Р, > 214 для всех I. Поэтому для максимально возможных значений простого числа Р в основании СОК получаем соотношение Р • 214 • 214 • 214 = 264, откуда выводим соотношение Р = 2 22. Таким образом, получаем следующие ограничения на величины простых чисел Р в основании СОК: 214 < Р < 222.

Оценим теперь размер таблицы обратных значений Р(О) для всех пар простых чисел. По теореме Чебышева, при достаточно больших п количество простых чисел, не превосходящих п, асимптотически эквивалентно. Отсюда выводим, что количество простых чисел Р, удовлетворяющих условию 214 < Р <222, приблизительно равно

22 ~14 т22 С т-8 Л

2 2 2

1п222 1п214 1п222

. 2-8 • 22

1---------------

14

2^

22

Следовательно, размер таблицы (т. е. количество заполняемых клеток) приблизительно

222 222 244

равен — • "22 = 484 чисел. Оценим величину времени, необходимого для заполнения таблицы.

Оценки показывают, что вычисление одного значения таблицы обратных величин на основе обобщенного алгоритма Эвклида требует не более 212 = 4000 тактовых операций. Тогда при использовании процессора с тактовой частотой 2 ГГц = 2 • 230 Гц потребуется времени порядка

^44 ^12 / ^25 ^25 ^16 ^10

----•--- (2• 230) =--= — = 216 с =---------час = --------= 18,2 час.

484 /' ’ 484 29 3600 56,25

Поскольку таблица формируется заранее (не в режиме реального времени), то затраты времени порядка 18 часов на заполнение таблицы вполне приемлемы.

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

Заключение

Таким образом, в ходе исследований:

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Магомедов Ш. Г. Формирование состава макрокоманд микропроцессора с вычислительной базой на основе системы остаточных классов / Ш. Г. Магомедов, Г. А. Попов, В. П. Шевчук // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2014. № 2. С. 38-44.

2. Магомедов Ш. Г. Алгоритм и схема сложения чисел в арифметико-логическом устройстве с использованием системы остаточных классов / Ш. Г. Магомедов // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2014. № 1. С. 62-68.

3. Эрдниева Н. С. Использование специальных модулей системы остаточных классов для избыточного представления / Н. С. Эрдниева // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2013. № 2. С. 75-85.

Статья поступила в редакцию 5.09.2014

ИНФОРМАЦИЯ ОБ АВТОРЕ

Магомедов Шамиль Гасангусейнович - Россия, 367015, Махачкала; Дагестанский государственный технический университет; канд. техн. наук; старший преподаватель кафедры «Программное обеспечение вычислительной техники и автоматизированных систем»; msgg@list.ru.

Sh. G. Magomedov

CONVERSION OF NUMERATION IN MODULAR ARITHMETIC IN THE SYSTEMS OF RESIDUAL CLASSES WITH DIFFERENT BASES

Abstract. One of the stages of processing numbers in modular arithmetic, which requires the most amount of computer resources and thus significantly reduces the efficiency of the use of methods of modular arithmetic as the processing technology of numeric data in data processing equipment, is a step of converting the number of positional number system (PNS) in the modular (MS), and vice versa. However, in the processing of data it is sufficient to implement the MS-PNS conversion only at the start and at the very last stages of processing, and in the intermediate transformations to use conversion from one to another modular system. This article proposes a process for the conversion of numbers from one system to another residual classes without using Euclidean

algorithm, as its multiple implementation is the most time-consuming step of finding representations of numbers in the SRC and the inverse transform notions of SRC in the required number. The procedure relies on the use of tables prepared beforehand. On the basis of this procedure, an algorithm that focuses directly on writing code can be developed. The assessment of the main characteristics of the conversion process is made. Quad-core processor, each core that can handle a 64-bit was considered as an example. The assessments presented in the paper showed that the cost of filling the tables were quite acceptable, which led to the conclusion about the possibility of the practical implementation of the developed procedure.

Key words: modular arithmetic, positional number system, processing of numerical data, conversion process.

REFERENCES

1. Magomedov Sh. G., Popov G. A., Shevchuk V. P. Formirovanie sostava makrokomand mikroprotsessora s vychislitel'noi bazoi na osnove sistemy ostatochnykh klassov [Formation of the structure of macros of computational microprocess based on the system of residual classes]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel'naia tekhnika i informatika, 2014, no. 2, pp. 38-44.

2. Magomedov Sh. G. Algoritm i skhema slozheniia chisel v arifmetiko-logicheskom ustroistve s ispol'zovaniem sistemy ostatochnykh klassov [Algorithm and scheme of number totaling in arithmetic logic device using the system of residual classes]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel’naia tekhnika i informatika, 2014, no. 1, pp. 62-68.

3. Erdnieva N. S. Ispol'zovanie spetsial'nykh modulei sistemy ostatochnykh klassov dlia izbytochnogo predstavleniia [Use of special modules of the system of residual classes for excess notation]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel’naia tekhnika i informatika, 2013, no. 2, pp. 75-85.

The article submitted to the editors 5.09.2014

INFORMATION ABOUT THE AUTHOR

Magomedov Shamil Gasanguseinovich - Russia, 367015, Makhachkala; Dagestan State Technical University; Candidate of Technical Sciences; Senior Lecturer of the Department "Software of Computers and Automated Systems"; msgg@list.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.