Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЛюдмила Сыромятникова
1 Вычисление времени запрета обработки внешних прерываний ОС с использованием ячейки МПВ-М Магистерская диссертация Студент: Севастинович Павел, 515 гр. Научный руководитель: к.т.н.Харитонов М.И.
2 Постановка задачи Нить Обработчик прерываний Захват Внешнее прерывание 1 зафиксированное Обработка внешнего прерывания 1 Освобождение - функция spin_lock_irqrestore Захват - функция spin_lock_irqsave Внешние прерывания 2..n не зафиксированные Освобождение T nf T nf – время блокировки фиксации прерываний
3 Функциональная схема ячейки привязки времени МПВ-М Приём внешних прерываний Определение времени обработки внешних прерываний Обработчик внешних прерываний Регистр внешних прерываний Счётчики времени прерываний в 5-и каналах Генератор прерываний с периодом кратным 4 тактам шины PCI в 5-и каналах Приём и обработка внешних прерываний по 5-и каналам Приём и обработка внешних прерываний по 15-и каналам Посылка прерывания пользователем Регистр выходных прерываний Передача во внешний интерфейс выходных прерываний по 16-и каналам Каналы входных и выходных прерываний
4 Цель работы Реализация режима генерации прерываний в драйвере МПВ-М Реализация теста режима генерации прерываний Проведение статистических измерений времени закрытых прерываний
5 Архитектура системы измерения времени Инициализация устройства Запуск режима генерации прерываний Сбор статистики измерения времени /dev/mpv/mpv_(in, out, st) VFS Драйвер ячейки привязки времени с использованием генератора прерываний Ячейка привязки времени ioctl (input output control interface) интерфейс управления ввода-вывода для конфигурирования и изменения специальных характеристик устройства Файлы устройства Ядро Пользователь Пользовательское приложение open, close, ioctl
6 Драйвер устройства МПВ пользовательские команды Модуль mpvmpv_init()mpv_exit()mpv_open()mpv_close()mpv_ioctl() Выполняемое действие Инициализация устройства Удаление устройства Открытие файла устройства Закрытие файла устройства Интерфейс управления ввода-вывода Команды пользователя modprobe mpvrmmod mpvopen()close()ioctl() консоль код приложения
7 Структурная схема драйвера МПВ-М Регистрация устройства в ОС Инициализация состояния ПО Обнуление регистров устройства и выполнение аппаратных проверок Инициализация регистра полярностиСоздание малых узлов в VFSОпределение тактовой частоты шиныПодключение обработчика прерываний ioctl Посылка выходного прерыванияОжидание прерывания Установка полярности внешних прерываний Установка в исходное состояние регистров Установка в исходное состояние выходных параметров Запуск устройства Установка режима генерации прерываний init delete Удаление малых узлов из VFS Освобождение линии прерываний Удаление устройства из списка регистрации Обработчик прерываний
8 Локальные подпрограммы драйвера МПВ Локальная подпрограммы модуля mpv mpv_check_initial_value_reg()mpv_intr_handler()mpv_write_regl()mpv_read_regl()mpv_reset_module() Выполняемая функция Проверка начальных значений регистров Обработчик прерываний Запись в регистрЧтение из регистраОбнуление регистров Изменения Введена проверка дополнительных регистров Введено обнуление регистров счётчиков в режиме генерации прерываний Введено обнуление дополнительных регистров
9 Результаты измерений времени закрытых прерываний на УВК/С Количество прерываний/10^6 Время запрета обработки внешних прерываний, мкс График отражает распределение количества прерываний по временам обработки
10 Реализован режим генерации прерываний в драйвере МПВ-М Реализован тест mpv_tc для генерации прерываний по всем каналам МПВ-М Собрана статистика времен закрытых прерываний для машины УВК/С Итоги работы
11 Спасибо за внимание! Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.