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

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

CC BY
95
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЫСТРОДЕЙСТВУЮЩИЕ ЦЕЛОЧИСЛЕННЫЕ АЛГОРИТМЫ / FAST INTEGER ALGORITHMS / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МИКРОПРОЦЕССОРОВ И МИКРОКОНТРОЛЛЕРОВ / SOFTWARE MICROPROCESSORS AND MICROCONTROLLERS

Аннотация научной статьи по математике, автор научной работы — Булатникова Инга Николаевна, Гершунина Наталья Николаевна, Гершунин Аркадий Эдуардович

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

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

WAYS TO USE THE RESULT OF PSEUDODIVIDING IN DIFFERENCE ITERATIVE ALGORITHMS

Considered the basic ways of representation the result of pseudodividing of two values that define the structure of difference -iterative algorithms, and their role to ensure deterministic synthesis of new integer algorithms for the computation of functions on microprocessors.

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

УДК 681.326:518.5

СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПСЕВДОЧАСТНОГО В РАЗНОСТНО-ИТЕРАЦИОННЫХ АЛГОРИТМАХ

© 2014 г. И.Н. Булатникова, Н.Н. Гершунина, А.Э. Гершунин

Булатникова Инга Николаевна - канд. техн. наук, доцент, кафедра «Прикладная математика», Кубанский государственный технологический университет. E-mail: inkras@yandex.ru

Гершунина Наталья Николаевна - канд. техн. наук, доцент, кафедра «Начертательная геометрия и компьютерная графика», Кубанский государственный технологический университет. E-mail: inkras@yandex.ru

Гершунин Аркадий Эдуардович - соискатель, Кубанский государственный технологический университет.

Bulatnikova Inga Nikolaevna - Candidate of Technical Sciences, assistant professor, department «Applied Mathematics», Kuban State Technological University. E-mail: inkras@yandex.ru

Gershunina Natalia Nikolaevna - Candidate of Technical Sciences, assistant professor, department «Descriptive Geometry And Computer Graphics», Kuban State Technological University. E-mail: inkras@yandex.ru

Gershunin Arkady Eduardovich - applicant, Kuban State Technological University.

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

Ключевые слова: быстродействующие целочисленные алгоритмы; программное обеспечение микропроцессоров и микроконтроллеров.

Considered the basic ways of representation the result of pseudodividing of two values that define the structure of difference -iterative algorithms, and their role to ensure deterministic synthesis of new integer algorithms for the computation of functions on microprocessors.

Keywords: fast integer algorithms; software microprocessors and microcontrollers.

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

Среди таких алгоритмов важное место занимают разностно-итерационные алгоритмы (РИА). Исторически свое начало они ведут от методов Волдера и Меджита, «цифра за цифрой», CORDIC-алгоритмов. Тогда они реализовывались аппаратными средствами в так называемых спецвычислителях [1, 2], а затем и программно, после появления МП и МК [3]. РИА -это неаналитические вычислительные методы, обеспечивающие на основе вычисления конечных приращений (текущих разностей) итерируемых величин цифровое моделирование сходящихся итерационных процессов к искомым (вычисляемым) величинам. Нас будут интересовать лишь те из них, для которых достаточно типового набора операций целочисленной арифметики (сложение, вычитание, сдвиги, тестирование знака, условные переходы).

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

Например, функцию г = ——можно вычис-

У

лять по такому алгоритму (для у > 0, х > 0 ) [2]: +1, если Zi_l > 0;

Чг -i = signZ-i =

-1, если Zi_l < 0; 0, если Zi-1 = 0, досрочный конец вычислений;

(1)

Z0 = У - X Zi = Zi-1 - Чг-1У2-

zn ^ 0;

Y = У - x, Yi = Y-1 - Чг-1 x2-i, Yn ^

(x - y)2 У

Здесь и далее i - номер итерации, i = 1,2,...,п, п -разрядность (без знака) аргументов х и у.

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

Это же отмечает и А.М. Оранский [2]: «Теория РИА разработана недостаточно, и синтез алгоритма идет эвристическим путем».

В этом отношении важно построение математических моделей РИА, уяснение их структуры, в том числе первого этапа, когда осуществляется поиск псевдочастного нескольких величин.

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

Аддитивное разложение псевдочастного

Термин «псевдочастное» введен нами в связи с тем, что оно образуется не при помощи арифметического деления, а иным способом и имеет форму не числа, а набора разрядных констант 0, +1 или -1 в спецвыражении. То есть оно равно частному, но имеет особую, хотя и похожую на двоичную, форму представления величины.

Аддитивное разложение рассмотрим на таком РИА (для >->0) [2]:

ч- -1 = Щ-1;

Щ-, = V, Щ = Щ - - Чг - у 2-г, Щ„ ^ 0; (2)

Выбрав для РИА (2) начальные значения и константы одним из способов (5) или (6), получим возможность вычислить F(", ^ = Уп .

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

РИА (2) использует несимметричное уравновешивание величин у. Существует еще аддитивное симметричное уравновешивание двух величин х, у. Например, такой (для х > 0, у > 0) [2]:

Чг-1 = ^п(Хг-1 - Уг-1);

2 2

Х0 = х, XI = Xг- - Чг-1 у2-г, Хп ^ ^^; (7)

х + у

70 = у, У = У-1 + Чг, У„ ^ Х„ .

Его математическая модель и условие сходимости нами приведены в работе [4]:

Хп = х - ; Уп = у+х&.

V = V, V- = V- + Чг-1х2-г, V, ^ V + - х.

у

Математическая модель этого РИА такова:

0 = ™ - QnУ; V, = V+QnX,

(3)

где Qn = 2 Чг 2 ' - аддитивное разложение частного

По доказанному Хп = Уп (в пределах единицы младшего разряда) при выполнении условия сходимости х + у > х - у получаем, что

Qn =Е Чг 2—i =

х - y

г=1 х + у

Если модифицировать РИА (7) так, чтобы

V/у. Это видно из первого уравнения РИА (2) и его Чг -1 у2 г и Чг -1х2 г в итерационных ^ажн^ заменить на Чг-1^2-г +1 и Чг-1и2_г+1, то получим такой РИА [5]:

Чг-1 = ^п(Хг-1 - Уг-1 ^^ + ™У;

матмодели (3). Отсюда ¥п = V +— х (с точностью до

у

единицы младшего разряда результата). Знак суммы в выражении для Qn определяет название «аддитивное».

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

Для этого представим величины V, V, х, у как легко вычисляемые функции новых аргументов (допустим, 5 и (). Например, дана функция

Xо = х, X = X-1 -q-iw2-i+1, Xn ^ XU+W; (8)

Yo = У, Y = Y- + q^ul

-i+1

u + w

Yn ^ Xn.

Новый РИА сойдется (Хп = Уп) при условии

(х-У),

< 2. Возможности РИА (8) значительно

F(s,t) =

s 2 + s — 2st +12 s +1

(4)

Деля ее числитель на столбиком, мы получаем (4) в таком виде:

F(" t) = t) + х(5, t) ,

(и + м>)

расширятся, если и,V,у, хпредставить как функции нового аргумента ^

х = kxt + тх, V = kwt + тк;

у = ^ + ту, и = ^ + ти.

(9)

где

или

y(s, t)

y(s, t) = s +1, v(s, t) = s +1 + 1,

w(s, t) = —4s — 1, x(s, t) = t, y(s, t) = s +1, v(s, t) = s +1 + 1, w (s, t) = t, x(s, t) = —4s — 1

Тогда Yn = Xn =

At2 + 5t + C

после подстановки

(5)

Dt + Е

в (8) представлений х, у, и, м> из (9), где

А = kxku + kуkw; 5 = kxmu + ^ т + + Кту;

с = тхти + тут^; -о = К + К; Е = ти + .

Для того чтобы упростить вычисления х,у,и, V для заданного t, выберем kj (] е{х, у, и, м>} равными

+2-2 или 0 (где г - натуральное число или 0).

Для обратной задачи: назначить такие kj и т}-,

чтобы Yn = Хп и F (t), необходимо решить систему из пяти алгебраических уравнений с восемью неизвестными (фактически избыточную, но с рядом ограничений).

п

Например, для F^) = tgt при t е [0,—] имеем

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

4

kx = 1; ky = -1;

mx=0,041332;

ku 1;

kw=1/8;

mu= -1,502386;

ту=1,000000; тм=0,060741.

Способы поиска рационального представления (9) и методика решения системы из пяти уравнений рассмотрены в [5].

Мультипликативное разложение псевдочастного

Сначала рассмотрим РИА с несимметричным представлением превдочастного двух величин у и х

У = П (1 + 2-i f* x i=1

(10)

где Ii =

|0, если Уг < Хг; [1, если Yi > Хг.

Знак произведения в (10) определяет название «мультипликативное».

Для формирования набора §2,...,в (10) используются следующие рекуррентные соотношения (для случая у > х > 0) [6]:

Yx = 2(у - х), Yi+1 = 2(^ -|гХг), Yn ^ 0;

Х1 = X, Хг+1 = Xi 2 i Xi, Хп ^ у.

X

Такое разложение Xу (10) в виде произведения

ряда множителей типа (1 + 2-г , где е{0,1}, позволяет просто организовать вычисление функций

у k

типа г = (—) , где k - натуральное число. Причем, все

х

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

Z = 1, Z+! = Zi + ^ 2-%.

(11)

Причем процедура (11) повторяется k раз для каждого i. Другое применение мультипликативного разложения (10) - это возможность вычисления функ-

ций вида z = loga(yx). Для этого выражение (11)

надо дополнить набором k констант вида loga (1 + 2-г), где i = 1,2,..., n. Тогда

Z, = 0, Z г+1 = Zt + ¡^ log a (1 + 2-г), Zn ^ log a (У) .

x

Симметричное мультипликативное разложение

псевдочастного двух величин в виде

y п г

У = П (1 + Яг 2-' ), x i=1

где qi е {-1,0,1}, определяемое из условий алгоритма

(1), к сожалению, существует не для всех значений

y

частного —. Для обеспечения безусловного покрытия x

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

q*. Они обеспечат представимость псевдочастного в форме

y = П (1+Яг 2-' )(1+q*2-i),

x г=1

где qi и q* е{-1,0, +1} - два знаковых индикатора, получаемых последовательно в каждой г-й итерации.

Одно из применений такого РИА - это вычисление обратной величины x (x > 0)

Я' = signY;

Y = 2n - x, Y+1 = Y' - Я' 2-гХг, Yn ^ 0; X] = x, Хг+1 = X + qt 2-гХг, Xn ^ 2n;

где г = 1, 1, 2, 2,..., n - 1, n - 1. Тогда представление

П (1 + q*2-i )(1 + qi 2-') ^ (j/)2n

i=1

где qi и qi - знаковые индикаторы после первой и второй половин i-й итерации. Его можно использовать на втором и последующих этапах алгоритма вычисления других итерируемых величин. Например, в таком

[7]:

1) q> = signY;

1) Y = У - 2z , Y+1 = Y - qi 2- Zi,

1) Z = z, Zi+1 = :Z; + qt 2-'Z, ,

2) X = У , Xi+1 = = Xi + qt 2-'X,

3) U = x, UM = -- Ui + qt 2-'U,

4) V =z, V41 = Vi + qi 2~% ,

где i = = 1, 1, 2, 2. , ..., n - 1, n - 1.

z

x2 - xz _

z

(x - z)2

n

n

z

Слева возле каждого из рекуррентных выражений алгоритма (12) указан номер этапа РИА (1 - 4).

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

Области применения и эффективность РИА

Благодаря своим простоте и алгоритмическому быстродействию РИА найдут широкое применение в устройствах локальной автоматики, в автоматизированных системах научных исследований, в спецвычислителях по навигации и управлению летательными объектами (ракетами).

РИА в большинстве случаев позволяют эффективно заменить известные численные методы вычислений функций (степенные ряды, интерполяционные полиномы, табличные методы).

Эффективность РИА состоит из двух компонентов: качественного и количественного. Первый обеспечивает широкое использование наиболее простых и быстродействующих МП RISC - архитектуры, а второй - резкое повышение производительности труда программиста и общего быстродействия вычислений.

Оценить последнее в цифрах затруднительно (это зависит от конкретной функции). Например, для РИА (7), где требуется два возведения в квадрат, одно деление и одно сложение, временной выигрыш составляет порядка 15 ^ 20 раз. При этом учтено, что для

Поступила в редакцию

сохранения точности требовалось бы перейти к двойной разрядной сетке (т. е. работе с двойными операндами - старшей и младшей их частями). Это дополнительно удлиняет по времени операции умножения, деления и сложения минимум в 5 ^ 8 раза.

Литература

1. Смолов В.Б., Байков В.Д. Специализированные процессоры: итерационные алгоритмы и структуры. М., 1985. 288 с.

2. Оранский А.М. Аппаратные методы в цифровой вычислительной технике. Минск. 1977. 208 с.

3. Байков В.Д. Решение траекторных задач в микропроцессорных системах ЧПУ. Л., 1986. 106 с.

4. Булатникова И.Н. Основные формализмы разностно-итерационных алгоритмов // Изв. ТРТУ. Темат. вып. «Компьютерные и информационные технологии в науке, инженерии и управлении». № 5. 2006. С. 120 - 122.

5. Булатникова И.Н. [и др.] Выбор коэффициентов разно-стно- итерационных алгоритмов для микропроцессорных систем автоматизации // Проблемы физ-мат. моделирования: Межвуз. темат. сборник науч. тр. / Куб.ГТУ. 1997. С. 20 - 24.

6. А.с. 697994 СССР Устройство для вычисления элементарных функций / Б.И. Рувинский, С.А. Селютин. Опубл. 25.02.79, Бюл. № 17.

7. А.с. 960802 СССР Арифметическое устройство / А.А. Рейхенберг. Опубл. 23.09.82 // Бюл. № 35.

4 июня 2014 г.

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