Особенности организации микропроцессорных систем.
Микропроцессорные системы (МПС) ставят уникальные проблемы поиска неисправностей, что объясняется их организацией и структурой. Как и в других электронных системах, компоненты микропроцессорных систем по разным причинам отказывают, что приводит к частичному или полному выходу системы из строя. Их архитектура часто превращает поиск неисправного компонента в сложную и длительную процедуру.
Значительная часть компонентов МПС реализована на больших интегральных схемах (БИС), благодаря которым законченные подсистемы МПС поставляются в виде готовых блоков . Примером такого блока в виде БИС служит сам микропроцессор. По мере всё большего уплотнения элементов в БИС проблемы их функционального тестирования резко усложняются. Любая БИС до поставки подвергается лишь ограниченному тестированию, а отказы могут проявиться при эксплуатации из-за возникновения комбинаций сигналов, или таких изменений некоторого параметра компонента, которые вызывают нехарактерное поведение микросхемы.
Когда микросхема спроектирована и изготовлена, внутренняя топология микросхемы может вызвать эффект так называемой "чувствительности к набору", заключающейся в том, что определённый двоичный набор приводит к неправильной работе. Маловероятно, чтобы такой набор появился в тестах при производстве, его действие появляется только в условиях эксплуатации. Драйверы выходных линий обычно размещаются на периферии кристалла, а по условиям работы они рассеивают большую мощность по сравнению с другими элементами схемы. Находящиеся вблизи драйверов маломощные схемы могут изменить свои характеристики в связи с повышением температуры. Следовательно, через некоторое время после подачи питания поведение микросхемы может стать непредсказуемым.
Правильная работа МПС требует исправных аппаратных средств и безошибочного программного обеспечения. Часто это не так, и программы, считавшиеся полностью работоспособными, в определённых обстоятельствах могут давать неправильные результаты. Программа может работать правильно на конкретных тест-наборах, но отказывать при эксплуатации из-за получения непредвиденного набора кода, который она не может обработать. Такие ситуации возникают в тех программах, которые вследствие плохой конструкции не допускают ввода информации неопытным оператором, что приводит к кажущемуся отказу системы.
Кроме таких видов отказов имеются и отказы, возникающие в системе после некоторого срока эксплуатации. В общем случае они вызываются электрическими отказами из-за неисправностей компонентов или, что происходит гораздо реже, программными отказами из-за искажения хранимых в памяти кодов команд.
Двойственная природа вычислительной системы при возникновении отказа сразу же ставит следующую проблему. Если отказ не очевиден, исследователь должен решить, скрыт отказ в аппаратных средствах или вызван ошибкой в программе. На этот вопрос часто ответить не так просто, так как характер отказа может препятствовать выполнению простых диагностических тестов. Отказ в шине управления микропроцессора может препятствовать выполнению любой программы, а отказ в операционной системе может не допустить загрузку и выполнение тест-программы.
В любой момент времени полное состояние микропроцессорной системы определяется уровнями сигналов на множестве линий. В 8-битном микроконтроллере текущий адрес представлен состояниями 16 параллельных линий шины адреса. В то же время данные, которые считываются или записываются по этому адресу, являются двоичным кодом на 8 параллельных линиях шины данных. Для определения типа выполняемой операции необходимо также знать состояния нескольких линий шины управления. Следовательно, для получения всей информации о передаче по шине данных должны быть известны состояния многих линий. Любой "кусочек" информации обычно существует на шине только в течение очень короткого временного интервала. Байт считываемых из памяти данных помещается на шину данных только на один период системной синхронизации длительности, например, 250 нс.