книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ
.pdfПусть масштабирование задачи выполнено. Тогда возможны три случая:
— максимальное значение модуля функции изобра жается двоичным числом, имеющим единицу в старшем разряде после запятой, а максимальное значение модуля аргумента [x;|max изображается двоичным числом, у -ко торого перед первой значащей цифрой имеется Rn нулей, расположенных после запятой;
— максимальное значение модуля функции ■пред ставляется двоичным числом, имеющим между первой значащей цифрой и запятой Рп нулей, а максимальное значение модуля аргумента есть двоичное число, имею щее единицу в старшем разряде после запятой;
— максимальные значения модулей функции и аргу мента представляются двоичными числами, у которых в старшем разряде после запятой имеются единицы.
Расчет разрядности операционного устройства ЦВМ для каждого из этих случаев приводится ниже.
1-й сл уч а й: Rn¥=0; Rn— 0 (рис. 4.1).
Пусть Т — цена младшего из R'0 разрядов в размер ности выходной величины. Тогда величина G„, показы-
1 |
0 • • |
|
|
R |
3»- |
-------------- |
----------------- — ----- |
Рис. 4.1.
вающая, на сколько двоичных позиций, отсчитываемых от разряда операционного устройства с ценой Т, отстоит разряд, содержащий в себе не более среднеквадрэтиче ского значения инструментальной ошибки, но и не менее половины этого значения, может быть подсчитана сле-
180
дующим образом:
G „= £ ,(log2 аи) —E(\og2T) + 1. |
(4.12) |
Значение инструментальной ошибки в размерности выходной величины находится в соответствии с выраже нием
Величина Л?а1, определяющая, на сколько двоичных
позиций отстоит разряд операционного устройства с це ной Т от разряда операционного устройства с ценой младшего из R разрядов, подсчитывается как разность:
Ral = |
R'0~ R . |
|
В зависимости от значений R \ и R величина /?о1 |
мо |
|
жет быть положительной |
или отрицательной; и в |
том, |
и в другом случаях общность рассуждений не наруша ется.
Поскольку |
|
Е (log2 Т)'='Е (log2 з) — /?„, + |
1, |
то |
|
Ои = Е (log, зи) — Е (log, з) + |
RcV |
Для компенсации ошибок округлений требуется опре деленное количество разрядов операционного устройст ва. Так как среднеквадратическое значение инструмен тальной ошибки в единицах младшего разряда опера ционного устройства определяется соотношением
то накопившаяся в результате последовательных округ лений инструментальная ошибка требует для своего вы ражения
5 = Е (log, У Щ Щ + 1 |
(4.13) |
разрядов.
Младший разряд операционного устройства отстоит от позиции с ценой Т в сторону младших разрядов на величину S', которая подсчитывается как разность: S' = = S—G„. Поэтому число разрядов операционного уст ройства, которое обеспечивает заданную точность вы числений, определяется в соответствии с выражением
R0n=R'0 + S'. |
(4.14) |
181
Если окажется, что (S— Gw) <С0, то должно соолюдаться равенство Roa—R'o- Такое положение возможно, если входные аргументы подаются в ЦВМ е завышенной точ ностью. В этих случаях целесообразно снижать точность представления входных аргументов до тех пределов, по-
|
|
Рис. 4.2. |
|
|
|
|
ка обеспечивается заданная |
точность |
на |
выходе, |
|||
и уменьшать этим самым разрядность машины. |
|
|||||
Итак, |
|
|
|
|
|
|
5 '= |
^ |
^ и’ |
если |
^ |
0> |
(4 15) |
|
О, |
|
если S — Ga< 0. |
|
||
2-й случай: Ra= 0, |
Ra^ 0 . |
R' — R0. |
|
|
||
Очевидно (см. |
рис. |
4.2), |
Rg2 = |
|
|
Величина <3Иопределяется’следующим образом:
<2И= Е (log, зи) — Е (log, а) — Rg2,
В зависимости от значений величин ои, сг, R', Ro мо жет оказаться, что (?и^г0 или GH<0.
Если величина неотрицательна, то разряд опера ционного устройства, содержащий в себе не более сред неквадратического значения инструментальной ошибки, но и не менее половины этого значения, отстоит на GK разрядов от позиции с ценой Т в сторону старших раз рядов. В противном случае — в сторону младших раз рядов.
182
Количество разрядов S, необходимых для компенса ции инструментальной ошибки, определяется в соответ
ствии с выражением |
(4.12). Отсчет величины S ведется |
в сторону младших |
разрядов от разряда, содержащего |
в себе не более среднеквадратического значения инстру ментальной ошибки, но и не менее половины этого зна чения
Таким образом, разрядность операционного устрой ства может быть подсчитана по формуле
|
|
Ron—Ro 4-S', |
где S', |
определяется из соотношения (4.15). |
|
3-й |
с л у ч а й : RB= 0, Ra= 0. |
|
Обозначим Ra3 = |
R0— R. |
|
Величина Ra3 |
может быть положительной или отрица |
тельной в зависимости от значений R0, R. В обоих слу чаях для определения величины GH справедливо выраже ние
Ои= |
Е (log, o„) — Е (log, а) + R'3. |
Отсчет числа |
разрядов GH от позиции с ценой Т при |
G„>0 ведется в сторону старших разрядов, при GH< 0— в сторону младших разрядов.
Значения величин S и S' определяются в соответст вии с выражениями (4.13) и (4.15).
Количество разрядов операционного устройства, обес печивающего требуемую точность вычислений, подсчиты вается по формуле (4.14).
Если обозначить |
|
|
|
Ra+ R0 |
Для 1-го |
случая, |
|
R*о = |
для 2 |
и |
3-го случаев, |
R0 |
|||
R* = R |
для 1 |
и |
3-го случаев, |
R-{-Ra |
для 2-го |
случая, |
G = |
Для |
1-го |
случая, |
ДЛЯ |
2-го |
случая, |
|
|
для |
3-го |
случая, |
то расчет разрядной сетки для любого случая заключа ется в последовательном счете по формулам:
О |
тв= ] /с |
М |
2) |
G— R*0 ■R*; |
183
3) |
6H= £ (lo g ,3 „ )- £ (lo g a3) + G; |
||
4) |
S = E (log., ]//V/12) -f-1, |
||
5 |
5,__ S — Ga, |
если |
S — G„ > 0, |
|
0, |
если |
S — GH 0, |
6)/?oa= JR*0 + S'.
Пример. Пусть требуется рассчитать разрядную сетку управляю щей ЦВМ с фиксированной запятой, предназначенной для выработки управляющих сигналов в соответствии с функцией одного аргумен та х вида
Y (д 1. а г |
х |
«н)'е5* |
> |
у = - ----- |
|
||
если известно: |
у |
зависит от задаваемых усло |
|
1. y(alt а2, . . . , а * )— функция |
виями работы системы управления констант, причем ошибка числен
ного метода вычисления функции |
у равна нулю. |
|
|
||
2. |
0,1 sg x < l — пределы изменения аргумента. |
|
|
||
2. 0 ,1 ^ х < 1 — пределы изменения аргумента. Пределы измене |
|||||
ния функции у определяются в соответствии с выражением |
|(/|шах = |
||||
= 14,85. |
|
|
|
аргумента. |
|
3. |
0 *= 1О~5 — среднеквадратическое значение ошибки |
||||
4. |
а=9,8 X 10~4 — допустимое |
значение |
среднеквадратической |
||
ошибки. |
|
|
|
|
|
5. |
Мх= 21 — масштабный коэффициент переменной |
х. |
|
||
6. |
М„ = 24 — масштабный коэффициент величины у. |
среднеквадра- |
|||
Для расчета разрядной сетки |
необходимо |
знать |
гические значения трансформированной и инструментальной ошибок,
а также ошибки выбранного численного метода. |
ошибки |
||
Среднеквадратическое |
значение |
трансформированной |
|
подсчитывается в соответствии с выражением |
|
||
«г |
|
5,9410~4, |
|
Среднеквадратическое |
значение |
ошибки численного |
метода |
в предположении, что последняя подчиняется нормальному закону, определяется по формуле
|
а |
Y ( а 1 . <?г...... Дк) |
|
|
|
|
|
|
X |
^ (от)шах» |
|
||
|
|
|
|
|||
где |
т — количество учитываемых первых |
членов |
разложения |
функ |
||
ции |
е5* в ряд Маклорена; |
R(tn) — величина |
остаточного |
члена |
||
разложения этой же функции. |
|
|
|
|
||
ния |
Значение остаточного члена определяется на основе соотноше |
|||||
|
|
|
|
|
|
|
|
|
= ^ Г + Ж |
(еБвх)<”+,> |
о < 0< 1. |
|
184
Б |
случае |
учета первых 14 |
членов |
|
разложения |
|
функции е5* |
||||||
в функциональный ряд расчеты показывают, |
что 0=0,09 |
|
и тогда |
||||||||||
Ои = 7,7- 10~4. |
|
|
|
|
|
|
|
|
|
|
|
||
Среднеквадратическое значение инструментальной ошибки под |
|||||||||||||
считывается следующим образом: |
|
|
|
|
|
|
|
|
|
||||
|
= |
К(96,04 — 59,29 — 35,28) - 10~8 = |
1 , 2 Ы 0 ~ 4. |
|
|
||||||||
Длина N цепочки последовательных операций с округлениями |
|||||||||||||
при вычислении функции у |
колеблется в пределах |
|
|
|
|
||||||||
|
|
|
270<А'<300. |
|
|
|
|
|
|
|
|
||
Анализ |
масштабных |
коэффициентов |
показывает, |
что |
расчет |
||||||||
разрядной сетки должен проводиться в соответствии |
с |
методикой |
|||||||||||
для третьего случая. |
|
|
|
|
|
|
|
|
|
|
|
||
1. |
R*о — Ro — Е (l°g 2 I х Imax) |
Е (i0&2 аж) + 1 — |
|
|
|
||||||||
|
= |
Е (logs 1) — Е (logs Ю"5) + |
1 = |
17. |
|
|
|
|
|
||||
2. |
/? * = /? = Е (log2 | У |max) — Е (Iog2 о) + |
1 = |
|
|
|
|
|||||||
|
= Е (logs 14,8) — Е (logs 9 ,8 -10~4) + |
1 = |
14. |
|
|
||||||||
3. |
G = |
R*0 — R* = 3. |
|
|
|
|
|
|
|
|
|
|
|
4. |
Gn = |
Е (iog2 яи) - |
Е (logaa) + |
G = |
|
|
|
|
|
|
|||
|
= |
Е (log2 1,21 -10-*) — £ |
(logs 9.8-10-*) + |
3 = |
0. |
|
|||||||
5. |
S = |
Е (lo g 2 "j/"~|2 ^ + |
1 = |
E |
(logs |
|
J + |
1 = |
3. |
6.S' = S — G„ = 3.
7.tfon = tf*o + S' = 20.
Таким образом, для обеспечения заданной точности при вычисле нии функции управления у операционное устройство машины должно иметь 22 разряда (с учетом двух знаковых). Запоминающие устрой ства, предназначенные для хранения исходных данных, промежу точных и окончательных результатов должны иметь с учетом знако вых соответственно 18, 22 и 15 разрядов.
В правильности расчета можно убедиться следующим образом. Выбор масштабных коэффициентов приводит к согласованию ма шинных переменных в пределах единой разрядной сетки, т. е.
а = < з / М у \ а х = а х / М х ,
где а, сх — соответственно машинные изображения математических величин о, ах.
Другими словами, зная значения а и ах, можно определить
количество двоичных позиций, разделяющих младшие разряды ис ходных данных и окончательных результатов, цена которых не пре-
росходит значения а и ах соответственно. Следовательно, имеет место соотношение
185
Подставляя в последнее выражение значения ошибок и мас
штабных коэффициентов, получаем |
|
10- * |
2* |
2 9 ,8 -1 0 -* 'Т " |
Теперь количество разрядов, необходимое для представления функции у, можно определить следующим образом:
R = R 0—G= 17—3—14.
Остальные расчеты не изменяются.
§ 4.7. РАСЧЕТ РАЗРЯДНОЙ СЕТКИ УПРАВЛЯЮЩЕЙ ЦВМ С ПЛАВАЮ Щ ЕЙ ЗАПЯТОЙ
Методика расчета разрядной сетки управляющей ЦВМ с плавающей запятой по заданной точности на вы ходе мало чем отличается от методики расчета разряд ностей устройств машины с фиксированной запятой. Однако специфика выполнения операций над числами, представленными в нормальной форме, вносит в мето дику расчета разрядной сетки некоторые нюансы, сущ ность которых заключается в следующем.
Во-первых, расчет разрядной сетки заключается в определении разрядностей устройств, необходимых для представления как мантисс, так и порядков.
Во-вторых, часто в управляющих ЦВМ с плавающей запятой при выработке воздействий на объекты управ ления важны не столько абсолютные значения чисел, сколько их машинные изображения. При этом оказыва ется целесообразным вести расчет разрядной сетки такой ЦВМ с учетом масштабов, использование которых по зволяет уменьшить общее число разрядов в устройствах машины.
В-третьих, прогнозирование инструментальной ошиб ки для ЦВМ с плавающей запятой является более сложным делом, чем для машин с фиксированной запя той. Это объясняется тем, что ошибки однократного округления, возникающие при выполнении элементарных операций, зависят от многих случайных величин. Эти ошибки возникают не только при выполнении операций умножения и деления, но и при выполнении операций сложения и вычитания.
Предлагаемая методика расчета разрядной сетки ЦВМ с плавающей запятой основана на следующих до пущениях:
}?Г,
Числа, участвующие в элементарных операций,
нормализованы; |
|
|
элементарных |
||
— ошибки однократных округлений |
|||||
операций независимы; |
|
|
|
|
|
— основание системы счисления |3 = 2. |
|
|
|||
Расчет |
разрядной |
сетки в случае функции у=Е(х) |
|||
от одного аргумента х выполняется в следующем по |
|||||
рядке. |
Определение |
разрядности устройств, |
предназна |
||
1. |
|||||
ченных для хранения исходной информации. Если из |
|||||
вестны пределы изменения исходных чисел и допустимое |
|||||
значение |
среднеквадратической ошибки аргумента, то |
||||
количество разрядов |
мантиссы Rqx, необходимое для |
||||
представления входных величин с требуемой точностью, |
|||||
подсчитывается в соответствии с выражением |
|
||||
|
Rqx~ Е (log2 |-^| max) —Е (logaOx) + 1, |
|
|||
где E ( z ) — значение величины z, |
округленной |
в мень |
|||
шую сторону до единицы младшего разряда целой части; |
|||||
1х | max— максимальное |
значение |
модуля |
аргумента; |
(Ух—среднеквадратическое значение ошибки аргумента. Пределы изменения порядка могут быть определены
следующим образом:
lx max= Е (log2 Xmax) + 1, min— Е (log2-^min)
где Ixmax и /жпяп — величины порядков максимального и минимального значений аргумента соответственно.
Если порядки в ЦВМ представлены в абсолютных значениях, то разрядность устройства, предназначенного для приема и хранения порядков исходных чисел, опре деляется количеством разрядов Rix, необходимых для изображения максимально возможного по абсолютной величине порядка аргумента. Это число разрядов рас считывается по формуле
Rlx— E (log2 | lx| max) H~ 1 ,
где | lx |max — наибольшее значение модуля порядка ар гумента.
С учетом знакового разряда разрядность устройств, предназначенных для представления порядка, выбира ется на один разряд больше.
187
Так как в управляющих ЦВМ с плавающей запятой чаще всего не является обязательным выражение поряд ка в абсолютных значениях, то с целью сокращения раз рядностей устройств машины, а также для предотвраще ния действия над отрицательными порядками целесооб разно принять минимальное абсолютное значение поряд ка за нулевой «машинный» порядок. Тогда количество разрядов R'ix, необходимых для изображения порядка в относительных значениях, подсчитывается в соответст вии с выражением
R lx= E (log2 | lxmax Txmln | ) "T 1.
Пусть, например, пределы изменения порядка аргу мента следующие:
5 0 ^ |
65. |
Тогда разрядность R'lx равна:
£(log2(65—50)) + 1= 5,
имашинные порядки будут отличаться от истинных на величину /жтШ = 50.
Для выражения порядков в абсолютных значениях потребовалось бы
Rix = E (log2 65) + 1=7
разрядов.
2. Определение числа разрядов, необходимых для представления управляющих сигналов на выходе ЦВМ.
Количество разрядов Rqy, необходимых для изображения нормализованной мантиссы выходной функции, подсчи тывается следующим образом:
Rqy — E (10g21у\тах)- Е (log2 о) + 1, |
|
||
где | у |max — максимальное |
значение |
модуля |
функции; |
о — среднеквадратическое |
значение |
выходной |
ошибки. |
Число разрядов Riy, необходимых для представления порядков в истинном виде на выходе ЦВМ, определяет ся по формуле
|
Riy — Е (log2 11У|max) + 1> |
||
где |
| ly |max — наибольшее |
значение |
модуля порядка |
функции управления. |
|
|
|
В |
случае представления |
порядков |
в относительных |
величинах разрядность R'iy |
устройств |
для порядков на |
188
выходе ЦВМ рассчитывается в соответствии с выраже нием
R (V = £{l°g2| /ушах /утт|}+1,
где lymax и 1утш — соответственно значения максималь ного и минимального порядков функции управления.
3. Определение разрядности операционного устройст ва. Операционное устройство управляющей ЦВМ с пла вающей запятой в случае представления порядков в истинных значениях должно иметь для изображения последних Ri разрядов, которые могут быть определены соотношением
R i = E ( \ o g 2\l\ max) + 1»
где j / | m a x ~ наибольшее значение модуля порядка аргу мента, функции или промежуточных результатов.
Если ЦВМ оперирует с относительными порядками, то число разрядов R'i рассчитывается следующим обра зом:
R l= E (log2 1/шах йп1п| ) + 1,
где /Шах и /mm — соответственно максимальное и мини мальное значение порядков аргумента, функции или промежуточных результатов.
Для подсчета количества разрядов мантиссы опера ционного устройства по требуемой точности вычислений должна быть определена величина результирующей ин струментальной ошибки, возникающей при реализации функции управления.
Пусть среднеквадратическое значение ои инструмен тальной ошибки известно: аа=2~пС. Тогда эта ошибка не превысит U единиц младшего разряда:
U = 2"пС/2"п-2 1 :С/ Г
где /max— максимальный порядок нормализованных ре зультатов.
Поэтому число 5 разрядов мантиссы, необходимое для компенсации инструментальной ошибки, может быть рассчитано следующим образом:
S — E [log2 (С/2/fnax)] Ц -1.
Число разрядов S должно отсчитываться в сторону младших позиций от разряда, величина которого не пре вышает среднеквадратического значения инструменталь ной ошибки. В свою очередь, этот разряд отстоит от раз-
189