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

книги из ГПНТБ / Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие]

.pdf
Скачиваний:
11
Добавлен:
23.10.2023
Размер:
8.6 Mб
Скачать

- п о ­

следовательно, вероятность выявления систематической ошибки при двойном просчете, вызываемой отказом, -

Эта формула справедлива, так как если в цервам операторе произо­

шел сбои, то во

втором либо появится

обо;;,

одинаковый с

первым,

с вероятностью

*

,

либо

сбоя

не

будет,

либо

будет, но в

другом устройстве.

 

 

 

 

 

 

 

 

 

Если /J =

100, К =

10

и Р£

= Ю "5 ,

то

Pq

=

I -

К Г 8 .

Таким образом, уме .двойной просчет оказывается достаточно эффек­ тивным.

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

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

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

- Ifcl -

 

Г л а в а

У111

программ! контроль правильности вычиашшй

§

8 .1 ;

Этапы и способы контроля

Контроль вычислений выполняется на двух этапах: на этапе

отладки программы

и на

этапе

производственного счета. Задачей

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

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

Ошибкипрограммиста указанными способами не устраняются.

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

lt,ja< .9 37.

-<62 -

Засов проверки стандартных подпрограмм проверяют отдельные ариф­

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

Контроль в процессе производственного счета предназначен

9>.in

для проверки правильности работы программы и правильности выпол- ;< г» I'

нения вычислений. Выполняется такой контроль следующими споообами:

—иф| Л-

-щэоверкой контрольных сумм отдельных блоков программы,

-методом двойного или двойного-тройного просчета по одним

итем же шга^по разным программам,

-

с ^использованием контрольных соотношений,

 

-

способом

подстановки,

 

0?ЛСХТд * /■».- .п .

■■

 

 

-

методом .логического

анализа результатов и промежуточных в е -

личин и Другими способами.

 

 

-ВГ.Г.ОЛ ,.кг.

 

 

 

К о н т р о л ь н о е

с у м м и р о в а н и е

выполняет-

 

d illu iU J

 

 

ся с

целью проверки правильности выполнения последовательности

команд.^С.э.т.оЁ, цедьш.при программировании для отдельных участков программы вычисляется; -контрол ьная сумма команд, а в программе предусматривается контрольное суммирование выполняемых команд и последующее сравнение, .этой суммы с вычисленной при составлении

программы.

. . . . . . . .

.

Контрольная. сумма получается последовательным сложением

 

.-.и_ -

-

команд или част.ей команд,

как двоичных кодов, с циклическим пере-

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

- 1 6 5 -

- «64-

суммирование вьшолняется схемными методами. Недостатком програм­ много контроля суммированием является дополнительная затрата времени на образование контрольной сумлы.

§ 8 .2 . Контроль методом двойного просчета

Двойной или двойной-тройной счет выполняется для контроля

правильности вычислений.

При двойном счете программа или часть программы выполняют­ ся дваида, и результаты сравниваются. Если при этом оба просче­ та выполняются по одной и той не программе, то выявляются толь­

ко случайные ошибки, систематические же ошибки, связанные с от­ казом, не выявляются, так как они повторяются в обоих просчетах.

Для обнаружения систематических ошибок целесообразно выполнять просчеты по разным программам. Например, А(В + С) = АВ + АС.

Иногда для повышения достоверности контроля и вероятности

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

бивается на блоки, и повторный счет выполняется для каждого бло­

ка; Блок-схема программы для выполнения двойного-троГшого просче­ та показана на рис. 8 .1 . Работа блок-схемы пояснений не требует.

При организации такого контроля возникает вопрос, на какое

число блоков целесообразно разбить програг.т.1у . При разбиении на большое количество участков возрастает время,затрачиваемое на выполнение дополнительных команд,необходимых для организации контроля; при выборе зе малого количества больших участков в оз -

- 165-

растает время, затрачиваемое на третий просчет в случае по­ явления ошибки. Рассмотрим методику выбора длины участков для случая двойного - тройного просчета.

Разобьем все время решения задачи без контроля Тд на Н блоков (шагов) с длительностью

8.1

Обозначим время, необходимое для выполнения дополнительных

(обеспечивающих повторение и контроль) команд, для каждого участка tg .

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

где Tcfr - наработка на сбой.

Тогда время решения задачи с контролем Т р ^ определит­ ся выражением:

8.2

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

- f66-

Подставив

в выражение 8 .2

значение

£ш из

8 .1 и вынеся

Т „, полу­

чим:

 

 

 

 

 

 

 

 

 

т р « - 2 т, ( i + A j r l - ) ( / < e )

 

 

 

или, подставив вместо

Q его

выражение,

 

 

 

 

 

 

 

 

Тз+titi9

 

8 .3 .

Для нахождения величины

N ,

соответствующей минимальному време­

ни решения приравняем производную от ТрСШ по h! нулю.

 

 

dTpew

,

 

М

к

,

a

-

7^ i k

“ 3 t3 (2

e

NTcff )

£ t i \ 2 L

. e

M' TcF

W T

 

;-Щ*+

ъ -Jfiu

 

1 T * L 2 r ! ~ ( r / + r z s * W i ) e

Для приближенной оценки величины /|/ можно пренебречь слагаемым tg

’jf'f'f в

круглых скобках, т .к .

оно

по

крайней мере на порядок мень­

ше двух

других слагаемых и положить в *Tct равным единице, т .к .

Ts+Ntg ч

 

 

 

 

 

'Т Т '5

 

 

 

 

 

 

Тогда

 

Т \1-L

'

 

Нс

 

о п т

'

Ц

т*

8 .4 .

 

 

 

При быстродействии машины I05

 

 

 

и наработке на сбой 50 час.

если на каждом участке необходимо выполнять для контроля 10 до­

полнительных о п е р а ц и й 2, 5

IO2^

«

(Т_ в часах).

 

опт

 

 

 

у

-167-

§ 8 .3 . Использование контрольных соотношений и опоооба подстановки

И с п о л ь з о в а н и е

к о н т р о л ь н ы х

в о »

о т н о ш е н и й .

Сущность данного

способа заключается в том,

что для

контроля правильности вычислений составляются дополни­

тельные

математические соотношения,

решая которые.можно прове­

рить правильность

решения основной

задачи. Например,

если в ос­

новной задаче вычисляются jihX и В04Х , то правильность их вы­ числения молено проконтролировать, используя соотношение:

Ипгх + т 1:г=/.

Этот способ весьма удобен и эффективен. Однако не всегда удает­ ся найти необходимые контрольные соотношения.

С п о с о б п о д с т а н о в к и . При использовании

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

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

Аналогично способ подстановки можно использовать для конт^

роля решения систем дифференциальных уравнений

= а ч х , * а ц х г * - +а 1ат„

Для этого после наховдения X, w

. r j t ) ..............х п( 0 . х , ( Ы ) .

x / t+ ю ..............xn l i * k ) (где А

- шаг интегрирования) находят

- f б £ -

приршцения переменных за шаг интегрирования A X j - X j t + i ) x j i ) г

А^=Хг(Ы)-ЯГг( 0 , . . . ,&Xn=r„(t+A)-Xn(t) И затем проверяют уравнения, считая, что

AXi

clxi

'

h

* d t

Этот способ применим во многих случаях, но, так же, как метод повторного счета, значительно удлиняет время решения задачи.

§ 8 .4 . Метод логического анализа результатов

Этот способ применим тогда, когда программисту известно, в

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

Кроме перечисленных используются и другие способы контроля.

Выбор того или иного способа определяется видом задачи и умени­ ем программиста.

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

- )69 -

Г л а в а IX

ПРОГРАММНЫЙ КОНТРОЛЬ ФУШЩНОНИРОВАНИЯ АРИ5МЕГНЧЕСКНХ УСТРОЙСТВ

§ 9 .1 . Вида тестов и юс особенности

Тестами называют специальные программы, предназначенные для

контроля работоспособности ЦВМ. Общее назначение тестового контро­

ля - обнаружение систематических ошибок, являющихся следствием

неисправности машины,и облегчение поиска неисправности. Тестовый контроль проверяет работоспособность машины лишь в моменты его применения.

Различают четыре разновидности тестов .

Н а л а д о ч н ы е т е с т ы являются первыми тестами, с

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

П р о в е р о ч н ы е

 

т е с т ы

предназначаются для провер­

ки работоспособности

машины и поиска неисправностей. Они обеспе­

чивают более полный

контроль

и создают

более разнообразные ре­

жимы работы машины. Эти тесты

создаются с тщательным учетом спе­

цифики логической структуры

и элементов

машины и обычно корректи-

Зак.В27.

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