|
Уместно отметить, что множество возможных неисправностей, поиск которых есть важнейшая функция тестов, нераздельно связано с функциональными особенностями аппаратных компонентов. К отказу может привести неправильное выполнение одной из команд или обрыв сигнальной линии. Отказ регистра, неподчинение компонента управляющему слову зачастую неочевидны и требуют значительных трудозатрат на поиск неисправности.
Анализ программно-доступных компонентов компьютера показывает, что каждый из них может быть описан тремя множествами:
 |
 |
множеством типовых выполняемых операций, команд; |
 |
множеством сигнальных линий, входов и выходов; |
 |
множеством программно-доступных регистров. |
 |
 |
 |
Это утверждение справедливо с момента появления первого компьютера. В обозримом будущем оно также должно оставаться верным. Такой подход было решено положить в основу интерфейса, определяющего работу программного продукта с тестируемым компонентом. Это позволит в максимально возможной степени избежать устаревания диагностических программ.
Описание в терминах триады CPR {Commands, Pins, Registers} позволяет создавать модели элементов, образующих вычислительную систему. Стандарт на язык описания становится открытым не в силу субъективных причин, зависящих от разработчика, а в силу того, что программно-доступный компонент может быть представлен как трехмерная модель CPR. При условии, что разработчик чипа позаботился о документации на собственное изделие. Следует признать, что в отсутствие описаний становится проблематичным не только создание модели CPR, но также и диагностика традиционным способом.
Использование CPR модели позволяет унифицировать подход к построению тестовых аппаратно-ориентированных подпрограмм. Решить эту задачу можно с помощью скрипт-процессора, исполняемого в компонентно-независимой среде интерпретатора.
Каковы должны быть функциональные возможности CPR скрипт-процессора (в дальнейшем будем называть его CPR Browser)?
 |
 |
Отрабатывать типовые команды устройства, декларированные в CPR модуле, задавая входные параметры и контролируя выходные параметры |
 |
Отрабатывать типовые операции над сигналами устройства: чтение и установка состояния, тестирование по алгоритму, определенному CPR |
 |
Отрабатывать типовые операции над регистрами устройства: чтение и запись в регистр, тестирование по алгоритму, определенному CPR |
 |
Просматривать текстовое описание устройства и его команд, сигналов и регистров, интегрированные в CPR модуль |
 |
Загружать состояние устройства из файла |
 |
Сохранять состояние устройства в файле |
 |
Сохранять в файле рапорт с описанием устройства и его состояния |
 |
 |
 |
Программа ICDiag является первым и пробным шагом в реализации такого подхода. Все действия над исследуемым компонентом, описанные в его CPR модели выполняются по запросам пользователя, что удобно для детального исследования компонента и обеспечивает максимальную конкретизацию при поиске дефектов. Уже сегодня существуют автономные модули выполнения приложений (plug-ins). Для этого разработан макроязык описания сценариев тестов, который позволяет обслуживать модули CPR в интерпретаторе ICDiag.
|
 |