
книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ
.pdfчастное 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 |