'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 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 тестовая программа задача – автоматически осуществить отображение :


Слайд 5

Модель устройства MMU k – ключ, d – данные «hit» hitT (k) hitlT (k) : d hitsT (k, d) «miss» missT (k) missrT (k, d) «таблица»


Слайд 6

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


Слайд 7

Модель варианта инструкции нотация: отдельный «путь выполнения» инструкции утверждения и hit/miss битовые строки и таблицы источники условий: какие входные значения допустимы как вычислить адреса какие попадания /промахи происходят в блоках что загружается / сохраняется в блоках при каких условиях возникают исключительные ситуации LOAD (y,x,c) «промах в L1» [var y:64; var x:64; const c:16;] phys <- x + (64)c; assume: phys[1:0]=0^2 miss<L1>(phys) {replace(y)}; hit<Mem>(phys) {load(y)};


Слайд 8

LRU на «перестановках» A B C D E F C A B D E F X A B C D E hit C miss X


Слайд 9

Формулы полезных обращений для LRU: ux(xi) = ( x?{xi,…,xn} ? xi?{xi+1,…,xn} ) для LRU: ux(xi) = ( x?{xk,…,xi} ? ?j=1..i-1 (x?{xj,…,xi-1} V xj?xi) )


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


×

HTML:





Ссылка: