АВТОМАТИЗИРОВАННОЕ УСТРОЙСТВО ДЛЯ ТЕСТИРОВАНИЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ
AUTOMATED DEVICE FOR TESTING MICROPROCESSOR SYSTEMS

Изобретение относится к микро- и нанотехнологии и может быть использовано при контроле и диагностировании микропроцессорных систем. Наиболее эффективно его использовать для выявления недокументированных элементов и возможностей осуществления недокументированных команд с помощью тестируемого объекта.
Известно автоматизированное устройство для тестирования микропроцессорных систем, содержащее блок имитации неисправностей, эталонный блок, блок управления, генератор случайных чисел, блок поразрядного сравнения, первый регистр, второй регистр, блок сравнения и устройство отображения информации, причем генератор случайных чисел подключен к объекту диагностирования и эталонному блоку, блок поразрядного сравнения подключен к выходам объекта диагностирования и эталонного блока, к первому и второму регистрам, блок управления подключен к первому регистру, второму регистру, блоку сравнения, блоку отображения информации, первый регистр подключен к блоку имитации неисправностей, блоку отображения информации и блоку управления, второй регистр подключен к блоку сравнения, блок сравнения подключен к первому регистру и генератору случайных чисел, блок имитации неисправностей подключен к генератору случайных чисел и эталонному блоку (RU 2109329, G06F 11/22, 1998).
Другое направление конструирования заключается в оснащении автоматизированных устройств для тестирования микропроцессорных систем контроллером конфигурации, программным задатчиком неисправного состояния одного и более функциональных элементов системы и анализатором ее состояния (WO 2005/029329, G01F 11/00, H01L 21/66, G01R 31/3185, 2005).
Известно также устройство для тестирования процессорных систем, содержащее процессор, оснащенный внешней шиной ввода-вывода передачи данных, эмулятор процессора и две идентичные процессорные системы, соединенные внутренними шинами передачи данных для обеспечения тестирования и отладки (СА 2271338, G06F 15/17; G06F 11/30, 1999).
Наиболее близким к заявляемому является автоматизированное устройство для тестирования микропроцессорных систем, включающее модуль тестирования, блоки постоянного и оперативного хранения данных, управления, обработки результатов и информации, первый и второй интерфейсы и задатчик, где первый выход задатчика связан с первым информационным входом блока обработки результатов и информации, второй выход задатчика связан с входом модуля тестирования через первый интерфейс и блок управления, второй вход блока обработки результатов и информации подключен к выходу второго интерфейса, информационный вход блока оперативного хранения данных соединен с информационным выходом модуля тестирования, а управляющий выход модуля тестирования связан с управляющими входами блоков постоянного и оперативного хранения данных (US 2007/0168735, G06F 11/00, 2007).
Однако использование известных устройств не обеспечивает возможности нахождения недокументированных элементов в тестируемых объектах.
Техническая задача предлагаемого устройства заключается в обеспечении возможности нахождения недокументированных элементов при тестировании.
Решение данной технической задачи состоит в том, что в устройство для тестирования микропроцессорных систем, включающее модуль тестирования, блоки постоянного и оперативного хранения данных, управления, обработки результатов и информации, первый и второй интерфейсы и задатчик, где первый выход задатчика связан с первым информационным входом блока обработки результатов и информации, второй выход задатчика связан с входом модуля тестирования через первый интерфейс и блок управления, второй вход блока обработки результатов и информации подключен к выходу второго интерфейса, информационный вход блока оперативного хранения данных соединен с информационным выходом модуля тестирования, а управляющий выход модуля тестирования связан с управляющими входами блоков постоянного и оперативного хранения данных, вносятся следующие изменения:
1) в качестве блока управления использован коммутатор, при этом первый информационный вход коммутатора соединен с выходом блока оперативного хранения данных, второй информационный вход коммутатора соединен с выходом блока постоянного хранения данных, третий информационный вход коммутатора соединен с выходом первого интерфейса, первый выход коммутатора соединен с входом модуля тестирования с возможностью поочередного подключения выходов блока оперативного хранения данных, блока постоянного хранения данных или первого интерфейса к входу модуля тестирования, второй выход коммутатора соединен с входом второго интерфейса с возможностью подключения выхода блока оперативного хранения данных к входу второго интерфейса;
2) управляющий выход модуля тестирования дополнительно связан с управляющими входами задатчика и блока обработки результатов и информации;
3) блок постоянного хранения информации содержит программу изменения данных регистров тестируемой микропроцессорной системы, образованной модулем тестирования, блоками управления, оперативного и постоянного хранения данных.
Блоки постоянного и оперативного хранения данных и управления могут быть внешними либо сформированы в составе тестируемой микропроцессорной системы.
Причинно-следственная связь между внесенными изменениями в конструкцию и достигнутым техническим результатом заключается в том, что реализованное таким образом новое устройство служит техническим средством осуществления задаваемой задатчиком программы целенаправленного поиска не только возможных неисправностей тестируемого объекта, но и предполагаемого подключения несанкционированных элементов, о наличии которых судят из анализа совокупности отличий заданного и фактического состояний регистров тестируемого объекта, зафиксированных блоком обработки результатов и информации. Очевидно, что качество тестирования в отношении надежности выявления недокументированных элементов зависит от программ, записанных в блоке постоянного хранения данных и задатчике.
При техническом осуществлении устройства в качестве блока управления может использоваться коммутатор, выполненный на базе микросхемы Atmega128. Однако более целесообразным является его программное выполнение с использованием выделенной для этого области модуля тестирования.
На фиг.1 приведена функциональная схема устройства. Здесь двойными стрелками обозначено прохождение информационных сигналов, а одинарными стрелками - сигналов управления.
Устройство для тестирования микропроцессорных систем включает модуль 1 тестирования, блоки 2 и 3 постоянного и оперативного хранения данных соответственно, блок 4 управления, выполненный в виде коммутатора, блок 5 обработки результатов и информации, первый и второй интерфейсы (поз.6 и 7 соответственно) и задатчик 8. Первый выход задатчика 8 связан с первым информационным входом блока 5 обработки результатов и информации; второй выход задатчика 8 связан с входом модуля 1 тестирования через первый интерфейс 6 и блок 4 управления; второй вход блока 5 обработки результатов и информации подключен к выходу второго интерфейса 7; информационный вход блока 3 оперативного хранения данных соединен с информационным выходом модуля 1 тестирования; управляющий выход модуля 1 тестирования связан с управляющими входами блоков 2 и 3 постоянного и оперативного хранения данных, соответственно. Первый информационный вход коммутатора 4 соединен с выходом блока 3 оперативного хранения данных; второй информационный вход коммутатора 4 соединен с выходом блока 2 постоянного хранения данных; третий информационный вход коммутатора 4 соединен с выходом первого интерфейса 6; первый выход коммутатора 4 соединен с входом модуля 1 тестирования с возможностью поочередного подключения выходов блока 3 оперативного хранения данных, блока 2 постоянного хранения данных или первого интерфейса 6 к входу модуля 1 тестирования; второй выход коммутатора 4 соединен с входом второго интерфейса 7 с возможностью подключения выхода блока 3 оперативного хранения данных к входу второго интерфейса 7; управляющий выход модуля 1 тестирования дополнительно связан с управляющими входами задатчика 8 и блока 5 обработки результатов и информации. Блок 2 постоянного хранения информации содержит программу изменения данных регистров тестируемой микропроцессорной системы.
Работа устройства заключается в осуществлении следующих шагов и вложенных в них циклов. Переключение вложенных циклов и команд внутри них производится по сигналу на выходе управления модуля 1 тестирования. В первом цикле производится запись программы из блока 2 постоянного хранения данных через блок 4 управления и модуль 1 тестирования в блок 3 оперативного хранения данных (команды №№1 и 2, подписанные мелким шрифтом курсивом на фиг.1). По окончании записи программы устройство переходит во второй цикл тестирования. В этом цикле задатчик 8 передает по второму выходу программу первого шага тестирования через первый интерфейс 6 и блок управления 4 (команда №3) в модуль 1 тестирования. Производится запись содержимого соответствующих регистров управления модуля 1 тестирования (команда №4), причем состояние всех регистров модуля 1 тестирования передается на хранение в блок 3. В третьем цикле в соответствии с управляющей командой №5 модуля 1 тестирования сохраненные в блоке 3 данные передаются через блок 4 управления и второй интерфейс 7 в блок 5 обработки результатов и информации, в котором производится сравнение полученных значений с образцовыми, переданными с первого выхода задатчика 8. Результат сравнения записывается в протокол тестирования и запоминается блоком 5. Далее циклы работы повторяются.
Испытания предлагаемого устройства для тестирования микропроцессорных систем подтвердили возможность выявления с его помощью несанкционированных подключений следующих элементов и узлов: блокировки записи данных; имитации "зависания"; недокументированного хранения данных; недокументированных регистров управления микропроцессорной системой; "секретных" битов для ограниченного доступа к памяти программ и данных; несанкционированной передачи данных. Кроме того, использование устройства позволило выявить следующие дефекты и неисправности тестируемых объектов: блокировки работы ЧИПа или его отдельных узлов; снятия защиты памяти от считывания; изменения во времени (в том числе циклического) характеристик микросхем с выходом за пределы, указанные в технической документации.