Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.06.2024

Просмотров: 126

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

- 157-

Vuc. 7.Б .

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

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

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

-158 —

чатыванием соответствующей информащш, и машина выходит на остан нов.

Если при повторных выполнениях оператора сбои возникают от

разных устройств, то

это

обычно свидетельствует о том, что

маши­

на не работоспособна,

и

ее следует остановить для ремонта.

Ис­

ключение здесь представляет пропадание одного из импульсов в УУ,

которое монет вызвать одновременные сбои в разных устройствах.

Поэтому, если будет зафиксирован сбой в УУ, следует продолжать

повторения циклов до переполнения счетчика сбоев и только после этого производить переключение. Заметим, что в принципе не обя­ зательно долото быть организовано повторение операторов. Может быть организовано повторение команды, в которой произошел сбой.

Для этой

цели номер команды со Сч АК также переписывается в МОЗУ,

из него

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

вСч АК (вычитание может быть осуществлено и непосредственно

вСч АК). Дтя того , чтобы иметь возможность повторить операцию,

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

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

с onepaTopai.ni.

В некоторых ЦВМ при выявлении сигнала сбоя проводится ана­ лиз, на какой микрооперации произошел сбой. Если в результате этой микрооперации исходная информация не разрушена, повторя­ ется данная операция (например, результат в МОЗУ еще не записан),

если информация разрушена, повторяется весь блок программы.

Для определения рабочего состояния машины в устройство фик­ сирования сбоев целесообразно ввести еще один счетчик сбоев, в


- *59-

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

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

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

где

М - количество

операций в операторе,

 

Р- - вероятность появления

сбоя в одной операции.

Так как вероятность появления сбоя

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

достаточно малая, то можно записать:

Вероятность появления сбоя

в J

контролируемом устройстве

в "к" раз меньше (если вероятность

сбоя в них одинакова), т . е .

 

Р

-

Ш

 

Вероятность появления сбоев в одном и том же устройстве в двух

.просчетах оператора будет


- п о ­

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

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

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

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

обо;;,

одинаковый с

первым,

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

*

,

либо

сбоя

не

будет,

либо

будет, но в

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

 

 

 

 

 

 

 

 

 

Если /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

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