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

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

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

- 2 0 0 -

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

Наконец, часто для контроля СчАК используется программа,

показанная в таблице I I . 3.

 

 

 

 

 

Таблица I I . 3

Адреса

Операция

А1

h

Пояснения

команд

 

 

 

 

 

К

 

П К

С,

а 0

Код d

из ячейки С1

К +

I

П К

с,

я ,

пересылается в ячей-

• •

 

 

 

КИ Qg *

1 ***

К +

л

П К

С,

Дл

 

 

Я + л И

Сравнения

а 0

 

Выполняется сравне-

Я + п+2

Сравнения

Яу

 

ние с остановом кодов,

• • •

• • •

 

 

записанных в ячейках

К + л + п

Сравнения

а п

Ci

Q0+Qnc кодом в

 

 

 

 

 

ячейке

С.)

Работа программы очевидна. Несравнение кодов в ячейках

+ Qj

свидетельствует

о том, что соответствующие команды

пропущены. В трехадресных и одноадресных ЭШ контроль СчАК

организуется

аналогично.

 

 

 

 

Мы рассмотрели контроль СчАК в режиме естественного сле­ дования команд. Рассмотрим теперь способы контроля выполнения переходов;

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

дов (Щ ) показан в таблице I I . 4.

- 201 -

Адреса

команд

К

К + I

t

К + Ш

K+rn+i

К

к- м

Операция

Б П

Г! К

ПК

БП

ПК

БII

А1

К

С

С

К+1

С

K+-I

Таблица I I . 4

А2

K+t+l

к

-

K+rn^i

-

.

Пояснения !

Безусловный пере-

ход к

К + т

Передача

команды

" о с т "

и з

ячейки С

в K + f+ i

 

Передача

команда

" о с т " из

С

в К

БР к ячейке

К+^

Передача команда

" о с т " и з С. в K+/R+1

Ш к К + I

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

если переход выполняется неверно, то управление передается или команде "остан ов ", или невыполненной команде Щ . Контроль за­ канчивается после выполнения всех переходов. Если не выполня­ ется какой-либо переход, то после выполнения всех шш части остальных переходов машина обязательно выйдет на останов.

Контроль условных переходов (УП) выполняется по аналогич-

ЗакД:^.

-202-

ной программе с той лишь разницей, что после команды УП допол­ нительно ставится команда "останов".

§ I I . 4. Контроль тракта кода операции

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

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

- 2 0 3 -

Г л а в а XII

ДИАШЗСТИКЛ НЕИСПРАВНОСТЕЙ ЦВМ

§ 12 .1. Диагностические тесты

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

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

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

- Z 0 4 -

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

Для создания диагностических тестов наиболее удобно поль­

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

но реагирует на каждое воздействие) и что все диагностируемые

неисправности приводят снова к устойчивой схеме.

Составление таблицы начинается с составления списка не­

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

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

Например, для двухвходрвой схемы И могут быть введены три не­

исправности: обрыв одного диода, обрыв второго диода и обрыв

обоих диодов одновременно.

В верхней строке диагностической таблицы (таблица 1 2 .I)

выписываются все неисправности из составленного перечня и

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

ется реакция этой программы на остальные неисправности и, ес­ ли она дает неверный результат при данной неисправности, то

в соответствующем столбце первой строки записывается единица;

если она не "замечает" данной неисправности, то - ноль. В ре­ зультате в первой строке единицами будут отмечены неисправнос­ ти , искажающие результат выполнения перво:! испытательной про-

- 2 0 5 -

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

меченную единицей в первых двух строках и т .д . После того , как

в таблице не останется ни одного столбца, не клеющего единицы

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

конченным. Условие наличия хотя бы одной единицы в каждом столб­ це является необходимым, но ,че достаточным условием полноты

таблицы. Если для некоторых столбцов не удается найти програм­

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

Совокупность написанных в таблице программ образует тест ,

проверяющий это устройство, ибо, если все

программы выполняют­

ся правильно, то устройство

исправно.

 

 

 

 

 

Таблица 1 2 .I

 

 

Таблица

12.2

'\ Н е и сп р .

 

 

 

 

 

Про­

Рез.

Рез.

П р о гр .\ .

Н1

Н2

нз

Н4

Н5

грам­

исп.

исп.

 

 

 

 

 

ма

№ I

Л 2

П1

I

I

0

0

0

П1

I

0

I

0

I

I

0

0

I

П2

П2

0

0

I

I

I

0

I

П3

П3

 

 

 

 

 

 

 

- 2 0 6 -

Может быть и другой подход. В таблицу вписываются тазе же, как

и раньше, все неисправности и некоторый набор

программ. Затем

проверяется реакция всех этих программ на все

неисправности

и вписываются соответственно нули и единицы.

Если при этом в

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

Для дпагноетшп! контролируемого устройства в ЦВМ пропус­

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

неисправность, реакция на которую, зафиксированная в соответ­

ствующем столбце диагностической таблицы (таблица

1 2 .I) совпа­

дает с

реакцией на выполнение диагностического теста ,

т .е .

коды в

колонке таблицы 12.2

(результат

испытаний)

и в

колонке .

таблицы 1 2 .I (диагностическая

таблица)

совпадают.

В нашем при­

мере результату испытания

I

соответствует неисправность

Для удобства отыскания неисправности в таблице удобно,

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

исправности, а , следовательно, легко найти в таблице саму не­ исправность.

После составления таблицы может оказаться, что некото­ рые столбцы равноценны (содержат одинаковые коды). В этом

- 2.07-

случае неисправности, соответствующие этим столбцам, будут

неразделимы.

Например, результату испытания № 2 таблицы 12.2

соответствуют

две неисправности таблицы 1 2 .I (Нд и Н^). В этом

случае необходимо дополнить таблицу новыми испытательными про­ граммами, обеспечивающими различие кодов не разделенных неис­

правностей. Для того , чтобы в таблице 1 2 .I все неисправности

были разделимы, ее можно дополнить программой П4 , как показа­ но в таблице 12 .3 .

 

 

 

 

 

 

Таблица 12 .3

Неисправн.

 

 

 

 

 

Результат

 

Н1 Н2 нз Н4 %

испытания

Программа

а 2

 

 

 

 

 

П1

I

I

0

0

0

0

I

 

 

I

 

I

П2

0

I

0

 

0

 

I

0

I

П3

I

I

 

 

 

I

I

0

П4

0

I

0

 

 

 

 

 

 

Если при испытании получится результат,

записанный в

последней колонке таблицы

1 2 .3 ,

то

это будет

свидетельствовать

о наличии неисправности Нд.

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

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

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

- 2 0 S -

совпадает, и - единицы, если не совпадает.

Так как перед переходом к диагностическим тестам не всег­

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

то возникает вопрос, как строить диагностические тесты . Можно предложить три варианта построения системы диагностических тестов .

1. Тест строится сразу всей машины в целом, с учетом

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

ся нереальной.

2. Вначале составляется тест для одного устройства, наиме­

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

Затме составляется тест для следующего устройства с учетом неисправностей всех других устройств, влияющих на выполнение те ста , но за исключением неисправностей, уже проверенных пер­ вым тестом . Далее при аналогичных условиях составляется тест следущ его устройства и т .д . Диагностика выполняется в поряд­

ке составления тестов .

Такая система тестов обладает высокой диагностичностью,

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

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

- 200-

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

Таким образом, диагностичность таких тестов менее высокая.

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

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

тем - по мере возрастания связности. В некоторых случаях на основе анализа логики выполнения тестов можно исключить т е о -

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

При подборе программ, проверяющих отдельные неисправности,

к ним предъявляют три основных требования:

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

2. Программы должны быть возможно более короткими (же­ лательно одна или несколько операций) и проверять минимум не­ исправностей.

3. Каждая программа должна автоматически сообщать о пра­ вильности или неправильности результата. Для этой цели в конце

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

14.;1ч.‘ мл.

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