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

Содержание

Евгений Корныхин Верификация моделей аппаратного обеспечения 70% общих усилий, 80% общего объема кода имитационное тестирование моделей – компрописс между ценой и качеством верификации моделей имитационное тестирование на системном уровне – системное

Слайд 1Исследование и разработка методов генерации тестовых программ для проверки модулей управления

памяти микропроцессоров



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

(по материалам диссертации)


Слайд 2Евгений Корныхин
Верификация моделей аппаратного обеспечения
70% общих усилий, 80% общего объема кода
имитационное

тестирование моделей – компрописс между ценой и качеством верификации моделей
имитационное тестирование на системном уровне – системное тестирование

Слайд 3Евгений Корныхин
Системное тестирование микропроцессоров
тестовая система
модель CPU
машинная программа
протокол исполнения


Слайд 4Евгений Корныхин
Методы автоматической генерации программ
случайная генерация
целенап- равленная генерация
(constraints)
коммерческие инструменты (Genesys-Pro, RAVEN)
сложность генерации
разнообразие произошедших ситуаций


Слайд 5Евгений Корныхин

Методы автоматической генерации программ
случайная генерация
целенап- равленная генерация
(constraints)
RAVEN
сложность генерации
разнообразие произошедших ситуаций



Genesys-Pro


Слайд 6Евгений Корныхин
Основанная на моделях генерация программ


модели
генератор

тестовая программа


шаблон программы


Слайд 7Евгений Корныхин
Основанная на моделях генерация программ

тестовая программа

шаблон программы

1. экспертный этап
2. механический этап


Слайд 8Евгений Корныхин
Основанная на моделях генерация программ


модели
генератор

тестовая программа

шаблон программы



Слайд 9Евгений Корныхин
Тестовый шаблон
что такое программа, соответствующая шаблону (с инициализирующей частью)


Слайд 10Евгений Корныхин
Модели
модель инструкции
модель MMU
начальное состояние микропроцессора


Слайд 11Евгений Корныхин
Модель инструкции
ветви функциональности и дополнительные ситуации
последовательность операторов типа assert, присваивания

и процедур-обращений к MMU

Слайд 12Евгений Корныхин
Модель MMU
процедуры: трансляция адресов, загрузка из памяти через кэш
построение ограничений

для последовательности процедур (основная часть диссертации)

Слайд 13Евгений Корныхин
. . . LOAD x, y, c @ tlbHit . . .
Модели
(=

v (+ y c))



t1

структурная модель MMU

генерация ограничений


LOAD x, y, c:
v ? y + c; AddrTr(v,p); . . .


tlbHit(t, ts) { «(or » (t1:ts)«(= t t1)» «)» }

(= t (extract[30:10] v)) (or (= t t1) (= t t2))

tlb

шаблон программы

модель MMU

модель инструкции

ограничения

ограничения

v = 145 y = 52 . . .





значения параметров шаблона




Слайд 14Евгений Корныхин
Ядро генератора
шаблон
инструкция1
инструкция2
инструкцияn
оператор1
оператор2
операторN








оператор1
оператор2
операторN1

последовательность операторов- не процедур
последовательность операторов-процедур
оператор1
оператор2
операторN2


тестовый шаблон

модели инструкций
ограничения

модель MMU


Слайд 15Евгений Корныхин
Модель инструкции
процедура – шаг исполнения инструкции, являющийся неделимым обращением к

MMU

LOADWORD x, y, c: vAddr ? y + c; vAddr[1:0] = 0;
AddrTrans(vAddr, pAddr); pAddr ? pAddr[35:3] || (pAddr[2:0] + 4); LoadMem(pAddr, memdw); x ? memdw[vAddr[2:0]:0];


Слайд 16Евгений Корныхин
Модель инструкции
LOADWORD x, y, c: vAddr ? y + c; vAddr[1:0] =

0;
AddrTrans(vAddr, pAddr); pAddr ? pAddr[35:3] || (pAddr[2:0] + 4); LoadMem(pAddr, memdw); x ? memdw[vAddr[2:0]:0];


процедура – шаг исполнения инструкции, являющийся неделимым обращением к MMU


Слайд 17Евгений Корныхин
Структурная модель MMU
связный набор ассоциативных буферов и таблиц
модель таблицы –

множество (тег, данные) и, возможно, доп.данные
обращением является запрос данных по некоторому тегу
ассоциативный буфер – подмножество таблицы, состояние которого изменяется автоматически при каждом обращении

Слайд 18Евгений Корныхин
Структурная модель MMU
связный набор ассоциативных буферов и таблиц



ассоциативный буфер
таблица
тег ? данные
тег

? данные

Слайд 19Евгений Корныхин
Успешность обращений
Обращение в буфер по заданному тегу является (не)успешное, если

этот тег в нем (не) присутствует
«hit x» («попадание») - успешное обращение по тегу «х»
«miss х» («промах») - неуспешное обращение по тегу «х»
шаблон полный, если для каждой процедуры в последовательности операторов известна успешность обращений к ассоц.буферам и таблицам

Слайд 20Евгений Корныхин
Ограничения для последовательности обращений

буфер
hit/miss x1
hit/miss x2
hit/miss xn

P1(t1,…,tm, x1)
P2(t1,…,tm, x1, x2)
Pn(t1,…,tm,

x1, …, xn-1, xn)




Слайд 21Евгений Корныхин
Ограничения для обращений в буферы
hit(xi) : xi ∈ Li
miss(xi) :

xi ∉ Li
Li = φ(L0, x1,…, xi-1)

как записать φ ?
как уменьшить размер L0 ?

Слайд 22Евгений Корныхин
«Совместная» эвристика: уменьшать множества констант

x
f(x)
T
L
x∈T
f(x)∈L
? x∈T’

x∈T∩T’
f(x)∈L[T’]





Слайд 23Евгений Корныхин
«Зеркальная» эвристика: избавиться от множеств констант
hit/miss y1
hit/miss y2
… hit/miss yk
hit

x



«х» встречался раньше и (не) был вытеснен

x∈{y1,…,yk}

hit/miss y1
hit/miss y2
… hit/miss yk
miss x

x∈{y1,…,yk}


Слайд 24Евгений Корныхин
Описание стратегий вытеснения в виде ограничений
функция вытеснения
«полезная» инструкция, функция полезности
тег

еще не вытеснен ⇔ количество полезных инструкций ≤ константа

пример (LRU):
u(xi) = xi∈{λp+1,…,λw} Λ xi∉{x1,…,xi-1}
… \/λp∈L0 (x=λp Λ Σu(xi) ≤ w-p)

Слайд 25Евгений Корныхин
Коммерческие аналоги (новизна)
тоже основанный на моделях подход, но:
не известно существование

технологичного подхода к тестированию MMU
трудоемкая подготовка решателя ограничений для новой архитектуры микропроцессора

Слайд 26Евгений Корныхин
Апробация
Z3 2,29 ГГц 800 МБ MIPS64


Слайд 27Евгений Корныхин
Апробация: время генерации программ
Z3 2,29 ГГц 800 МБ MIPS64


Слайд 28Евгений Корныхин
Апробация: структурные модели MMU
MIPS
Alpha
P6
PowerPC


Слайд 29Евгений Корныхин
Результаты (все новые)
предложена модель MMU
предложены методы генерации ограничений для последовательностей

обращений к MMU
предложены методы генерации ограничений для описания стратегий вытеснения
построены модели MMU микропроцессоров MIPS, Alpha, PowerPC, Pentium; написан прототип генератора тестовых программ для микропроцессора MIPS64

Слайд 30Евгений Корныхин
Публикации
Kornikhin E. Test Data Generation for Arithmetic Subsystem of CPUs

MIPS64 // Proceedings of SYRCoSE'08, Volume 2, 4pp.
Корныхин Е.В. Генерация тестовых данных для тестирования арифметических операций центральных процессоров // Труды ИСП РАН: том 15, 12с
Корныхин Е.В. Система генерации тестовых программ с использованием ограничений ТЕСЛА // "Ломоносов-2009", 1с
Корныхин Е.В. Система генерации тестовых данных для системного функционального тестирования микропроцессоров ТЕСЛА // "Микроэлектроника и информатика-2009", 1с
Корныхин Е.В. Генерация тестовых данных для системного функционального тестирования FIFO-кэш-памяти микропроцессоров // журнал «Вычислительные методы и программирование», вып.10, 2009, 10с
Kornikhin E. Test Data Generation for LRU Cache-Memory testing // SYRCoSE'09, 5pp.
Kornikhin E. SMT-based Test Program Generation for Cache-memory Testing // East and West-2009, 3pp.
Корныхин Е.В. Генерация тестовых данных для системного функционального тестирования микропроцессоров с учетом кэширования и трансляции адресов // Труды ИСП РАН, 2009 (выходит из печати)
Корныхин Е.В. Генерация тестовых данных для тестирования механизмов кэширования и трансляции адресов микропроцессоров // журнал «Программирование», 36(1), 2010, 10с (выходит из печати)

Слайд 31Евгений Корныхин
Выступления на конференциях
Kornikhin E. Test Data Generation for Arithmetic Subsystem

of CPUs MIPS64 // SYRCoSE'08
Kornikhin E. Test Data Generation for LRU Cache-Memory testing // SYRCoSE'09
Корныхин Е.В. Система генерации тестовых программ с использованием ограничений ТЕСЛА // "Ломоносов-2009"
Корныхин Е.В. Система генерации тестовых данных для системного функционального тестирования микропроцессоров ТЕСЛА // "Микроэлектроника и информатика-2009"
Kornikhin E. SMT-based Test Program Generation for Cache-memory Testing // East and West-2009

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика