Контролирующие тесты

 

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

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

задачи.

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

На практике строят такие тесты, которые обнаруживают не все, а только заранее перечисленные отказы.

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

отказов 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; просмотров: 1906;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.024 сек.