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

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

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

Пусть масштабирование задачи выполнено. Тогда возможны три случая:

— максимальное значение модуля функции изобра­ жается двоичным числом, имеющим единицу в старшем разряде после запятой, а максимальное значение модуля аргумента [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 =

R0R.

Величина 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 1|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

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