Разработка и исследование функциональных диагностических тестов конвейеризованных RISC процессоров тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат технических наук Белкин, Виктор Викторович
- Специальность ВАК РФ05.13.15
- Количество страниц 129
Оглавление диссертации кандидат технических наук Белкин, Виктор Викторович
ОГЛАВЛЕНИЕ.
СПИСОК ТЕРМИНОВ И СОКРАЩЕНИЙ.
ВВЕДЕНИЕ.
ГЛАВА 1. ВЫБОР МЕТОДИКИ ТЕСТОВОГО
ДИАГНОСТИРОВАНИЯ ПРОЦЕССОРОВ.
1.1 Основные определения.
1.2 Тестовое диагностирование процессоров в системах на кристалле.
1.3 Архитектура и тестовое диагностирование реконфигурируемых систем.
1.4 Методы тестового диагностирования процессоров.
1.5 Оценка существующих методик программного тестового диагностирования.
ГЛАВА 2. МЕТОДИКА ФУНКЦИОНАЛЬНОГО ТЕСТОВОГО
ДИАГНОСТИРОВАНИЯ ПРОЦЕССОРОВ.
2.1 Архитектура системы команд процессоров.
2.2 Методика функционального тестового диагностирования механизмов передачи и обработки данных.
2.2.1 Функциональная декомпозиция процессора.
2.2.2 Механизм хранения и передачи данных.
2.2.3 Механизмы обработки данных.
2.3 Методика функционального тестового диагностирования механизмов управления.
2.3.1 Функциональная декомпозиция механизмов управления.
2.3.2 Механизм управления передачей данных.
2.3.3 Механизм управления обработкой данных.
2.3.4 Механизм управления выполнением команд.
ГЛАВА 3. РАЗРАБОТКА ФУНКЦИОНАЛЬНЫХ ТЕСТОВ
МИКРОПРОЦЕССОРОВ.
3.1 Особенности архитектур диагностируемых процессоров
3.2 Разработка тестов механизмов хранения и передачи данных.
3.3 Разработка тестов механизмов обработки данных.
3.4 Разработка тестов механизмов управления.
ГЛАВА 4. ОЦЕНКА ЭФФЕКТИВНОСТИ ФУНКЦИОНАЛЬНЫХ
ТЕСТОВ СРЕДСТВАМИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ.
4.1 Эффективность функциональных тестов.
4.2 Принципы работы программного испытательного стенда
4.3 Разработка испытательного стенда с использованием совместной работы двух программ-имитаторов.
4.3.1 Постановка задачи.
4.3.2 Обоснование схемы совместной работы программ-имитаторов
4.3.3 Оценка качества теста моделированием константных неисправностей.
4.3.4 Схема испытательного стенда.
4.4 Оценка эффективности функциональных диагностических тестов на моделях процессоров.
ГЛАВА 5. ФУНКЦИОНАЛЬНОЕ ТЕСТОВОЕ
ДИАГНОСТИРОВАНИЕ МЕХАНИЗМОВ ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ КОНВЕЙЕРИЗОВАННЫХ RISC ПРОЦЕССОРОВ.
5.1 Функциональная декомпозиция архитектуры.
5.2 Принцип тестового диагностирования механизмов процессора с параллелизмом уровня системы команд.
5.3 Особенности конвейерной архитектуры, существенные для разработки тестов.
5.4 Общая функциональная модель механизма и модель неисправности.
5.5 Тестовое диагностирование механизма, управляемого полями команд.
5.6 Тестовое диагностирование механизма управляемого зависимостями по данным.
5.7 Оценка эффективности функциональных тестов на модели
Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Функциональное тестирование управляющего оборудования RISC-микропроцессоров, применительно к архитектуре SPARC V92002 год, кандидат технических наук Кузнецов, Олег Юрьевич
Методы и аппаратно-программные средства функционального тестирования СБИС микроконтроллеров при проведении радиационных испытаний на дозовые воздействия2009 год, кандидат технических наук Лебедев, Алексей Викторович
Вычислительные устройства с параллельной и изменяемой архитектурой для задач обработки изображения2002 год, кандидат технических наук Аряшев, Сергей Иванович
Исследование и разработка конвейера команд процессора с архитектурой явного использования параллелизма команд2001 год, кандидат технических наук Столярский, Евгений Зиновьевич
Диагностика параллельных магистралей и памяти бортовых ЦВМ2012 год, кандидат технических наук Выборнов, Петр Владимирович
Введение диссертации (часть автореферата) на тему «Разработка и исследование функциональных диагностических тестов конвейеризованных RISC процессоров»
Актуальность темы. Публикация первых работ, [16, 20] и др., в которых представлен функциональный, основанный на выполнении тестовых программ подход к тестовому диагностированию процессоров, относится к началу 80-х годов 20-го века. В 90-е годы развитие этого подхода привело к разработке методик, [4, 32] и др., основанных на функциональных моделях и использующих особенности архитектуры процессоров, а так же к появлению автоматизированных методик разработки тестов [22, 37], в которых наряду с использованием функциональных моделей применяется рандомизация. В последние годы разработаны автоматизированные методики [27, 28, 38, 39], характеризующиеся отказом от функциональных моделей и использующие точные регистровые и вентильные модели.
Разнообразие прикладных вычислительных задач, растущий спрос на электронные вычислительные средства и прогресс в технологии производства полупроводников вызвали потребность в массовом производстве и гибком конфигурировании этих средств. Универсальные и специализированные процессоры являются неотъемлемой частью современной электронной аппаратуры. Сегодня процессорные модули обычно интегрированы в состав систем на кристалле, которые могут включать один или несколько модулей универсальных и специализированных процессоров. Как правило, архитектуры современных универсальных процессоров наследуют архитектуру RISC и конвейеризованы. Более того, развитие других архитектур часто идет по пути использования принципов RISC на уровне микроархитектуры. Проектирование современных процессоров и систем на кристалле требует значительных затрат времени и других ресурсов, поэтому в проектируемых системах часто используются готовые функциональные модули, разработанные ранее для других систем.
Новые задачи стоят сегодня перед разработчиками систем тестового диагностирования цифровой аппаратуры и тестов. Невозможность диагностирования модуля отдельно от системы и ограниченное количество внешних тестовых контактов в системе вызвали потребность в использовании встроенной тестовой аппаратуры и принципов самодиагностики. Широкое применение процессоров и специфика их разработки, производства и применения позволили выделить их в отдельный подкласс цифровых объектов диагностирования. Для их тестового диагностирования признано целесообразным использование специальных тестовых программ. Потребность в сокращении временных затрат на проектирование, реконфигурировании аппаратуры и использовании в новых системах готовых модулей вызвала необходимость начала разработки теста и тестового оборудования, когда точная логическая вентильная схема процессора еще неизвестна.
В связи с этим, для тестового диагностирования современных процессоров возрастает актуальность функциональных методов. Функциональные тесты можно эффективно применить для самодиагностики процессорных модулей в составе систем на кристалле. Выполнение тестовых программ проводится на рабочей частоте, поэтому занимает мало времени. Для разработки тестовой программы может быть необязательным знание точной логической схемы всего процессора, поэтому тест может разрабатываться параллельно с самим процессором. Функциональные тесты, полученные на основе архитектуры процессора, наряду с формальными методами могут применяться для верификации его проекта.
Актуальность настоящего исследования вызвана потребностью в разработке и внедрении методик функционального тестового диагностирования конвейеризованных RISC процессоров, использующих архитектуру системы команд как исходные данные. Исследование развивает методики разработки тестов последовательных процессоров, основанные на- функциональных моделях и использующие особенности их архитектуры, применяя их для тестового диагностирования конвейеризованных RISC процессоров.
Объект исследования диссертационной работы — универсальный процессор, принципы его разработки и методы его технической диагностики с использованием методов моделирования цифровых систем.
Цель работы. Целью диссертационной работы является разработка методики тестового диагностирования конвейеризованных универсальных RISC процессоров, основанной на функциональном подходе к разработке тестов. Требованиями к методике являются: возможность ее реализации как автоматизированного процесса разработки тестовых программ; использование архитектуры системы команд как основных исходных данных для разработки тестов.
Основные задачи работы:
- анализ существующих методик функционального диагностирования;
- разработка математических моделей и процедур функционального диагностирования конвейеризованных RISC процессоров;
- разработка процесса генерирования диагностических тестов;
- оценка качества разработанных тестов как покрытия одиночных константных неисправностей вентильных моделей процессоров средствами имитационного моделирования;
Методы исследований. Для решения поставленных задач в работе использованы методы теорий множеств, графов, булевых функций и конечных автоматов.
Научная новизна заключается в следующих результатах работы:
- Предложена методика функциональной декомпозиции процессоров с параллелизмом уровня системы команд для их тестового диагностирования;
- Предложены функциональные модели и процедуры генерирования тестов механизмов хранения и передачи данных конвейеризованных RISC процессоров;
- Предложен принцип взаимодействия функционально дополняющих друг друга программ-имитаторов. По этому принципу разработан прототип испытательного стенда, на котором оценено качество тестов. Практическая ценность работы заключается в разработке моделей, алгоритмов и процедур, являющихся основой процесса генерирования функциональных диагностических тестов конвейеризованных RISC процессоров и разработке программного испытательного стенда для оценки качества этих тестов:
- Предложены функциональные модели и разработаны процедуры тестового диагностирования механизмов хранения и передачи данных конвейеризованных RISC процессоров;
- Предложена и экспериментально подтверждена методика разработки тестов механизма обработки данных;
- Разработана схема программного испытательного стенда, позволяющего оценивать качество функциональных тестов с использованием дополняющих друг друга функционально программ-имитаторов. Результаты работы внедрены в ГОУ ВПО «Дальневосточный государственный технический университет».
Основные положения, выносимые на защиту:
- Методика функциональной декомпозиции процессоров с параллелизмом уровня системы команд для их тестового диагностирования;
- Функциональные модели и процедуры тестового диагностирования механизмов хранения и передачи данных конвейеризованных RISC процессоров;
- Принцип взаимодействия дополняющих друг друга функционально программ-имитаторов; схема испытательного стенда для определения качества функциональных диагностических тестов;
- Результаты оценки качества разработанных в соответствии с методикой функциональных тестов;
Достоверность научных положений подтверждена теоретическим обоснованием разработанных моделей и методов и данными экспериментов.
Апробация результатов работы. Основные положения и результаты работы представлялись и обсуждались на научной конференции ДВГТУ (г. Владивосток, 2004 г.), на III всероссийской научно-практической конференции студентов МСИТ (г. Томск, 2005 г.), на четырех международных семинарах под патронажем IEEE - EWDTW, DDECS (г. Алушта, 2004 г., г. Одесса, 2005 г., г. Прага, 2006 г., г. Сочи, 2006 г.), на международном симпозиуме под патронажем IEEE — EWDTS (г. Ереван, 2007 г.).
По результатам работы реализован экспериментальный прототип программного испытательного стенда и оценена эффективность разработанного подхода к тестовому диагностированию конвейеризованных RISC процессоров.
Публикации по теме диссертации. Основные результаты и положения диссертации изложены в 2 статьях в научных изданиях, в том числе в 1 статье в рецензируемом журнале из списка, рекомендованного ВАК, в 6 сборниках трудов конференций, в 1 тезисах конференции. Всего опубликовано 9 печатных работ [12, 13, 21, 23,24, 25, 35, 36].
Работа организована следующим образом:
- В первой главе по материалам журнала «Автоматика и телемеханика» и трудам конференций по технической диагностике (ITC, DAC, VTS и др.) проведена оценка требований к разрабатываемой методике тестового диагностирования процессоров и существующих методик диагностирования.
- Во второй главе представлен подход к тестовому диагностированию процессоров RISC архитектуры с использованием функциональных моделей.
- В третьей главе рассматривается процесс разработки функциональных тестов процессоров с использованием методики, представленной во второй главе, проводится анализ этой методики.
- В четвертой главе представлена экспериментальная оценка эффективности разработанных тестов на моделях процессоров, представлена и обоснована схема программного испытательного стенда. Эффективность рассматривается как совокупность двух показателей — длины тестовой программы (число ее команд) й качества теста.
- В пятой главе представлена методика тестового диагностирования механизма хранения и передачи данных конвейеризованных RISC процессоров. Методика разработана в соответствии с предложенным подходом к диагностированию механизмов процессора с параллелизмом уровня системы команд (конвейеризованный или суперскалярный процессор).
Основное содержание диссертации изложено на 105 страницах и включает 25 рисунков и 9 таблиц. 11 приложений на 24 страницах включают 3 рисунка и 13 таблиц. Список литературы включает 44 наименования.
Похожие диссертационные работы по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Исследование, разработка и применение ассоциативной памяти для организации параллельных вычислительных процессов в системе с автоматическим распределением ресурсов2005 год, кандидат технических наук Чумаченко, Георгий Олегович
Аппаратно-программные средства управления задачами и организация виртуальной памяти в системе с автоматическим распределением ресурсов2005 год, кандидат технических наук Окунев, Анатолий Семенович
Автоматизация конструирования генераторов тестовых программ для микропроцессоров на основе формальных спецификаций2017 год, кандидат наук Татарников Андрей Дмитриевич
Разработка и исследование методов синтеза импульсных тестов для автоматизации проверки КМОП СБИС на этапах изготовления и эксплуатации телекоммуникационного оборудования2000 год, кандидат технических наук Фрейман, Владимир Исаакович
Разработка системы ускоренного моделирования на базе специализированного аппаратного ускорителя1999 год, кандидат технических наук Кононыхина, Наталья Алексеевна
Заключение диссертации по теме «Вычислительные машины и системы», Белкин, Виктор Викторович
Выводы по работе:
- Методика тестового диагностирования, основанная на функциональном подходе к разработке тестов, позволяет разрабатывать достаточно эффективные тесты конвейеризованных RISC процессоров, основываясь на системе команд как основных исходных данных для разработки тестов.
- Методика позволяет разработать на ее основе автоматизированный процесс генерирования тестов, поскольку содержательное описание всех используемых процедур достаточно определено, хорошо структурировано и не содержит противоречий.
- Разработанные по методике функциональные тесты могут с успехом применяться для задач верификации уже на этапе проектирования процессоров, что показано в ходе разработки испытательного стенда.
- Тесты механизмов хранения и передачи данных и обработки данных обнаруживают большинство возможных дефектов процессора. По результатам выполнения тестов этих механизмов можно с достаточной степенью достоверности судить о техническом состоянии процессора.
ЗАКЛЮЧЕНИЕ
Список литературы диссертационного исследования кандидат технических наук Белкин, Виктор Викторович, 2008 год
1. Нормативные документы
2. Техническая диагностика Термины и определения: ГОСТ 20911-89. Утв. и введ. Пост. гос. ком. по управл. кач. прод. и ст. от 26.12.89 № 4143.
3. AMBA Specification, Rev. 2.0. ARM Ltd., www.arm.com, 1999. - 230 p.
4. IEEE P1500. -http://grouper.ieee.org/groups/P1500/1. Книги
5. Чипулис В.П., Шаршунов С.Г. Анализ и построение тестов цифровых программно-управляемых устройств. — М.: Энергоатомиздат, 1992. — 224 с.
6. Яблонский С.В. Введение в дискретную математику: Учеб. Пособие для вузов. М.: Высш. Шк., 2002. - 384 с.
7. Abramovici М., Breuer М.А., Friedman A.D. Digital Systems Testing and Testable Design. New York: IEEE Press, 1995. - 652 p.
8. Ashenden P.J. The VHDL Cookbook (first edition). Adelaide: Dept. Computer Science, University of Adelaide, 1990. - 107 p.
9. Borger E., Stark R. Abstract State Machines: A Method for High-Level System Design and Analysis. Berlin: Springer-Verlag, 2003. - 438 p.
10. Hennessy J.L., Patterson D.A. Computer Architecture: A Quantitative Approach (second edition). — San Francisco: Morgan Kaufmann Publishers, 1996. 785 p.
11. Белкин В.В. Использование средств автоматизации проектирования для разработки функциональных тестов микропроцессоров // Труды ДВГТУ. — Владивосток, 2005. Вып. 140. - С. 81-90.
12. Белкин В.В., Шаршунов С.Г. Разработка функциональных тестов конвейеризованных процессоров на основе высокоуровневых моделей // Приборы и системы. Управление, контроль, диагностика. — 2007. — №4. — С 22-27.
13. Шаршунов С.Г. Разработка функциональных тестов RISC микропроцессоров // Автоматика и телемеханика. 2004. - № 11. - С. 174-183.
14. Berezin S. Verification of Out-Of-Order Processor Designs Using Model Checking and a Light-Weight Completion Function / Berezin S., Clarke E., Biere A., Zhu Y. // Formal Methods in System Design. 2002. - V. 20. - P. 159-186.
15. Brahme D., Abraham J.A. Functional Testing of Microprocessors // IEEE Trans, on Computers. 1984.-Vol. C-33(6).-P. 475-485.
16. Butel P. Managing Partial Dynamic Reconfiguration in Virtex-II Pro FPGAs // Xcell Journal. Xilinx, Inc., Fall 2004. - Issue 50. - P. 32-37.
17. S.Maxwell P.C., Aitken R.C. Test Sets and Reject Rates: All Fault Coverages Are Not Created Equal // IEEE Design & Test of Computers. March 1993. - V. 10. Issue l.-P. 42-51.
18. Roelandts W. Focusing on Programmable Technologies // Xcell Journal. Xilinx, Inc., Winter 2004. - Issue 51. - P. 6-16.
19. Thatte S.M., Abraham J.A. Test Generation for Microprocessors // IEEE Trans, on Computers. 1980. -V. C-29(6). - P. 429-441.1. Материалы конференций
20. Белкин B.B., Шаршунов С.Г. Функциональное тестирование микропроцессора: пример // Сб. трудов III всеросс. конф. Молодежь и совр. информ. технол. — Томск, 2005. С. 264-265.
21. Batcher К., Papachristou С. Instruction Randomization Self Test for Processor Cores //Proc. IEEE VLSI Test Symposium (VTS). 1999. - P. 34-40.
22. Belkin V., Sharshunov S. Functional Partition Based Testing of Current Microprocessors // Proc. IEEE East-West Design & Test Symposium (EWDTS). -2007.-P. 57-62.
23. Belkin V., Sharshunov S. High Level Models Based Functional Testing of Pipelined Processors // Proc. IEEE East-West Design & Test Workshop (EWDTW). 2006. - P. 76-81.
24. Belkin V.Y., Sharshunov S.G. ISA Based Functional Test Generation with Application to Self-Test of RISC Processors // Proc. IEEE Design Diagnostics of Electronic Circuits & Systems (DDECS). 2006. - P. 75-76.
25. Chen L., Dey S. DEFUSE: A Deterministic Functional Self-Test Methodology for Processors // Proc. IEEE VLSI Test Symposium. (VTS). 2000. - P. 255-262.
26. Chen L. A Scalable Software-Based Self-Test Methodology for Programmable Processors / Chen L., Ravi S., Ranghunathan A., Dey S. // Proc. ACM/IEEE Design Automation Conf. (DAC). 2003. - P. 548-553.
27. Corno F. Fully Automatic Test Program Generation for Microprocessor Cores / Corno F., Gumani G., Sonza Reorda M., Squillero G. // Proc. IEEE/ACM Design Automation & Test in Europe Conf. (DATE). 2003. - V. 1. - P. 11006-11011.
28. Kranitis N. Low-Cost Software-Based Self-Testing of RISC Processor Cores / Kranitis N., Xenoulis G., Gizopoulos D., Paschalis A., Zorian Y. // Proc. IEEE/ACM Design Automation & Test in Europe Conf. (DATE). 2003. - Vol. l.-P. 10714-10719.
29. Lee J., Patel J.H. An Instruction Sequence Assembling Methodology for Testing Microprocessors // Proc. IEEE Intl Test Conf (ITC). 1992. - P. 49-58.
30. Marinissen E.J., Zorian Y. System Chip Test: How Will It Impact Your Design? // Proc. ACM/IEEE Design Automation Conf. (DAC). 2000. - P. 136-141.
31. Mishra P., Dutt N. Graph-based Functional Test Program Generation for Pipelined Processors // Proc. ACM/IEEE Design Automation Conf. (DAC). 2004. - P. 182-187.
32. Sharshunov S.G., Belkin V.V. Functional Testing of Microprocessors: Case Study // Proc. IEEE East-West Design & Test Workshop (EWDTW). 2004. P. - 135141.
33. Sharshunov S.G., Belkin V.V., Rudnitskaya V.P. Detecting Malfunctions of Current Processor Control Hardware // Proc. IEEE East-West Design & Test Workshop (EWDTW). 2005. - P.169-174.
34. Shen J., Abraham J.A. Native Mode Functional Test Generation for Processors with Applications to Self Test and Design Validation // Proc. IEEE Intl Test Conf. (ITC). — 1998. — P. 990-999.
35. Tupuri R., Abraham J.A. A Novel Functional Test Generation Method for Processors using Commercial ATPG // Proc. IEEE Intl Test Conf. (ITC). 1997. -P. 743-752.
36. Vedula V.M., Abraham J.A. FACTOR: A Hierarchical Methodology for Functional Test Generation and Testability Analysis // Proc. IEEE/ACM Design Automation & Test in Europe Conf. (DATE). 2002. - P. 730-735.
37. Modelsim SE User's Manual, V5.7. / Model Technology. Wilsonville, OR, 2003.-621 p.1. Интернет ссылки43.www.altera.com44.www. xilinx.com
38. Формальная модель зависимости графа регистровых передач от порядка устранения узлов в графе-модели
39. Модель операции исключения в случае, например, когда d+(w) = d"(w) = n: Vuh v;er(w): (VjRw & wRuj) =5- (VjRuj), i = 1, . n, где T(w) множество смежности узла w. Рассмотрим пример:
40. При использовании дополненных правил исключения функциональных узлов (раздел 3.2) все регистры (не исключаемые узлы) ГРП, полученного в результате операции исключения узлов, останутся соединенными путями с вершинами IN и OUT.1. Доказательство:
41. Все правила действуют одновременно и для всех исключаемых узлов, следовательно свойство 4 для ГРП выполняется. Теорема доказана.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.