Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин кафедра СП научный руководитель: д.ф.-м.н. А. К.

Презентация:



Advertisements
Похожие презентации
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин кафедра СП ВМК МГУ научный руководитель: д.ф.-м.н.
Advertisements

Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин ИСП РАН / кафедра СП ВМК МГУ научный руководитель:
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин научный руководитель: д.ф.-м.н. А.К.Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин ИСП РАН / кафедра СП ВМК МГУ научный руководитель:
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин научный руководитель: д.ф.-м.н. А.К.Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин научный руководитель: д.ф.-м.н. А.К.Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин научный руководитель: д.ф.-м.н. А.К.Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин научный руководитель: д.ф.-м.н. А.К.Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Корныхин Евгений Валерьевич научный руководитель: д.ф.-м.н. Петренко.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин науч.рук-ль: проф. А.К.Петренко.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Исследование методов генерации программ для тестирования модулей управления памяти микропроцессоров Корныхин Евгений.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Исследование и разработка методов построения тестовых программ для тестирования MMU.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин науч.рук-ль: проф. А.К.Петренко.
Исследование и разработка методов генерации тестовых программ для проверки модулей управления памяти микропроцессоров Корныхин Евгений науч.рук-ль: проф.каф.СП,
Инструменты генерации тестовых данных для функционального тестирования микропроцессоров и интерфейсов программных систем д.ф.-м.н., проф.каф.СП Александр.
Транксрипт:

Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин кафедра СП научный руководитель: д.ф.-м.н. А. К. Петренко

Содержание 1. основные определения 2. постановка задачи построения тестовых программ 3. ее решение, возникавшие важные подзадачи 4. теоремы (обоснование решения)

Схема кэш-памяти

Схема таблицы страниц

Шаблон и программа DIV x, y, z « деление на 0 » LOAD y, x, c «промах в L1» потенциально ошибочная ситуация в виде тестового шаблона MOV x,0 MOV y,0 STORE y,x,3 STORE y,x,9 STORE y,x,7 STORE y,x,5 MOV z,0 DIV x,y,z LOAD y,x,1 тестовая программа задача – автоматически осуществить отображение :

Модель устройства MMU k – ключ, d – данные «hit» hit T (k) hitl T (k) : d hits T (k, d) «miss» miss T (k) missr T (k, d) «таблица»

Нотация модели устройства пример: L1 { policy = LRU; lines = 4; regbits = 7; key(tag:24); data(d:32); keyMatch(k:30) { k[29:6] = tag }; } 7

Модель варианта инструкции нотация: отдельный «путь выполнения» инструкции утверждения и hit/miss битовые строки и таблицы источники условий: какие входные значения допустимы как вычислить адреса какие попадания /промахи происходят в блоках что загружается / сохраняется в блоках при каких условиях возникают исключительные ситуации LOAD (y,x,c) «промах в L1» [var y:64; var x:64; const c:16;] phys

LRU на «перестановках» ABCDEF CABDEF XABCDE hit C miss X

Формулы полезных обращений для LRU: u x (x i ) = ( x{x i,…,x n } Λ x i{x i+1,…,x n } ) для LRU: u x (x i ) = ( x{x k,…,x i } Λ Λ j=1..i-1 (x{x j,…,x i-1 } V x j x i ) )

Схема генерации тестов ситуация (шаблон программы) модель варианта инструкции 1... модель устройства формализовать микропроцессор система уравнений (constraints) начальные значения регистров инициализ-я устройства 1... тестовая программа 2. построение уравнений 3. решение уравнений 4. составление текста тестовой программы ручная работа автоматизированная 11 DIV x, y, z « деление на 0 » LOAD y, x, c «промах в L1»

«Теорема корректности» если построенная система предикатов, для шаблона, будет совместной, то тестовая программа на основе ее «решения» будет удовлетворять шаблону

«Теорема полноты» если для шаблона существует тестовая программа, то будет построена система предикатов, среди «решений» которой есть соответствующее этой программе если построенная система предикатов несовместна, то (действительно) данному шаблону не соответствует ни одна тестовая программа

Эксперименты увеличение допустимого размера шаблонов (было 2-3, стало 9-12) среднее время построения одного теста – 1-30с.