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

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

CC BY
307
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / МОДУЛЯРНАЯ АРИФМЕТИКА / ПОЗИЦИОННАЯ ХАРАКТЕРИСТИКА / ПРИБЛИЖЕННЫЙ МЕТОД / ЗНАК ЧИСЛА / RESIDUE NUMBER SYSTEM / MODULAR ARITHMETIC / POSITIONAL CHARACTERISICS / APPROXIMATE METHOD / NUMBER SIGN

Аннотация научной статьи по математике, автор научной работы — Червяков Николай Иванович, Бабенко Михаил Григорьевич, Ляхов Павел Алексеевич, Лавриненко Ирина Николаевна

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

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

Похожие темы научных работ по математике , автор научной работы — Червяков Николай Иванович, Бабенко Михаил Григорьевич, Ляхов Павел Алексеевич, Лавриненко Ирина Николаевна

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

Approximate method for determining the number sign in residue number system and it's technical sales

This paper proposes an approximate method for determining the sign of the number in the residue number systems. This method is based on fast approximate calculation of the relative magnitude of the number to the range of the system. Technical implementation of the proposed method, which is easy to implement. It is shown that the application of the proposed method significantly reduces the time to perform basic operations in the problem of residue number systems.

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

УДК 621.391

Н.И. Червяков, М.Г. Бабенко, П.А. Ляхов, И.Н. Лавриненко

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

N.I. Chervyakov, M.G. Babenko, P.A. Lyakhov, I.N. Lavrinenko

approximate method for determining the number sign

in residue number system and it's technical sales

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

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

This paper proposes an approximate method for determining the sign of the number in the residue number systems. This method is based on fast approximate calculation of the relative magnitude of the number to the range of the system. Technical implementation of the proposed method, which is easy to implement. It is shown that the application of the proposed method significantly reduces the time to perform basic operations in the problem of residue number systems.

RESIDUE NUMBER SYSTEM. MODULAR ARITHMETIC. POSITIONAL CHARACTERISICS. APPROXIMATE METHOD. NUMBER SIGN.

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

Если фиксированный ряд положительных чисел p1, p2, ..., pn назвать основаниями (модулями) СОК, то под системой остаточных классов понимается такая непозиционная система счисления, в которой любое целое положительное число A представляется в виде набора остатков (вычетов) от деления представляемого числа на выбранные основания системы A = (ар а2, ..., ап), где а. — наименьшие неотрицательные вычеты (остатки) числа по модулям pl, p2, ..., pn. Цифры а. данного представления по выбранным модулям образуются следующим образом

a = res + A (mod p.) =

= A -

A pi

pi,(V i e [1, n]),

(1)

где

A pi

целочисленное частное, p

4

основания (модули) — взаимно-простые числа. В теории чисел доказано, что если V I ф] (р., р) = 1, то представление (1) является единственным, при условии 0 < А < Р,

п

где Р = ррг..рп = П- Диапазон пред-

.=1

ставления чисел, т. е. существует число А, для которого:

А = а1(шоё р1); А = а2(шоа р2);

А = ап(шоё рп).

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

А * В = Ц, 02, ..., ап) * (Р1, Р2, Рп) = = ((а1 * р1)шоа рх, (а2* р2)шоа р2,

(ап * Рп)той рп),

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

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

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

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

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

В настоящее время известны следующие методы определения позиционных характеристик (ПХ) модулярного представления чисел [2, 6]:

ортогональных базисов; интервальных оценок; с использованием коэффициентов обобщенной позиционной системы счисления (ОПСС) и др.

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

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

Р

оценок сокращает модуль до величины — ,

Р

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

Метод ортогональных базисов и метод ОПСС — точные методы определения ПХ, а метод интервальных оценок — приближенный метод, к характеристике которого относится ПХ номера интервала числа, суть которого состоит в том, что числовой диапазон Р разбивается на р . интервалов

Р Р

]Р,(] + 1) -

Р. Р..

, при } = 1,2, ..., Р1. -1.

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

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

Р . В случае если диапазон разбивается на р

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

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

Исторически так сложилось, что поиск некоторого компромисса в удовлетворении требований, предъявляемых к ПХ, привел исследователей к введению таких характеристик модулярной алгебры, как ранг, след, нормированный ранг, неточный ранг, ядро числа и др. [1, 5, 7]. Анализ этих ПХ показал, что значение модулярной величины по ним определяется сложно и не всегда однозначно. Кроме того, при выполнении некоторых немодульных операций нет необходимости в точном их определении, а достаточно знать значения в пределах каких-то интервалов, т. е. при определении этих характеристик появляется избыточная информация, которая не используется. Эта идея и подтолкнула к поиску такой ПХ, которая бы не содержала избыточной информации, на нахождение которой требуются дополнительные вычислительные ресурсы.

С другой стороны широко используются методы выполнения проблемных операций, основанные на выборе модулей СОК специального вида [8—10]. Однако такой подход накладывает существенные ограничения на используемую СОК, что сильно затрудняет его использование в некоторых приложениях, особенно в тех, где необходимо динамическое изменение структуры СОК: диапазона и модулей. К таким приложениям относятся, например, криптографическая защита информации и проектирование отказоустойчивых вычислительных систем, функционирующих в СОК.

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

методы точного вычисления ПХ;

методы приближенного вычисления ПХ.

Подробное описание методов точного вычисления ПХ можно найти, например, в [1—3, 6]. В данной статье исследуются приближенные методы вычисления ПХ, позволяющие существенно сократить аппаратные и временные затраты, обусловленные операциями, выполняемыми над позиционными кодами уменьшенной разрядности. В связи с этим возникает задача использования приближенного метода при вычислении определенного ряда немодуль-

4

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

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

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

А =

п Р ,

Ё-Р1

И Р Г '

а.

где р. - модули СОК; Р = П Р>

.=1 Р+1 Рп

(2)

диапазон произве-

СОК; Р1 = - = рр2...р._у..

Р' I -11

дение всех модулей СОК, кроме /-го; Р —

мультипликативная тельно р .

инверсия Р относи-

Если левую и правую части выражения (2) разделить на величину Р, соответствующую диапазону чисел, то получим приближенное значение

Р-1!

п \Г1

а.

Ё ка /

(3)

Р1Р

где к = р

р

— константы выбранной си-

стемы; а. — разряды числа, представленного в СОК, при этом значение каждой суммы будет в интервале [0,1). Конечный резуль-

тат суммы определяется после суммирования и отбрасывания целой части числа с

сохранением дробной части суммы. Дроб-А

ная часть Д (А) = — е [0,1) содержит ин-Р 1

формацию как о величине числа, так и

0, — |, то число

2 Г

о его знаке. Если

А

- е

р 1

А положительное и ДА) равна величине А, разделенной на Р. В противном случае А — отрицательное число и 1—ДА) показывает относительную величину числа А по отношению к Р. Исследования показали, что функция Д(А) может использоваться при разработке алгоритмов вычисления основных проблемных операций в системе остаточных классов [11]. Целая часть числа представляет собой ранг числа, т. е. такую непозиционную характеристику, которая показывает, сколько раз диапазон системы Р был превзойден при переходе от представления чисел в системе остаточных классов к его позиционному представлению. При необходимости определение ранга числа может производиться непосредственно в процессе выполнения операции суммирования констант к . Дробная часть может быть записана так же как Ашоё1, потому что А = [А] + Ашоё1 [4]. Количество разрядов дробной части числа определяется максимально возможной разностью между соседними числами. При необходимости точного сравнения необходимо вычислить значение (3), которое является эквивалентом преобразования из СОК в позиционную систему счисления. Для решения задач основных процедур принятия решения достаточно знать приблизительно значения

чисел

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

и

по отношению к динами-

ческому диапазону [0,1), которое выполняется достаточно просто, но при этом верно определяется соотношениями А = В, А > В или А < В.

Итак, приближенный метод вычисления ПХ может описываться следующей последовательностью действий [4]:

Р1 р

1. Вычисление констант СОК к1 =-—

с требуемой точностью. р•

р

2. Вычисление приближенных значений а к,, где к. — константы, найденные в п. 1, 1 < а . < р-1.

I г I

3. Вычисление приближенного значения

ПХ

Ё ka i

в интервале [0,1).

Рассмотрим использование информации, содержащейся в F(A), для вычисления проблемных операций в СОК.

Конструируются некоторые правила Y,, i = 1, ..., 4, согласно которым вычисляется i-я немодульная операция (определение знака числа, сравнение чисел, обнаружение ошибки и переполнения, а также локализация ошибочного разряда).

Правило ХР1. Определение знака числа в случае, если p1 = 2:

если

если

1

< —, то число положительное; 2

> —, то число отрицательное.

Правило Y2. Сравнение модулярных чисел A и B:

если

если

если

A B

P 1 P

A B

P 1 P

A B

P 1 P

= 0, то A = B; > 0, то A > B; < 0, то A < B.

Правило Y3. Обнаружение ошибки и переполнения динамического диапазона:

если

A

M

, то ошибки нет, где

искаженное число; P^ = Pn+p+P

избыточный диапазон при двух избыточ-

n

ных модулях pn+1 и pn+2; M = P = П P¡ ~

рабочий диапазон;

если

>

M

то ошибка есть и

установлено переполнение динамического диапазона.

Правило ¥4. Локализация неисправного канала:

если ошибки;

<

M

то в разряде нет

если

M

то в разряде есть

ошибка, где А{ = (а1, а2, ..., а(1, а;+1, .., ап, ап+1, ап+2) — проекция искаженного числа

А , М. = (т., т,, ..., т. ,, т.,,, ..., т , т ,,,

' I ^ 1' 2' ' ¡—V 1+1* ' п' п+1'

тп+2) — проекция рабочего диапазона.

Алгоритм определения знака модулярного числа и его техническая реализация

Основой для выполнения немодульных операций, указанных в правилах ¥2-¥4, является немодульная операция определения знака числа (правило ^1). Пусть для вычис-

„ т(Ю

лений используются константы к I , представленные в виде двоичных дробей, содержащих N двоичных знаков после запятой, полученные отбрасыванием всех остальных разрядов, начиная с N+1-го. Тогда точные значения констант К будут лежать в диапазоне

k!f) < k < k(N) + 2-n .

(4)

Для определения ПХ числа в СОК не-

обходимо вычислять величину

Ё ka,

из

формулы (3).

Утверждение. Наименьшее значение при котором восстановление позиционной величины числа из представления в СОК по формуле (3) будет корректным, равно

= [" 1оЕ2 (Рр), (5)

п

где р = -п + ^ р1.

;=1

Доказательство. Из (4) следует, что

п

точное значение величины ^ к.а 1 из фор-

;=1

мулы (3) будет лежать в диапазоне

Ёk ) а, < ё n < i=1 i=1

< Ё k¡ а ¡ + 2 n Ё a< 1=1 i=1

(6)

Так как величина

Ё

i=

Ё k

соответству-

ет точному местоположению числа А на числовой оси, то для однозначного (точного) определения величины числа А не-

,=1

,=1

,=1

4

обходимо таким образом подобрать параметр N чтобы в произвольный интервал

V )

I ki а

V1 T{N) o-N

> I ki ai +2N

I

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

а

попадало

i=i i=i i=i 1 лишь одно возможное число из диапазона СОК. Это требование равносильно условию

2-N I а,. < 1.

,=1 P

n

Если обозначить р = -n + I pi, то

i=1

наименьшее значение N . , при котором

mm' г г

возможно точное восстановление позиционной формы числа с использованием формулы (3), определяется формулой Nmin = [log2 (Pp)"j. Утверждение доказано.

При снижении точности вычислений (уменьшении величины N) диапазон (6) будет увеличиваться так, что в него будут попадать несколько чисел. однако при решении задачи определения знака числа с использованием правила возможно использование таких расширенных диапазонов, если учитывать появление зон ошибочного определения знака числа.

Пусть в процессе вычислений используются константы, округленные до N двоичных знаков после запятой, 1 < N< N . . Тогда

min

в интервал

а)

v 7(n ) I ki а

i=1

v1 T(N) o-nv-

, I ki ai + 2 I a,.

i=1 1=1

попадет не более 2 NP^a, чисел СОК.

i=1

Так как 0 < a < p.,, то

max ^2" NP £ a,. J = 2"NP ^-и + = 2-N P p.

Ввиду увеличения интервала будет происходить наложение его границ на ту область числовой оси, где определенный по

формуле кТ

и реальный знак чис-

ла в СОК из формулы ка(.| могут не

совпадать. На рис. 1 а показаны возможные направления появления зон неопределенности при округлении констант [12]. На рис. 1 б показано появление зон неопределенности при отбрасывании разрядов вместо округления. В последнем случае формируются только две зоны неопределенности вместо четырех. Это позволяет в два раза уменьшить количество проверяемых условий в процессе выполнения алгоритма, что позволяет существенно упростить его формулировку и реализацию. Стрелками отмечены направления роста зон ошибочного определения знака числа при снижении точности. Зонам, изображенным на рис. 1 б, соответствуют следующие диапазоны:

I \ 1 1 ¿^у '|

0 ¡0,5 1 1 1

б)

t

/ I М---------1 / II и.-------

0,5 1

Рис. 1. Появление зон ошибочного определения знака числа в СОК: а — при округлении констант; б — при отбрасывании разрядов

зона ошибочного определения знака I: [0,5 - 2-Щр, 0,5);

зона ошибочного определения знака II: [1 - 2-Щр, 1).

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

гр, то число A —

если 0 < — < 0,5 - 2 P

положительное;

A _

если 0,5 < — < 1 _ 2_N р, то число A — отрицательное.

В том случае, если не выполняется ни одно из указанных условий, число попадает в одну из зон неопределенности и требуется дополнительная итерация для получения точного результата с использованием Nmin знаков после запятой (5).

На рис. 2 приведена схема для определения знака модулярного числа, представленного по четырем модулям p,, i = 1, 2, 3, 4. Схема содержит входные регистры RG ., V i = [1...4] для временного хранения остатков чисел по соответствующим модулям, просмотровые таблицы LUT , V i = [1.4]

P -1

для хранения произведений

p

• а. и па-

раллельный сумматор.

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

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

P1 p, ' '

есть -— а ,, представленных в естествен-

ной форме двоичной дроби в дополнительном коде. Количество элементов памяти

(Щ просмотровых таблиц определяется вып

ражением N = ^ рг

/=1

Выходные сигналы просмотровых таблиц в дополнительном двоичном коде поступают на вход сумматора, в котором уже записана константа 0,5-2-Щр, во время начальной установки. (Дополнительный код используется для того чтобы операцию вычитания заменить операцией сложения). Знак результата сложения определяет интервал (первый или второй), что соответственно определяет знак числа.

Моделирование алгоритма

Для моделирования разработанного алгоритма определения знака числа с использованием ПХ на основе приближенного метода были выбраны следующие СОК:

1. СОК1 {2, 3, 5, 7}.

2. СОК, {7, 17, 19, 29}.

3. СОК3 {2, 3, 5, 11, 13, 19, 23, 29, 79}. Данный выбор объясняется тем, что

СОК1 наиболее просто и наглядно отображает свойства вычислений в остаточных классах и используется многими авторами (например [6]); СОК2 и СОК3 позволяют

ai

a3

Obi

«4

RG1 RG2 RG3 RG4

1 Г \ Г г i г

LUT1 LUT2 LTJT3 LUT4

1 f i г

s

f Знак числа

Рис. 2. Схема определения знака числа

4

Рис. 3. График зависимости времени работы алгоритма (% от максимального) от точности вычислений для СОК:

представить числовые диапазоны в 16 бит и 32 бит соответственно [2].

При моделировании замерялось время выполнения операции определения знака числа при постепенном уменьшении величины N < N . . Для СОК имеем сле-

Ш1П ' 1 1

дующие характеристики: Р = 210, р = 16, = 12. Результаты моделирования разработанного алгоритма для СОК1 показаны на рис. 3. На рисунке изображено, насколько (в процентах) снижается время работы алгоритма при выборе различных значений N. При снижении величины N от ^1п = 12 до N = 8 происходит уменьшение времени работы алгоритма за счет уменьшения разрядности обрабатываемых чисел. Однако при дальнейшем уменьшении N начинается увеличение времени

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

наилучший показатель времени работы алгоритма достигается при N = 8, в этом случае время работы алгоритма составляет « 76,2 % от максимального времени работы алгоритма при ^1п = 74. Таким образом, использование предложенного алгоритма для СОК1 позволяет сократить время определения знака числа примерно в 1,31 раз по сравнению с точными методами.

Для СОК2 имеем: Р = 65569, р = 68,

Рис. 4. График зависимости времени работы алгоритма (% от максимального) от точности вычислений для СОК^

= 23. Результаты моделирования разработанного алгоритма для СОК2 показаны на рис. 4. Поведение кривой скорости алгоритма аналогично случаю СОКг Снижение величины N от N . = 23 до N = 11 приво-

тт ^ г

дит к уменьшению времени работы алгоритма. При дальнейшем уменьшении N начинается увеличение времени выполнения алгоритма.

Самая высокая скорость работы алгоритма наблюдается при N = 11, в этом случае время работы алгоритма составляет « 54,5 % от максимального времени работы алгоритма при = 74. Таким образом, использование предложенного алгоритма для СОК2 позволяет сократить время определения знака числа примерно в 1,84 раз по сравнению с точными методами.

Наконец, СОК3 имеет параметры: Р = 4295006430, р = 175, = 40. Результаты моделирования разработанного алгоритма для СОК3 показаны на рис. 5. Снова наблюдается снижение времени работы алгоритма при снижении точности до N = 13. При дальнейшем снижении время работы алгоритма увеличивается.

Самая высокая скорость работы алгоритма наблюдается при N = 13, в этом случае время работы алгоритма составляет « 36,8 % от максимального времени работы алгоритма при = 40. Таким образом, использование предложенного алгоритма для СОК2 позволяет сократить время опре-

деления знака числа примерно в 2,72 раз по сравнению с точными методами.

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

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

4

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

в системе остаточных классов. Применение предложенного алгоритма позволяет сократить время выполнения проблемной операции в 1,31—2,72 раза (в зависимости от диапазона СОК) по сравнению с известными методами.

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

Работа выполнена при финансовой поддержке РФФИ (проекты № 13-07-00478-а) и ФЦП № 14.В37.21.1128.

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

1. Акушский, И.Я. Машинная арифметика в остаточных классах [Текст] / И.Я. Акушский, Д.И. Юдицкий. -М.: Сов. радио, 1968. -440 с.

2. Червяков, Н.И. Модулярные параллельные вычислительные структуры нейропро-цессорных систем [Текст] / Н.И. Червяков, П.А. Сахнюк, А.В. Шапошников, С.А. Ряднов. - М.: Физматлит, 2003. -288 с.

3. Червяков, Н.И. Нейрокомпьютеры в остаточных классах [Текст] / Н.И. Червяков, П.А. Сахнюк, А.В. Шапошников, А.Н. Макоха; под ред. А.И. Галушкина. -М.: Радиотехника, 2003. - 272 с.

4. Червяков, Н.И. Методы, алгоритмы и техническая реализация основных проблемных операций, выполняемых в системе остаточных классов [Текст] / Н.И. Червяков // Инфоком-муникационные технологии. -2011. -№ 4. -С. 4-12.

5. Burgess, N. Scaling an RNS Number Using the Core Function [Text] / N. Burgess // XVI IEEE Symp. Computer Arithmetic, Santiago de Compos-tella. -2003. -P. 262-271.

6. Omondi, A. Residue Number Systems: Theory and Implementation [Text] / A. Omondi, B. Premkumar. -Imperial College Press, 2007. -296 p.

7. Амербаев, В.М. Теоретические основы ма-

шинной арифметики [Текст] / В.М. Амербаев.

- Алма-Ата: Наука, 1976. -324 с.

8. Gallaher, D. The digit parallel method for fast RNS to weighted number system conversion for specify moduli (2*-1, 2*, 2*+1) [Text] / D. Gallaher, F.E. Petry, P. Sirnivasan // IEEE Trans. on Circuits and System II: Analog and Digital Signal Processing.

- 1997. -Vol. 44. -№ 1. -P. 53-57.

9. Tomczak, T. Fast sign detection for rns (2n-1, 2n, 2n+1) [Text] / T. Tomczak // IEEE Trans. on Circuits and Systems-I: Regular papers. - 2008. -Vol. 55. - № 6. - P. 1502-1511.

10. Wang, Y. Adder based residue to binary numbers converters for (2n-1, 2n, 2n+1) [Text] / Y. Wang, M. Aboulhamid, H. Shen // IEEE Trans. Signal Processing. - 2002. - Vol. 50. - № 7.

- P. 1772-1779.

11. Hung, C.Y. An Approximate Sign Detection Method for Residue Numbers and its Application to RNS Division [Text] / C.Y. Hung, B. Parhami // Computers Math. Applic. - 1994. - Vol. 27.

- № 4. - P. 23-35.

12. Червяков, Н.И. Метод определения знака числа в системе остаточных классов на основе приближенных вычислений [Текст] / Н.И. Червяков, П.А. Ляхов.

- Нейрокомпьютеры: разработка, применение.

- 2012. - № 12. -С. 56-64.

REFERENCES

1. Akushskii I.Ia., Iuditskii D.I. Mashinnaia arifmetika v ostatochnykh klassakh. — Moscow: Sov. radio, 1968. - 440 s. (rus).

2. Cherviakov N.I., Sakhniuk P.A., Shaposhnikov A.V., Riadnov S.A. Moduliarnye parallel'nye vychislitel'nye struktury neiroprotsessornykh sistem.

- Moscow: Fizmatlit, 2003. - 288 s. (rus)

3. Cherviakov N.I., Sakhniuk P.A., Shaposhnikov A.V., Makokha A.N. Neirokomp'iutery v ostatochnykh klassakh; pod red. A.I. Galushkina.

— Moscow: Radiotekhnika, 2003. — 272 s. (rus)

4. Cherviakov N.I. Metody, algoritmy i tekhnicheskaia realizatsiia osnovnykh problemnykh operatsii, vypolniaemykh v sisteme ostatochnykh

klassov / Infokommunikatsionnye tekhnologii. — 2011. - № 4. - S. 4-12. (rus)

5. Burgess N. Scaling an RNS Number Using the Core Function / XVI IEEE Symp. Computer Arithmetic, Santiago de Compostella. — 2003.

- P. 262-271.

6. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementation. - Imperial College Press, 2007. - 296 p.

7. Amerbaev V.M. Teoreticheskie osnovy mashinnoi arifmetiki. - Alma-Ata: Nauka, 1976.

- 324 s. (rus)

8. Gallaher D., Petry F.E., Sirnivasan P. The digit parallel method for fast RNS to weighted

number system conversion for specify moduli (2k-1, 2k, 2k+1)/ IEEE Trans. on Circuits and System II: Analog and Digital Signal Processing. — 1997.

- Vol. 44. - № 1. - P. 53-57.

9. Tomczak T. Fast sign detection for rns (2n-1, 2n, 2n+1)/ IEEE Trans. on Circuits and Systems-I: Regular papers. - 2008. - Vol.55. - № 6.

- P. 1502-1511.

10. Wang Y., Aboulhamid M., Shen H. Adder based residue to binary numbers converters for (2n-1, 2n, 2n+1)/ IEEE Trans. Signal Processing.

- 2002. - Vol.50. - № 7. - P. 1772-1779.

11. hung C.Y., Parhami B. An Approximate Sign Detection Method for Residue Numbers and its Application to RNS Division / Computers Math. Applic. - 1994. - Vol. 27. - № 4.

- P. 23-35.

12. Cherviakov N.I., Liakhov P.A. Metod opredeleniia znaka chisla v sisteme ostatochnykh klassov na osnove priblizhennykh vychislenii / Neirokomp'iutery: razrabotka, primenenie. - 2012. -№ 12. -S. 56-64. (rus)

ЧЕРВЯКОВ Николай Иванович — заведующий кафедрой прикладной математики и математического моделирования Института математики и естественных наук Северо-Кавказского федерального университета, доктор технических наук, профессор.

355000, Россия, г. Ставрополь, пр. Кулакова, д. 2.

E-mail: [email protected]

CHERVYAKOV, Nikolay I. North-Caucasian Federal University.

355000, prosp. Kulakova 2, Stavropol, Russia.

E-mail: [email protected]

БАБЕНКО Михаил Григорьевич — доцент кафедры прикладной математики и математического моделирования Института математики и естественных наук Северо-Кавказского федерального университета, кандидат физико-математических наук.

355000, россия, г. ставрополь, пр. кулакова, д. 2.

E-mail: [email protected]

BABENKO, Michael G. North-Caucasian Federal University.

355000, prosp. Kulakova 2, Stavropol, Russia.

E-mail: [email protected]

ЛЯХОВ Павел Алексеевич — доцент кафедры прикладной математики и математического моделирования Института математики и естественных наук Северо-Кавказского федерального университета, кандидат физико-математических наук.

355000, россия, г. ставрополь, пр. кулакова, д. 2.

E-mail: [email protected]

LYAKHOV, Pavel А. North-Caucasian Federal University.

355000, prosp. Kulakova 2, Stavropol, Russia.

E-mail: [email protected]

ЛАВРИНЕНКО Ирина Николаевна — доцент кафедры высшей алгебры и геометрии Института математики и естественных наук Северо-Кавказского федерального университета, кандидат физико-математических наук.

355017, Россия, г. Ставрополь, пр. Кулакова, д. 2.

LAVRINENKO, Irina N. North-Caucasian Federal University.

355000, prosp. Kulakova 2, Stavropol, Russia.

© Санкт-Петербургский государственный политехнический университет, 2013

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