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

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

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

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

ет количество полетов и время испытаний, т.е. стоимость сертификационных испытаний.

Публикация осуществлена при поддержке гранта РФФИ № 01-07-90318.

М.И.Ледовской

ОПЕРАЦИОННЫЕ УСТРОЙСТВА ДЛЯ ОБРАБОТКИ РАЗНОСТЕЙ ВТОРОГО ПОРЯДКА

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

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

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

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

Рассмотрим реализацию изложенных принципов. Пусть заданная функция ^Х[, Х2,... ,хт) имеет граф потока данных G=G{S,R}, где S - множество вер-

шин, в каждой из которых выполняется одна арифметическая операция; R - множество дуг (переменных), обозначающих информационные связи между вершинами графа G. Воспользуемся разностным оператором V, который ставит в соответствие некоторой функции у(х) функцию Vy = у(х + Vx) - у(х) в виде разности первого порядка [7]. Применим дважды оператор V к графу G. В результате получим

VG = VG{S, R} = G{VS, VR},

V(VG) = VG{VS, VR} = G{V2S, V2R} = V2G, (1)

где V2G - граф второй разности заданной функции.

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

Из (1) следует, что графы G и V2G являются изоморфными с точностью

до обозначений вершин и дуг. Следовательно, граф V2G можно получить путем простого переобозначения вершин и дуг графа G.

2

Располагая графом V G , легко синтезировать структуру процессора, моделирующего заданную функцию с помощью разностей второго порядка. Для

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

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

Рассмотрим алгоритмические основы требуемых операционных устройств. Пусть функция ^Х[, Х2,... ,хт) воспроизводится относительно непрерывно изменяющихся аргументов х^), Х2ОО,... ,хт^) . При этом вычисляются значения функции Цх^;), Х2(^), ... ,хт(^)) = Цх1;, Х2;, ... ,Хт;) в точках ^ ^ ^ + Vt, где VI - интервал малой величины. Тогда для каждой точ-

ки 1 в некотором узле s е S графа О выполняется арифметическая операция zi = s[xi,yi], где х;, у; - значения аргументов; zi - результат операции.

По сравнению с этим в узле V2s еV2S графа V2G вычисляется

V2zi =V2s[xi,yi], (2)

2

где V Z; =VZ; - VZi-l - вторая разность, а Vz; = Zi - г;-1, Vzi-l = Zi-l - z; 2 -

первые разности переменной 2(1).

Применительно к конкретным арифметическим операциям сложения (вычитания) Z; = X; ± У; , умножения Z; = X; • У; и деления Z; = Xj / yi , следуя (2), имеем соответственно

V2^ = V2(х; ±yi);

V2z; =V2 (x; • У;); (3)

V 2z; =V 2 (x;/У;).

2

Как показано в [6], реализация оператора V =V(V) в выражениях (3) приводит к получению операций на основе разностей второго порядка вида

V2Z; = W[x;_i,Vx;_i, V2X;,y;_|, Vy ;_i, V2yJ (4)

с начальными условиями

x0 = x(toX X1 = x(t1)> Vx1 = X1 _ x0>

Уо = y(toX yi = y(ti)> Vyi = yi _Уо> (5)

zo = s[xo,yo], zi = s[xi,yi], Vzi = Zi _Zo,

22

где W _ символ, обозначающий соответствующую операцию; V X; и V y; _ вторые разности, а Vx; и Vy; _ первые разности переменных x(t) и y(t).

Предположим, что значения переменных представлены в целочисленном n-разрядном формате данных (с фиксированной точкой). Для выполнения вычислений в этом режиме функция f(xi, X2, ••• ,xm), заданная относительно вещественных значений аргументов, предварительно масштабируется. Последнее приводит к тому, что в арифметических операциях появляются выравнивающие коэффициенты в виде степеней числа 2, а сами операции становятся целочисленными (см. табл.1).

В табл.1 знак / обозначает операцию вещественного деления; операторы div и mod _ операцию целочисленного деления, в которой формируются целое частное Zi и целый остаток Ri; Ozi_ дробный остаток округления, возникающий при учете выравнивающих коэффициентов с отрицательными показателями;

Pp4 [°]2 _ функция выделения двоичных разрядов аргумента с p-го по q-й разряды

включительно [1]; Xi, Yi и Zi _ масштабированные целочисленные аналоги вещественных значений xi, yi и zi соответственно, которые связаны соотношениями

вида X; = [мх •x; ]ц, Y; = [My • У; , Z; = [Mz •z; ]Ц.

Здесь [°]Ц _ оператор округления масштабированной величины до целого

значения; Mx, My, Mz_ масштабы, выбираемые в виде целых степеней числа 2 из следующих условий [2]:

Mx £(2“_' ■|)/Xm.x; M£(2”_'_1)/Hm,x- <6>

Таблица 1

Наименование операции Операция над вещественными переменными Целочисленная операция

Сложение (вычитание) ^ = X ± Уi Zi = Роп-1 О^ = р-п 2sXi ± 2rYi 2sXi ± 2rYi 2, 2

Умножение >< N сТ 7 _ р2п-1 7 _ рп О _ Рп-1 ^ _ р0 2-п+vXi • Yi 2-п+vXi • Yi 2, 2

Деление >< N сТ Zi _ 2пdiv Yi, Ri _ 2пmod Yi

В табл.2 приведены алгоритмы выполнения арифметических операций на основе вторых разностей [6]. Данные операции являются разностными аналогами целочисленных операций на основе значений переменных (см. табл.1).

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

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

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

Т аблица 2

Операция над вещественными переменными Целочисленная операция на основе разностей второго порядка

zi = xi ± Yi Ozi = P_n[2sV2Xi ±2rV2Yi + 2Oz(i_!) _Oz(i_2)]2, V2Zi = Po1_1[2sV2Xi ±2rV2Yi + 2Oz(i_i) _Oz(i_2)]2,

VXi =VXi_1 +V2Xi5 VYi = VYi_1 + V2Yp

Xi = Xi_i + VXi, Yi = Yi_i + VYi,

(VXVY)i = (VXVY)i_1 + VXi_1V2Yi + VYiV2Xi,

zi = xi • Yi V2zi = 2_n+v[2(VXVY)i_1 + (Xi_1 + VXi_1)V2Yi + YiV2Xi], Ozi = Pon 1[V2zi + 2Oz(i_1) _Oz(i_2)]2, V2Zi = Pn2n_1 [V2zi + 2Oz(i_1) _ Oz(i_2)]2,

VXi =VXi_1 +V2Xi, VYi = VYi_1 +V2Yi,

Xi = Xi_1 + VXi, Yi = Yi_1 + VYi,

(VZVY)i = (VZVY)i_1 +VZi_1V2Yi +VYiV2Zi,

= z Ri = [2Ri_1 _ Ri_2 + 2n_w V2Xi _ (Zi_1 + VZi_1)V2Yi _ _2(VZVY)i_1] mod Yi, V2Zi = [2Ri_1 _ Ri_2 + 2n_w V2Xi _ (Zi_1 + VZi_1)V2Yi _ _2(VZVY)i_1] div Yi, VZi =VZi_1 +V2Zi, Zi = Zi_1 + VZi.

Из табл.2 следует, что операции сложения (вычитания) и умножения выполняются с учетом остатков округления Oz(i—1) и Oz(i_2), полученных на (i-1)-

м и (i-2)-M шагах динамического режима. Учет остатков позволяет исключить накопление погрешности округления, как и в методе уравнений Шеннона [1]. C этой же целью в операции целочисленного деления используются остатки делимого R;_i и Ri_2 , что является оригинальным приемом.

По поводу операторов div и mod в алгоритме деления необходимо сделать следующие замечания. Во-первых, операция деления выполняется над модулями операндов с последующим определением знаков частного и остатка. Поэтому операторы div и mod сводятся к беззнаковому делению. Во-вторых, при отрица-

тельных значениях делимого и (или) делителя требуется корректировка получаемых значений второй разности частного V Zi и остатка Ri. На рис. 1 в качестве примера приведен алгоритм выполнения операторов div и mod, где иллюстрируется получение одноразрядной разности частного V2Zi и остатка Ri с учетом сделанных замечаний.

Рассмотрим структуру операционных устройств. На рис.2-4 приведена структура устройств сложения (вычитания), умножения и деления, в которых аппаратно реализуются алгоритмы соответствующих операций на основе разностей второго порядка (см. табл.2).

Все операционные устройства выполняют обработку информации в парал-

2 2

лельных двоичных кодах. Однако входные шины V Xi и V Yi и выходные ши-

2

ны V Zi операционных устройств являются одноразрядными (или малоразрядными).

Каждое из операционных устройств представляет собой автомат Мили, в котором элементы памяти представлены наборами регистров РГ, а остальные узлы являются комбинационными. К последним относятся, в частности, сумматоры СМ, сдвигатели СДВ, матричные умножители М [8], а также блок целочисленного деления DIV/MOD.

В нашем случае быстродействующие матричные умножители содержат всего один или несколько слоев для умножения соответственно на один или несколько разрядов множителя (разности второго порядка). Блок DIV/MOD строится на основе быстродействующей итеративной сети [8], которая также содержит один или несколько слоев для вычисления соответственно одноразрядного или малоразрядного частного в виде разности второго порядка. В случае использования одноразрядных разностей второго порядка в блоке DIV/MOD аппаратно реализуется алгоритм, приведенный на рис.1.

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

Начало

81 := 2Я;_1 - Я1-2 + 2П+* V 2Х1 - (г1_1 +VZl_l)V 2У1 - 2(VZVY)l_l

да

Я1 := = ^1 Я1 := ^1 _

V 2Z 1:= 0 V2Z1 = 1

г<

V ^ = -V 2Z1

/■ "Ч Конец \ )

нет

V 2Х.

V2Yi

V 2г,

о

z1

о

z0

Рис.2

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

2 2

того, обновляются входные сигналы V X; и V Y^.

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

2

Выходной сигнал V Zi формируется, спустя время переходного процесса в комбинационных узлах операционных устройств. В установившемся режиме

2 2 состояние выхода V Zi полностью определяется состояниями входов V X; и

2

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

Обозначим задержку сигнала в устройствах сложения (вычитания), умножения и деления через хсл , тум и хда соответственно. Тогда для случая одноразрядных разностей второго порядка, используя рис. 1 -4, приближенно получаем

х с + х п < х сл £ х с + (п + 1)х п ;

“ум

: 4х с + (п + 1)х п; 7Х с + (П + 1)Х п,

(7)

s

х

дл

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

V2Xi

V2Y¡

VX1

Х1

VYl

о,

о,

V2Zi

У

1

У2Х;

У2У

УХ,

X,

СМ1

РГ3 УХ_

__________Л!

СМ3

РГ5 Х1_1

УУ,

'I' у*

СМ2

РГ4 УУ1-1

М1

У,

СМ4

) РГ6 У -1

-3 СДВ

К,

Нп

2 РГ9 К1-1

Р 1 о «1-2

\|^ / ч ^|/

I М2 11 М3 |

СМ5

РГ7 УZУУ1-

С'

СМ6

DIV/MOD

У2^

3*.

СМ7

РГ11 УZ1-

т

СМ8

УZУУ1

УZ1

Z1

РГ8

Рис.4

Из (7) следует, что величины хсл , Хум и хдд содержат в качестве основной

компоненты задержку сигнала в (п+2)-разрядном комбинационном сумматоре с последовательным распространением переносов: хсм =Хс + (п + 1)хп . Как известно [8], задержку хсм можно существенно уменьшить, используя сумматоры с ускоренным распространением переносов.

Заметим, что задержка т сл зависит от реальных значений выравнивающих коэффициентов в операции сложения (вычитания). Если указанные коэффициенты, например, равны единице, то тсл » тс + тп, поскольку в этом случае остатки 0^_1) и 0^_2) не образуются.

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

умножения и деления соответственно. Сопоставляя (7) с аналогичными оценками, приведенными в [8], получаем приближенные значения коэффициентов ускорения:

1 £ ксл < п ; кум » 2 ; кДЛ » П ' (8)

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

Дх) = tg(x) » х/(а! _ х2 /(а2 _ х2 /(аз _ х2 /(а4 _ х2 /(а5 _ х2 /а6))))) , (9)

где а[ = 1, а2 = 3, аз = 5, а4 = 7, а5 = 9, аб = 11 _ постоянные коэффициенты, а аргумент х изменяется в интервале [0, я/4].

Для вычисления цепной дроби (9) в целочисленном формате данных необходимо выбрать масштабы промежуточных переменных и констант с помощью условий вида (6), например, для п=16. Выбранные масштабы позволяют выполнить масштабирование арифметических операций, входящих в цепную дробь (9):

Х2 = 2-15Х • X; Rз 2 - з <1 II -6 D ; D3;

Dl = 215Х2 /А6; D4 = 214Х2 /Rз;

Rl = А5 - 2- R4 = А2 - 2 -4D4

D2 = 214Х2 ^і; D5 = 215Х2 ^4;

R2 = А4 - 2 -6 D ; R5 = А1 - 2'

Dз = 215Х2 ^2; F = 213X/R 5-

На рис.5. приведен граф О потока данных цепной дроби (9), представленной совокупностью операций (10). Используя изложенную выше методику, из

графа О легко получить граф второй разности цепной дроби У^ и адекватную ему структуру процессора, приведенную на рис.6. Здесь символы -, X и / обозначают операционные устройства сложения (вычитания) умножения и деления, структура которых приведена на рис.2-4.

X

Ал .. Аз

Рис.5

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

с этим обновляется входной сигнал У2Х .

2

Процессор формирует выходной сигнал V F за время переходного процесса в комбинационных узлах операционных устройств. В установившемся ре-

2 2 жиме состояние выхода V F полностью определяется состоянием входа V X и

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

Задержка сигнала в процессоре тпр определяется по наиболее трудоемкой

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

X

пр

: Хум + 6хдл + 5хсл .

(11)

Исходя из хпр , определяется длительность машинного такта Т.

2

1

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

V 2Х

X

/

-ж-

/

-ж-

Шина инициализации

/

-ж-

/

-7К-

V г

Рис. 6

V 2х2

V 2б,

V 2Яі

V 2Б2

/

/

0

0

V 2Бз

V2D4

V 2я

V 2я

2

3

0

0

V

V 2и5

V 2я4

0

0

Предположим, что в процессоре используются одноразрядные разности второго порядка. Тогда с учетом (8) и (11) коэффициент ускорения процессора приближенно равен кпр » 0,7n. Такое ускорение обеспечивается по сравнению с

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

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

ЛИТЕРАТУРА

1. КаляевА.В. Многопроцессорные системы с программируемой архитектурой. М.: Радио и связь, 1984. 240с.

2. Ледовской М.И. Реализация метода Рунге-Кутта с помощью арифметических операций на основе приращений// Компьютерные технологии в инженерной и исследовательской деятельности. Таганрог: ТРТУ, 2000. С.22-39.

3. Ледовской М.И. Алгоритмы микропроцессорных систем для решения задач оптимального управления// Компьютерные технологии в инженерной и управленческой деятельности. Таганрог: ТРТУ, 1999. С.84-100.

4. Ледовской М.И. Исследование накопленной погрешности арифметических операций на основе приращений// Компьютерные технологии в инженерной и управленческой деятельности. Часть 2. Таганрог: ТРТУ, 1998. С.116-123.

5. Кравченко П.П. Основы теории оптимизированных дельта - преобразований второго порядка. Цифровое управление, сжатие и параллельная обработка информации. Таганрог: Изд-во ТРТУ, 1997. 200с.

6. Ледовской М.И. Алгоритмы арифметических операций на основе разностей второго порядка// Компьютерные технологии в инженерной и исследовательской деятельности. Таганрог: ТРТУ, 2000. С.103-109.

7. Демидович Б.П., Марон И.А. Основы вычислительной математики. -М.: Наука, 1966. 664с.

8. Карцев М.А., Брик В.А. Вычислительные системы и синхронная арифметика.-М.: Радио и связь, 1981. 360с.

В.Ф.Гузик, Г.Н.Евтеев, М.Самаратунга

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

В настоящее время при управлении высокоскоростными динамическими объектами все большее внимание уделяется разработке систем управления с предвидением (прогнозированием) (СУП), так как считается, что они являются радикальным средством уменьшения дефицита времени оператора и повышения его пропускной способности. Основная задача СУП состоит в представлении оператору информации о будущих значениях параметров управляемого им объекта,

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