Контролирующие тесты
Контролирующие тесты предназначены для проверки правильности функционирования аппаратуры. Принцип тестового контроля состоит в том, что на вход контролируемого устройства подают специально подобранную совокупность входных воздействий и наблюдают реакцию на выходе. Сравнивая полученную реакцию с эталонной, судят о правильности функционирования устройства. Подача входных воздействий, фиксация реакции и сопоставление ее с эталоном может осуществляться вручную либо автоматически.
Таким образом, тестовый контроль есть проверка пребывания устройств в работоспособном состоянии на момент контроля. В отличие от программно-логического тестовый контроль не может быть использован для проверки состояния устройств в процессе выполнения ими основной
задачи.
Рассмотрим более подробно существо тестового контроля. Существует много методов, позволяющих находить минимальное число входных слов, подача которых на вход обеспечивает полный контроль устройства. Все эти методы чрезвычайно громоздки и трудоемки.
На практике строят такие тесты, которые обнаруживают не все, а только заранее перечисленные отказы.
Нахождение теста, т.е. совокупности входных слов, применительно к устройству, не содержащему элементов памяти, состоит в следующем. Составляется таблица отказов, каждая строка которой соответствует входному (следовательно, и выходному) слову а столбцы - номеру заданных
отказов j.
Элементы таблицы , если при -м входном слове производится обнаружение j-го отказа, и в противном случае. Вариант заполнения столбцов и строк представлен в табл. 6.2.
Построение теста состоит в выборе минимального числа строк, при которых все отказы будут обнаружены. Эта задача приближенно может быть решена следующим образом: находят строку, содержащую максимальное число единиц, и вычеркивают те столбцы, у которых в этой строке записаны единицы. Входное слово, соответствующее данной строке, фиксируется, и процедура выбора строки и вычеркивания столбцов повторяется вновь. После того, как все столбцы будут вычеркнуты, зафиксированные слова составят тест проверки устройства.
Таблица 6.2
i | Номер заданных отказов j | ||||
m | |||||
…… | …… | …… | …… | ….. | …... |
В зависимости от назначения, контролирующие тесты можно разделить на следующие виды;
• наладочные тесты, служащие для наладки устройств в процессе
ввода их в эксплуатацию либо после ремонта;
• контрольные тест-задачи, предназначенные для оперативной про
верки работоспособности устройств при кратковременных периодических
прекращениях их работы по выполнению основной задачи;
• собственно контролирующие тесты, применяемые при подготовке
устройств к работе, во время профилактических мероприятий и т. д.
Дадим краткую характеристику этим видам тестов.
Наладочные тесты - это, как правило, небольшие по своему объему совокупности входных слов, предназначенных для проверки работоспособности отдельных мелких блоков, узлов, элементов.
Часто они состоят из одиночных входных слов, которые в течение времени подаются на вход (постоянно или в циклическом режиме). Анализ выходных реакций при этом позволяет обнаружить грубые ошибки в монтаже или конструкции узлов и элементов. Наладочные тесты, как правило, используют при неавтоматизированном контроле.
Контролирующие тест-задачи имеют существенно больший объем, чем наладочные. Так как они включаются в работу на короткое время, то все процессы контроля необходимо автоматизировать. При этом число входных слов должно быть минимальным при условии проверки работоспособности заданного числа контролируемых элементов. Для того чтобы проверить устройство в режиме, наиболее близком к режимам выполнения основной задачи, входные слова теста специально подбирают.
Применение тест-задачи целесообразно в тех случаях, когда имеется возможность прервать хотя бы на короткое время выполнение основной задачи без ущерба для общего функционирования системы.
Контролирующие тесты используются для проверки работоспособности устройства в целом с достаточно большой глубиной и полнотой. Жестких требований на время их выполнения не предъявляется. Поэтому данные тесты, как правило, бывают достаточно объемными, и могут выполняться вручную либо автоматически.
Общий контролирующий тест обычно состоит из совокупности отдельных подтестов, каждый из которых может включаться самостоятельно и предназначен для контроля отдельных частей устройства. Последовательность включения подтестов определяется априорными сведениями о состоянии устройства и формируется таким образом, чтобы в среднем получить минимальное время выполнения теста до момента обнаружения факта отказа.
Наиболее полное развитие тестовый контроль получил в цифровых вычислительных машинах. Все операции тестового контроля (кроме наладочных тестов) здесь автоматизированы. Тестовый контроль ЭВМ осуществляется при помощи специально составленных тест-программ. Рассмотрим принципы построения тест-программ, применительно к основным устройствам вычислительной машины.
Вначале для каждого устройства разрабатывается тест, например, по указанной выше методике. Затем на основе полученного теста составляется контролирующая тест-программа, которая, как правило, состоит из мелких блоков. Все блоки построены по единому принципу (рис. 6.8). Сначала на вход устройства подается входное слово, затем выходное слово сравнивается с эталоном. Если они совпали, переходят к выполнению следующего блока, если не совпали - автоматическая проверка прекращается. Оператор при этом на устройствах отображения может наблюдать входное, выходное и эталонное слова. При нажатии кнопки «Пуск» происходит повторное выполнение данного блока.
Различают два вида проверок:
1)проверка на постоянных словах, когда входные слова и эталоны
подбираются заблаговременно и в процессе контроля не меняются.
2)проверка на переменных словах, когда входные слова формируются по случайному закону, а сравнение с эталоном осуществляется косвенным способом.
Тест-программ, использующие постоянные слова, характеризуются малым временем выполнения и обеспечивают максимальный охват проверяемых элементов, однако они занимают большой объем памяти и их построение требует больших затрат времени.
Тест-программ, использующие переменные слова, создают более тяжелые режимы в работе устройств и, следовательно, позволяют провести проверки с большей глубиной. Кроме того, формирование входных слов здесь осуществляется весьма просто, а объем памяти, занимаемый программой, невелик.
Рассмотрим особенности тест-программного контроля различных устройств.
Контроль процессоров. Тест-программная проверка процессора должна предусматривать выполнение всех возможных операций с различными операндами и проверку правильности полученных результатов. При этом код выполняемой операции и операнды рассматривают как входное слово, а результат операции - как выходное.
Рис. 7.8. Блок-схема типового участка тест-программы
Проверка на постоянных словах проводится со специально подобранными словами, при работе с которыми все отказы проявляются в виде искажений выходных слов. Например, для контроля работы цепей переноса сумматора обратных кодов целесообразно выбрать исходные операнды:
A=1111………11; B=0000………..01;
C=0101………01; D=1010………..10,
и выполнять операции А + В, В + А, С + D, D + С.
Первые две операции обеспечивают срабатывание всех цепей переноса, и результат при этом должен быть 0000 ...01.
В двух последних операциях цепи переноса не участвуют, и результат должен быть равен 1111 ... 1. Вели указанные результаты не получены, то либо сигнал переноса в одном из разрядов отсутствует, либо где-то возникает ложный сигнал переноса.
Проверка на переменных словах осуществляется следующим образом. При помощи датчика случайных слов формируется несколько случайных операндов а, b, с, d, ... Над этими операндами проводится либо по две одинаковых операции и результаты сравниваются, либо по две взаимно обратные операции и результат сравнивается с нулем.
Например, могут быть выполнены следующие действия:
где -допустимая погрешность.
Затем формируются новые случайные операнды и вновь проводятся те же самые операции. После многократного повторения данного участка тест-программы переходят к следующему участку. При достаточно большом числе повторений каждого участка получают весьма высокую условную вероятность обнаружения отказа в аппаратуре.
Контроль отдельных устройств процессора. Контроль устройства управления командами состоит в проверке правильности выполнения команд управления, в первую очередь команд условных и безусловных переходов. Тест-программа такой проверки проводит искусственное формирование условий перехода и выполнение соответствующих команд. Если переход выполнен правильно, то осуществляется очередная проверка, если неправильно - процесс выполнения команд прекращается.
Контроль системы прерывания реализуется смешанным (аппаратно-программным) способом и включает в себя контроль правильности срабатывания системы прерывания по каждому из имеющихся запросов, осуществляемый сравнением заранее заготовленных эталонных слов; контроль правильности возврата в прерванную программу; определение порога насыщения системы прерывания.
О правильности возврата в прерванную программу судят по правильности восстановления всех элементов памяти процессора (регистров, счетчиков, таблиц и т. д.).
Для определения порога насыщения системы прерывания увеличивают частоту подачи запросов до тех пор, пока система прерывания не перестанет удовлетворять все запросы. При неудовлетворении первого же запроса фиксируется достигнутая частота, которая и характеризует порог насыщения системы прерывания.
Контроль памяти. Тест-программный контроль памяти включает в себя проверку оперативной и постоянной памяти. Суть контроля всех этих видов памяти состоит в записи определенных слов в отдельные ячейки, считывании и сравнении с эталонами. Однако проверка для каждого вида памяти имеет свою специфику.
Укажем общие принципы построения тест-программ проверки оперативной памяти. Прежде всего отметим, что тест-программа проверки памяти расположена в оперативной памяти; следовательно, непосредственно проверить ячейки, где находится программа, невозможно. Поэтому оперативную память делят на две части и контролируют их поочередно, располагая тест-программу в неконтролируемой части памяти. Сказанное поясняется рис. 6.9.
Здесь память, изображенная условно в виде прямоугольника, разделена на две части, которые контролируются последовательно. Суть контроля оперативной памяти состоит в том, что в ячейки последовательно записываются постоянные или переменные слова, которые затем считываются и сравниваются с эталонами. Для того чтобы проверить оперативную память с полнотой охвата, равной единице, следует проверить каждую ячейку на правильность хранения хотя бы двух поразрядно неравнозначных слов. В частном случае первое слово может иметь во всех разрядах единицы, а второе - нули.
Рис. 7.9 Расположение тест-программ в памяти
Рис. 7.10 Блок-схема типового участка тест-программы проверки памяти
Блок-схема типовой части теста представлена на рис. 6.10. Укрупненная блок-схема контролирующей тест-программы приведена на рис. 6.11.
Рис. 7.11 Укрупненная блок-схема контролирующей тест-программы памяти
Существует ряд специфических тестов для проверки правильности функционирования памяти такого вида. К ним относятся такие тесты, как «Шахматный» и «Долбление». «Шахматный» тест предусматривает запись нулей и единиц в памяти в шахматном порядке. Такое расположение данных приводит к возникновению максимально возможных помех от полувыбранных ячеек. Если при проверке данным тестом оперативная память функционирует правильно, то можно быть уверенным, что при другом распределении нулей и единиц помехи не исказят считываемую информацию.
Тест «Долбление» предназначен для проверки работоспособности памяти в условиях ее разогревания и изменения вследствие этого ее свойств. Суть теста состоит в том, что происходит многократное обращение к каждой ячейке памяти. Частое изменение состояний ведет к разогреванию и временному ухудшению их свойств. Если в этих тяжелых условиях память работает без сбоев, то можно быть уверенным, что в нормальных условиях работы она также будет работать без сбоев.
Тесты проверки оперативной памяти удобнее всего хранить во внешней памяти, вызывая их в оперативную перед началом проверки.
Постоянная память имеет ту особенность, что запись и считывание информации проходит здесь массивами. Проверка заключается в формировании эталонных массивов, записи их в постоянную память, считывании и сравнении с эталоном.
На практике можно построить тесты различными способами. Чаще всего формируется массив слов, записываемый во внешнюю память. Затем этот массив переписывается в свободное место оперативной памяти и слова первого массива попарно сравниваются со словами второго массива. Если быстродействие внешней памяти невелико, то каждое считанное слово может сравниваться непосредственно после его приема ЭВМ без записи в память. В некоторых случаях с целью сокращения объема тест-программы сравниваются не сами слова, а контрольные суммы массивов. Одновременно с внешней памятью проверяются и каналы обмена информацией. При этом необходимо проконтролировать работу канала во всех возможных режимах (запись и считывание, обмен в режимах «цепочка данных» и «цепочка операций» и т. д.). Важно, чтобы информация внутри массива была достаточно «тяжелой», т. е. создавала большую нагрузку на цепи управления канала и внешней памяти.
В период отладки программ проверка работоспособности внешней памяти имеет определенную специфику, связанную с тем, что контрольные суммы массивов непрерывно меняются. Поэтому в период отладок, запись во внешнюю память, как правило, проводится неоднократно с выработкой каждый раз своей контрольной суммы. Совпадение контрольных сумм в нескольких циклах записи-считывания говорит о том, что внешняя намять функционирует правильно. После каждого исправления команд или констант контрольные суммы подлежат новому формированию.
В настоящее время в цифровые вычислительные машины и другие цифровые устройства вводятся новые узлы и механизмы, предназначенные для организации работы этих устройств в многопрограммных режимах, режимах разделения времени и т. д.
Контроль счетчиков времени. Контроль правильности работы счетчиков времени необходим в связи с тем, что искажение отсчета времени приводит к грубым нарушениям нормальной работы программы. Для контроля счетчиков может быть использовано несколько тесг-программ.
Одновременно с проверкой работы счетчика времени можно осуществить контроль правильности поступления меток времени. Для этого необходимо периодически обращаться к системе единого времени и вызывать в одну из ячеек памяти текущий код времени. Совпадение показаний счетчика времени и содержимого ячейки свидетельствует о правильности работы как счетчика, так и тракта поступления меток времени.
Если имеются два счетчика времени - суммирующий и вычитающий, то правильность их работы проверяется путем последовательного многократного сложения содержимого этих счетчиков и сравнения полученной суммы с эталоном. Действительно, если в некоторый момент времени на вычитающий счетчик записывается и в этот момент на суммирующий счетчик записывается величина , то в любой другой момент времени , сумма содержимого счетчиков будет постоянна:
Убедившись несколько раз, что сумма содержимого счетчиков неизменна, можно сделать вывод о их правильной работе.
Контроль механизма страничной защиты памяти. Механизм защиты памяти, как известно, обеспечивает сравнение ключа памяти страницы обращения и ключа программы. Несовпадение ключей приводит к запрету обращения и прерыванию работы процессора. Следовательно, тест-программа должна осуществить засылку ключей памяти в процессор, а затем для каждой страницы хотя бы дважды провести обращение при наличии соответствующего и несоответствующего ключей программы. В первом случае процессор должен функционировать нормально, во втором должно произойти прерывание его работы.
Контроль механизма динамического распределения памяти. Механизм динамического распределения памяти служит для автоматического изменения адресов в процессе выполнения программы. Контроль его работы может быть осуществлен путем решения эталонных задач. Каждая эталонная задача решается в два этапа. Вначале информация засылается в таблицы соответствия, затем выполняются специально подобранные примеры, результаты решения которых сравниваются с эталонами. Если механизм динамического распределения памяти работает неверно, то адреса
обращения к ОЗУ будут изменяться неправильно. Следовательно, исходные данные для решения примеров также будут неверными, и результат с эталоном не совпадет.
Контроль работы ассоциативных регистров. Память на ассоциативных регистрах служит для подмены либо ячеек оперативной памяти, либо отдельных регистров механизма динамического распределения памяти с целью увеличения производительности вычислительной машины. Особенность регистров состоит в том, что в случае выхода их из строя машина продолжает работать нормально, но с пониженной производительностью. Используя эту особенность, можно осуществить следующую проверку правильности их работы: составить несколько эталонных задач на постоянных словах, при выполнении которых интенсивно работали бы все ассоциативные регистры, и зафиксировать время выполнения этих задач при заведомо исправных регистрах. При контроле ассоциативных регистров в работу включают указанные эталонные задачи и при помощи счетчика времени находят время их решения. Если найденное время совпадает с заранее зафиксированным, ассоциативные регистры работают нормально.
Контроль управляющей программы. Управляющие программы (операционные системы) многопрограммных и многопроцессорных ЭВМ предназначены для организации процесса вычислений и по существу составляют единое целое с аппаратурной частью машины. Искажения управляющих программ ведут к полному нарушению процесса вычислений, поэтому проверка этих программ является важным элементом контроля вычислительной машины.
Убедиться в том, что управляющая программа не имеет искажений, можно двумя способами. При первом способе используется тот факт, что управляющая программа резервируется. Контроль отсутствия искажений состоит в пословном сличении двух или нескольких программ. Наличие несовпадений говорит об искажении программы.
Второй способ состоит в контроле правильности функционирования управляющей программы при помощи тестов. Суть способа сводится к тому, что программным способом создается некоторая эталонная обстановка (включаются в рабочее состояние и выключаются из него отдельные процессоры и каналы обмена информацией, имитируются сигналы прерывания, распределяется память, составляются очереди использования ресурсов и т. д.). Управляющая программа реагирует на эту обстановку, а тест проверяет соответствие этой реакции программы эталону. Если управляющая программа неверно вырабатывает управляющие слова, таблицы соответствия и т. д., то принимается решение о неверной ее работе.
Особенности тест-программного контроля устройств, охваче-нных аппаратным контролем. Применение тест-программного контроля для устройств, охваченных аппаратным контролем, имеет ряд особенностей, хотя общие принципы построения тестов остаются прежними.
Во-первых, тест-программы на постоянных словах должны разрабатываться так, как это было указано выше, но сами слова подбираются специальным образом. Они должны создавать условия для возникновения ошибок, не обнаруживаемых аппаратным контролем. Например, аппаратный контроль обнаруживает все одиночные ошибки, но не обнаруживает ошибки двойной кратности. Входные слова теста следует подбирать таким образом, чтобы создавать условия для возникновения именно двукратных ошибок.
Во-вторых, тест-программы на переменных словах несколько модернизируются и по случайному закону формируются не только исходные данные, но и команды (т. е. коды операций и адреса), модификаторы и т. д. Результаты выполнения операций можно не проверять, а фиксировать аппаратным контролем. Основное назначение этой тест-программы состоит в создании «тяжелых» режимов работы контролирующего устройства.
В-третьих, тест-программы контроля устройств, имеющих в своем составе контрольную аппаратуру, должны обеспечить проверку работоспособности этой аппаратуры. При отсутствии такой проверки нет уверенности в том, что контрольная аппаратура правильно фиксирует наличие неисправности и вырабатывает осведомительный сигнал контроля.
Тест-программную проверку контрольной аппаратуры целесообразно проводить в условиях, когда подсистемы исправления последствий сбоев и локализации неисправностей отключены (заблокированы). Суть проверки контрольной аппаратуры состоит в том, чтобы убедиться в правильности выработки осведомительного сигнала, поэтому контроль распадается на две части:
проверка отсутствия сигнала при подаче эталонного слова на вход основного устройства и при совпадении выходного слова этого устройства с соответствующим выходным эталонным словом;
проверка наличия сигнала при подаче на вход основного устройства входного эталонного слова и несовпадении выходного слова устройства с соответствующим эталонным.
Очевидно, чисто программным способом тестовую проверку контролирующих устройств можно реализовать далеко не всегда. Поэтому в ряде случаев такая проверка ведется комбинированным способом. Можно, например, в процессе работы контролируемого устройства вводить в него искусственные неисправности, наличие сигнала при этом будет говорить о правильности работы контролирующего устройства.
При сквозном аппаратном контроле по модулю тестовую проверку контролирующего оборудования можно осуществить чисто программным путем. Процесс контроля при этом разбивается на две части: в первой формируются контрольные характеристики, не соответствующие входным словам основного оборудования, во второй - соответствующие.
В первом случае должен вырабатываться сигнал , а во втором этот сигнал должен отсутствовать. Отсутствие сигнала в первом случае или его
наличие во втором свидетельствует о неправильной работе аппаратуры контроля.
Контроль резервированной аппаратуры. Наличие в составе АС значительного количества резервной аппаратуры обеспечивает повышение надежности и тем самым создает благоприятные условия для повышения качества программного контроля отдельных устройств. Действительно, одни и те же действия по переработке или пересылке информации можно выполнить как на основной, так и на резервной аппаратуре, а сравнение слов, полученных на выходах различных устройств, позволяет с высокой достоверностью убедиться в правильности работы этих устройств.
С целью повышения эффективности тест-программного контроля резервированного оборудования можно при помощи заведомо исправной аппаратуры (основной или резервной) осуществить ряд вспомогательных действий, необходимых при проведении контроля, устранив, таким образом, некоторые из причин возникновения ошибок в контролируемой аппаратуре при тест-программном самоконтроле. Можно, например, при помощи заведомо исправного оборудования формировать входные и эталонные слова и сравнивать эталоны с выходными словами проверяемых устройств, задавать режимы работы контролируемых устройств и анализировать наличие или отсутствие в них тех или иных сигналов, запоминать эталонные массивы данных перед тем, как записать их в контролируемые запоминающие устройства и т. д.
Полное множество всех тест-программ, предназначенных для контроля отдельных устройств, узлов и элементов АС, является частью подсистемы обнаружения факта неисправности.
Дата добавления: 2017-03-29; просмотров: 1884;