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

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

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

- 170-

руются в

процессе эксплуатации.

 

К о

н т р о л ь н ы е

т е с т - з а д а ч и

предназна­

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

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

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

В любом случае к тест-задачам

предъявляются два противоре­

чивых требования: полнота контроля

и минимальный объем программы.

Д и а г н о с т и ч е с к и е

т е с т ы

должны обеспе­

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

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

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

§ 9 .2 . Структура проверочных тестов и общие требования к ним

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

- I7f-

в устройстве.

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

при надобности, зацикливание тех или иных тестов.

По принципу работы проверочные тесты разделяются на два

вида.

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

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

Эти тесты называются тестамш на "постоянном коде".

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

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

сравнение результатов. Тесты второго' вида называются тестами на "переменном коде".

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

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

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

- п 2 -

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

части. Однако.невозможно обеспечит работу одного устройства

(например, АУ) без обращения к другим (МОЗУ УУ), поэтому под

"автономностью" понимается то обстоятельство, что этот тест обес­ печивает более полную проверку контролируемого узла в утяжален-

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

остальныеустройства. Коли­

чественно автономность определяется

значением связности.

2. Тесты должны обладать высокой

разрешающей способностью, т .е .

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

3.

Тест должен обеспечивать высокую полноту охвата контролем,

т .е .

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

ностей.

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

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

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

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

-(73-

фа сигналы, участвующие в выполнении примера.

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

тумблером на пульте и введением после команды"останов" безуслов­ ного перехода к началу программы.

При организации контроля ЦВМ проверочными тестами немаловаж­

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

Стандартной схемы последовательности проверки нет, однако

ориентировочно может быть рекомендована следующая последователь­ ность: вначале проводится выборочная (частичная) проверка отдель­ ных ячеек МОЗУ; затем выполняется частичная проверка АУ и УУ;

после этого осуществляется полная проверка АУ, МОЗУ, УУ и внеш­ них устройств.

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

выполнена комплексная проверка воей ЦВМ в целом.

При организации проверочных тестов вначале предусматривает­

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

боты машины, а затем - при утяжеленных режимах (отклонения пита­

ющего напряжения и частоты

задающего генератора от номинальных

значений).

 

 

§ 9 .3 .

Программы частичной проверки АУ

В зависимости от

типа

и структуры АУ проверочные тесты могут

- m -

нметь некоторые особенности, однако независимо от типа АУ испы­

тательные программы имеют много общего.

В АУ используются тесты как на постоянном, так и на перемен­

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

разряды прежних значений чисел A L и Ь[ с помощью операций вы­

деления записываются нули, а затем складывают их с положительны­

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

получалось переполнение разрядной сетки ). Затем полученному чис­

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

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

Тесты принято разделять на тесты частичной проверки АУ и тесты полной проверки АУ.

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

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

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

- т -

P x jc . 9.1.

- 176-

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

Зацикливание операции, в которой происходит сбой, можно

осуществить аналогично, если перед командой останов поставить

команду передачи по ключу.

При составлении тестовой программы необходимо выбирать та­

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

С целью более тщательной проверки следует подбирать приме­

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

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

с числом, содержащим единицы во всех разрядах. Некоторые тяже­

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

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

Выбор последовательности проверки операций обычно произво­

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

жение, логическое умножение, неравнозначность и т . д . ) , затем

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

Проверочный тест должен охватывать контролем также выработку сигналов и) (признак знака - I , + 0) и сигнала ¥ (переполне­ ние) .

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

- 177-

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

ства:

Ai

А (

'>

умножение

-

A LBi = B LA i i

деление

 

 

 

Операции логического сложения, логического умножения и неравно­ значности - на основании соотношений:

(где 0 и I - нулевой и единичный коды).

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

Поэтому при сравнении восстановленного числа его следует сравни­

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

При контроле на переменных кодах следует учитывать, что при

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

вающей запятой

результат может отличаться

от исходных чисел

за

счет

потери

младшее разрядов. В случае умножения и деления

это

расхождение не больше единицы младшего

разряда результата,

в случае

сложения с плавающей запятой оно

не превосходит еди­

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

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

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

Для контроля операции останова обычно в начале программы вводят операцию сравнения с остановом. В этом случае зацикли-

- H S -

ваше теста осуществляют на команду, стоящую после останова.

§ 9 .4 . Программы п о л н о й проверки АУ

Программа п о л н о й проверки ЛУ, как правило, имеет более слож­

ную логическую структуру и содержит контролирующую и диагности­ ческую часть. Контролирующая часть использует для контроля АУ все логические возможности машины и состоит из последовательности чередующихся блоков: арифметического (выполнение основных команд)

и контрольного (контроль правильности результата предыдущего

арифметического блока).

Блок-схема программы показана на р и с.9 .2 .

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

В каждой последующей операции блока используется результат

предыдущей, что позволяет по результату, получаемому по выполне­

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

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

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

В группы моцут быть сведены следующие команды:

-операции сложения;

операции умножения и деления;

-17 9-

Puc. 9.Z.

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