Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].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-

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

Взаключение отметим, что существенную помощь в проверке

машины, в том числе и АУ, дает пульт управления.

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

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

набранных о пульта управления. *

В некоторых машинах предусмотрен тумблер многократного исполнения команды.

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