Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2024
Просмотров: 124
Скачиваний: 0
- п 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.
-операции сдвига и нормализации;
-поразрядные логические операции.
В кавдый арифметический блок включаются по нескольку опера
ций из каждой группы, причем, в различных блоках чередование операций из разных групп меняется.
Число проверяемых операций в каждом блоке обычно составля
ет 30 ♦ 50.
Однако, универсального рецепта здесь нет.
Диагностическая часть программы предназначена для выявления
минимальной группы команд или одной команды, в которой произо шла ошибка, в том случае, если в блоке произошло несравнение результата. Для того, чтобы диагностическая программа не вклю чалась при возникновении случайного сбоя, целесообразно предусмот реть организацию многократного повторения блока, в котором про изошел сбой.
Диагностическая программа может быть одна для всех блоков.
Наиболее просто диагностическая программа строится, если тест
использует только постоянные коды и имеется возможность размес
тить в памяти исходные числа и результат для каждой операции или для небольших групп операций. В этом случае по номеру бло
к а , в котором произошла ошибка, определяются ячейки, где хранят
ся команды и числовая информация. Затем диагностическая програм
ма обеспечивает последовательное выполнение операции, начиная о первой, со сравнением результата после выполнения каждой опера устанавливая, таким образом, по несравнению верхнюю гра
ницу зоны, где происходит ошибка. Затем начинает выполнение опе
раций, начиная с последней. Выполняет последнюю и сравнивает
результат, затем - предпоследнюю и последнюю и т . д . , пока в
результате не появится ошибка. Так устанавливается нижняя гра
ница.
-181-
Вслучае применения переменного кода составление такой программы усложняется. В этом случае в блоках целесообразно предусмотреть небольшие по количеству команд группы, в которых возможно проверить результаты.
Взаключение отметим, что существенную помощь в проверке
машины, в том числе и АУ, дает пульт управления.
С помощью кнопки однотактного режима имеется возможность просмотреть визуально выполнение той или иной операции но так там.
Для облегчения отыскания неисправностей можно использовать режим циклического выполнения одной или нескольких операций,
набранных о пульта управления. *
В некоторых машинах предусмотрен тумблер многократного исполнения команды.
Для контроля кода теста удобно пользоваться ключами остано ва по адресу и ключами передачи управления. Это позволяет вы брать любой участок программы и проконтролировать его исполне ние