книги из ГПНТБ / Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие]
.pdf- п о
следовательно, вероятность выявления систематической ошибки при двойном просчете, вызываемой отказом, -
Эта формула справедлива, так как если в цервам операторе произо
шел сбои, то во |
втором либо появится |
обо;;, |
одинаковый с |
первым, |
||||||
с вероятностью |
* |
, |
либо |
сбоя |
не |
будет, |
либо |
будет, но в |
||
другом устройстве. |
|
|
|
|
|
|
|
|
|
|
Если /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.