Методы генерации тестовых программ для микропроцессоров

Преподаватели: А.С. Камкин, А.Д. Татарников

Курс предназначен для студентов старших курсов, специализирующихся в области проектирования и верификации микропроцессоров. Цели курса — познакомить слушателей с методами спецификации микропроцессоров и методами генерации тестовых программ, а также выработать соответствующие практические навыки. Основу курса составляют практичекие занятия, посвященные спецификации инструкций и созданию автоматизированных генераторов тестовых программ для MIPS-совместимого микропроцессора. Практикум основан на языке спецификации nML (Sim-nML) и инструменте создания генераторов тестовых программ MicroTESK.

Требования к слушателям: знание принципов организации микропроцессоров, умение программировать на языке ассемблера и языках высокого уровня (приветствуется знание скриптовых языков).

Структура курса

  1. Введение. Проектирование микропроцессоров.
  2. Введение. Верификация микропроцессоров.
  3. Введение. Основы архитектуры MIPS.
  4. Ручное тестирование. Арифметические инструкции.
  5. Ручное тестирование. Инструкции работы с памятью.
  6. Ручное тестирование. Инструкции ветвления.
  7. Автоматизация тестирования. Скриптовые генераторы.
  8. Автоматизация тестирования. Генерация на основе спецификаций.
  9. Спецификация микропроцессора. Введение в nML.
  10. Спецификация микропроцессора. Описание инструкций MIPS.
  11. Спецификация микропроцессора. Описание иерархии памяти.
  12. Генерация тестовых программ. Разработка тестовых шаблонов.
  13. Генерация тестовых программ. Описание тестовых ситуаций.
  14. Генерация тестовых программ. Создание специализированных генераторов.
  15. Дополнительный материал. Описание конвейеров.
  16. Дополнительный материал. Тестирование конвейеров.

Материалы

  1. Слайды к лекциям.

Литература

  1. Д. Паттерсон, Дж. Хеннесси. Архитектура компьютера и проектирование компьютерных систем. Питер, 2012, 784 стр.
  2. MIPS64® Architecture for Programmers Volume I-IV: Introduction to the MIPS64™ Architecture.
  3. Eds. P. Mishra, N. Dutt. Processor Description Languages, Volume 1. Morgan Kauffman, 2008, 432 pp.
  4. M. Freericks. nML Machine Description Formalism. Technischer Bericht 1991-15, Technische Universität Berlin, FB 20, Berlin, 1991.

Инструменты

  1. MicroTESK (Microprocessor TEsting and Specification Kit) — http://forge.ispras.ru/projects/microtesk.
  2. MARS (MIPS Assembler and Runtime Simulator) — http://courses.missouristate.edu/KenVollmar/MARS.
  3. SPIM MIPS Simulator — http://sourceforge.net/projects/spimsimulator.