Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ

.pdf
Скачиваний:
15
Добавлен:
22.10.2023
Размер:
12.85 Mб
Скачать

частное v и произведение X, а также ошибка собственно

округления 1о.

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

§ 4.5. ОЦЕНКА ВЕЛИЧИНЫ ИНСТРУМЕНТАЛЬНОЙ ОШИБКИ ЦВМ

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

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

Приближенная оценка величины инструментальной ошибки может быть достаточно просто выполнена, если считать, что абсолютное значение Аи инструментальной ошибки является суммой независимых ошибок округле­ ния, накопившихся в результате выполнения операций сложения — вычитания (АН), умножения (Аг*) и деления

(Аз*):

AH= Al*+ A2*+A8*.

Если обозначить:

АД N& N3— соответственно число операций сложения, вычитания, умножения и деления в процессе выполнения решения задачи;

6 i, 62, 63 — ошибки однократных округлений, возника­ ющих при выполнении операций сложения — вычитания, умножения и деления соответственно, то

/V,

N,

Nз

д*> = £ 8

Д*а= £ 8 2г-;

Д*3 = £ 8,,.

i=l

i=l

1=1

170

Ошибки округления бь 6 2 , 63, возникающие при вы­ полнении элементарных операций, являются функциями случайных величин. Для определения законов распреде­ ления ошибок элементарных операций необходимо знать законы распределения этих случайных величин. Их зако­ ны распределения существенно зависят от вида алгорит­ ма решаемой задачи и в каждом конкретном случае могут быть определены теми или иными методами, на­ пример, путем непосредственного подсчета или с по­ мощью моделирования процесса решения задачи на уни­ версальных ЦВМ.

Иногда законы распределения этих случайных вели­ чин становятся известными на основе изучения характе­ ра потоков информации на входе проектируемой управ­ ляющей ЦВМ.

Закон распределения случайной величины go приве­ ден выше (§ 4.4).

Законы распределения случайных величин Я и v мож­ но определить следующим образом. Поскольку мантиссы di и dz первого и второго чисел, участвующих в опера­ ции, нормализованы, то их из-за полной неопределенно­ сти можно считать равномерно распределенными в пре­ делах

Так как мантиссы d\ и d2 независимы, то плотность распределения g((rfi|, (c^l) двух независимых мантисс может быть записана следующим образом:

|d2|) = ( i_jj-n__i?-’)2 *

Для определения плотности распределения модуля произведения можно поступить следующим образом. Пусть имеются два вектора:

Z= XY, Т=Х,

где X, Y — независимые случайные величины. Очевидно,

x = t, y=z/t.

Если gx,y(x, у) — плотность распределения системы случайных величин X и Y, то плотность gz(z) распреде­ ления произведения случайных величин х, у может быть

171

найдена в соответствии с выражением

0 0

z \

D( x,

у)

 

 

dt.

§z(z) ^ \ 8 x, Y { t , ~

D(z,

t)

 

J

 

 

 

Для рассматриваемых векторов справедливо

D( x, у)

1

0

 

1

D (г, t)

—z/ t2

1 It

 

t '

поэтому

оо

 

 

 

 

 

dt

 

g z № —

 

~т~)

 

 

t

Пусть диапазоны изменения случайных величин X и Y одинаковы и заключены в пределах от а до Л. Тогда

a ^ t< ^ A ,

a<^z/t<^A,

a2<^z<^A2,

откуда следует, что область S интегрирования заключе­

на между прямыми с уравнениями:

 

 

 

t = a,

t= A ,

z=at,

z —At.

Координаты Zi узловых точек области S:

 

Zo= а2, zi = z2 = aA, z3 = A2

указывают на

наличие

двух

областей

интегрирования:

1. а2^ ;г ^ а Л .

г/а

 

 

 

 

 

z

\

dt

 

г 2(г) = | е

 

1“ j

2. а Л < г <

Л2.

 

А

 

 

 

 

 

 

 

 

 

'

е М

=

$ е х. у (<. Л ) " -

 

 

гzj

 

 

 

Для рассм1атриваемого случая имеют место равенства:

>*, г (*»

 

 

Ш)

 

1

 

 

 

 

а —

Л:

 

 

 

 

Поэтому окончательно можно записать

 

In |\| — 2 In р-

ПРИ Г <

ш

< г ( 1 - р - я).

(1 _ р - _ р - . ) ,

£(W)

 

 

 

при р -1 (1 _ р -)<

^ |Я |< ( 1 - р - " ) 2.

172

Нетрудно заметить, что при выполнении условия |А,|='Р-1(1—|3~п) значения плотности распределения мантиссы произведения, подсчитанные по приведенным выше обеим ветвям, совпадают.

Контрольное интегрирование дает единицу:

р-1 (!-?-")

 

 

In | X | — 2 In Р-1

-<*|Я| +

 

 

I

(1

 

 

 

 

 

 

 

 

 

 

2 In (1 — Р“") — In 3X |

1.

+

I

 

*)2

d \ X \ =

Если положить р = 2,

п »ос, то

 

 

 

 

(1п|Х |+

1,3863) при 0,25 < |Я| < 0,5,

 

 

0,25

 

 

g (W) =

lnN

 

0,25

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

при 0,5 < |Я| < 1.

случайной величины |Я| счисления определяются

а)

- АГ||Я|1'=: Г |ц

1п|>1^ 5 3863 Л \ ц

 

 

0,25

1

 

 

 

 

 

 

 

 

 

 

 

-

||Я |£^</|Я | =

0,5121.

 

 

 

 

0,5

 

 

 

 

 

0,5

 

 

 

 

б)

D [|Я|] =

Г ([Я] -

0,5121 f

ln |X|o b

^ i d [Я| -

 

i

0,25

 

 

 

 

 

 

 

 

 

 

 

- J(1Я| — 0.5121)2

|Я| =

0,6750.

 

0,5

 

 

 

 

в)

[о|Л|] =

0,8216.

 

 

 

Вероятность Рн появления ненормализованных ман­

тисс подсчитывается следующим образом:

 

Р н=

Г

-1п |Х|о+2Г '—

d W—0.3863.

 

 

0,25

 

 

 

173

Модуль мантиссы частного

является

функцией тех

же самых независимых случайных величин

и (й?г).

Нетрудно убедиться, что плотность распределения

мантиссы частного g'(lvj) имеет вид

 

 

1

Г (1 — р - * ) 2

 

 

(i=F »— 8-> I 2

 

2

 

 

при

1—8-”

 

 

s (М)=

 

 

Р 'г1

 

1

[

2v2

 

 

2 ]

 

При 1 < |v| < -Ц Й — ■

 

Контрольное интегрирование в указанных пределах

дает единицу.

 

 

 

мантисс

Вероятность появления ненормализованных

частного в двоичной системе счисления может быть най­ дена следующим образом:

2

г ) 1*1=0.5.

Получить выражение для плотности мантиссы сум­ мы без знания законов распределения порядков h и 4 нельзя, поскольку операция сложения выполняется после выравнивания порядка меньшего, например, второго сла­ гаемого:

Щ =

+ d*2|, н0 rf*2= d$~ 1и~ Ц

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

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

Если эти законы каким-либо образом будут установ­ лены, то с помощью обычных методов теории вероятно­ сти законы распределения ошибок округления могут быть выявлены относительно просто.

174

Что касается ЦВМ с фиксированной запятой, тозДёСЬ все обстоит гораздо проще, поскольку плотности распре­ деления ошибок округления g(62) и g(6з) соответствен­ но операций умножения и деления совпадают с плот­ ностью распределения случайной величины £о.

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

Пусть

Msо. /и

КI),

h (So. /„

|Я|),

MSо, Л. К (v()

— плотности распределения соответственно систем

So> ^1> ^2. |^л|» So. ^1. ^2> |Я|, So. ^1 . ^2 . |^|

случайных величин. Тогда

Oi

g M = dGt (ЗД/йГб,;

0 2 (S2) =

j*JJ J f 2 ft,

/„ k ,

|Я|) d i 0d i xd i 2d |я|,

 

j D,

 

 

 

gt {bt) =

dGt {bt)fdbt]

G3-(5s) =

J j j j f 3(S0,

/„

\v\)cKad l4 k d \v \,

 

^ (S3) =

iG3(S,)/rf8s.

Здесь Gi(6t), g i (бг) — соответственно интегральный и дифференциальный законы распределения случайных величин 6г- (г = 1, 2, 3).

Из последних выражений следует:

00

Мг' [8г] — j* 8»-gt (8г) dbi\

— 00

175

60

Di\ 8,-]=

—00

ъ Ш ^ У Щ У ] .

Так как обычно число операций в программе реали­ зации функции управления велико, т. е. значения Ni, N2 Ns являются достаточно большими, то распределение ошибок &i*, Д2*, Аз* близки к нормальным:

/(Л*.) = ---- 77=- ехр

 

 

 

а х

V 271

 

 

 

 

г ехр

 

1

 

2°!

] ’

/ ( ^ )= ‘7 ^ 1 Г ехр

(А*з — М 3) 2

|

2«з

J'

Здесь Мг- == Л/г-у\Тг- [5г];

зг — зг-[8г-]

У

(г' =

1, 2, 3).

Следовательно, закон распределения суммарной

ошибки округлений Ди является

также

нормальным:

/(Ли);

■ехр

(Ли -

МГ

 

 

 

 

где

 

 

 

 

Л 1 = 2 М * ;

зи = } / з | + 3 2 + 3 з

 

 

 

 

 

Пусть для конкретного класса задач найдены среднеквадратические значения ошибок округления элементар­ ных операций сложения, умножения и деления соответ­ ственно и, кроме того, известно, что в развернутой про­ грамме вычисления задач этого класса верхние пределы количества операций сложения, умножения и деления равны Nz, N 3. Тогда приближенная оценка величины инструментальной ошибки ЦВМ при выбранной разряд­ ности и форме представления чисел не представляет особого труда.

В тех случаях, когда форма представления чисел, разрядность и система счисления не конкретизированы, выражение для среднеквадратического значения инстру­ ментальной ошибки может быть приведено к виду

176

Ои= р -пф(Агь Л/2, N 3),

Где п — количество разрядов мантиссы операционного устройства машины.

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

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

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

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

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

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

12—458

177

§ 4.6. РАСЧЕТ РАЗРЯДНОЙ СЕТКИ УПРАВЛЯЮЩЕЙ ЦВМ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

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

няются.

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

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

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

Пусть управляющая ЦВМ с фиксированной запятой

реализует

единственную функцию управления у =

~F(x 1, Хг,

..., хп), где Хг — t-й аргумент на входе ЦВМ,

у — выходная величина (управляющий сигнал).

Расчет разрядной сетки ЦВМ заключается в опреде­ лении

—разрядности устройств, предназначенных для при­ ема и хранения информации;

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

шины,

 

— разрядности операционного устройства.

_

1 7 8

Для решения этой

задачи должны

быть известны:

а) сведения о функции,

подлежащей реализации в уп­

равляющей ЦВМ:

 

 

 

 

F(xь хъ ■■

хп) — формульное описание,

Fтаl n ( X i , X z ,

. .

Х п )

у

Fшах(хь Хг,

. . . . Х п )

— пределы изменения;

 

 

б) сведения о характере исходной информации:

Xi

Xi щах — пределы изменения,

{о,} — значения

среднеквадратических ошибок аргу­

ментов;

 

 

 

 

 

в) сведения о выбранном численном методе:

Ом — среднеквадратическое значение

ошибки числен­

ного метода,

 

 

 

 

 

N — максимальная длина цепочки элементарных опе­ раций с округлением при реализации функции у;

г) требования, предъявляемые к точности реализации функций управления: например, значение среднеквадра­ тической ошибки на выходе ЦВМ не должно превышать заданной величины а.

Разрядность Roi, требуемую для представления зна­ чащей части /-го аргумента с заданной точностью, мож­

но определить следующим образом:

 

Roi— E(logz\Xi\max)—E(\ogzai) + \,

(4.10)

где Е(г) — целая часть от z, округленного в меньшую сторону до единицы младшего разряда целой части, I Xi I max — максимальное значение модуля аргумента. При этом младший из Roi разрядов содержит в себе не более среднеквадратического значения ошибки аргумента, но и не менее половины этого значения.

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

Z?'o = max{/?oi + #Hi}.

Таким образом, величину R'0 можно считать извест­ ной. Число разрядов R, требуемых для представления выходных величин ЦВМ, в предположении, что значе­ ние младшего разряда не превосходит среднеквадрати­ ческого значения ошибки результата, определяется так

R — Е (log21У|max) Е (log2 о) 1.

(4.11)

12*

179

Соседние файлы в папке книги из ГПНТБ