Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин кафедра СП ВМК МГУ научный руководитель: д.ф.-м.н. А. К. Петренко
Содержание 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
Модели вариантов инструкций возможности языка описания
Полезные обращения для 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 ) )
«Теорема корректности»
«Теорема полноты»
Эксперименты увеличение допустимого размера шаблонов (было 2-3, стало 9-12) среднее время построения одного теста – 1-30с.