Система прерываний в защищенном режиме процессора Intel.

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



Advertisements
Похожие презентации
Управление процессами Состояния процессов. Управление состояниями процессов.
Advertisements

1 ЛЕКЦИЯ 4 ОБРАБОТКА ПРЕРЫВАНИЙ В ЗАЩИЩЕННОМ РЕЖИМЕ Обработка прерываний в защищенном режиме так же сильно отличается от обработки в реальном режиме, как.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Системные механизмы Windows. Системные механизмы диспетчеризация ловушек, в т.ч. прерываний, DPC (deferred procedure call), APC (asynchronous procedure.
1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
Intel архитектура IA16 Основа большинства современных компьютеров.
1 Подсистема прерываний Схема подсистемы прерываний.
Язык ASSEMBLER Команды пересылки данных Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
Организация обмена информацией Функции устройств магистрали.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Лекция 3. Исключения и прерывания в встроенных системах.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Процессоры Intel в реальном режиме.. План. 1) Историческая справка. 2) Объяснение основный концепций работы с памятью. 3) Обработка прерываний. 4) Написание.
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32.
Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.
Транксрипт:

Система прерываний в защищенном режиме процессора Intel

Базовая система прерываний (реальный режим) 256 векторов прерываний 00000h 00004h 00008h 0000Ch 000FCh селектор int FFh int 00h int 01h int 02h int 03h сегмент

Обработка вызова прерывания (реальный режим) int N N*4 = X … Таблица векторов прерываний Вектор N offsetsegment Системная область памяти Обработчик iret … pushf push cs push ip pop ip pop cs popf

Interrupt Description Table (IDT) База IDTЛимит IDT IDTR Системный дескриптор сегмента … -Шлюз прерывания (6 или E) -Шлюз ловушки (7 или F) -Шлюз задачи (5) 8 байт база доступ…база лимит база

Байт доступа – системный сегмент 1 – не системный сегмент тип дескриптора 5 – шлюз задачи 6 – 16-битный шлюз прерывания 7 – 16-битный шлюз ловушки E – 32-битный шлюз прерывания F – 32-битный шлюз ловушки

Описание таблицы IDT ; таблица дескрипторов прерываний IDT IDT label byte ; все эти дескрипторы имеют тип 0Eh - 32-битный шлюз прерывания ; INT dw 8 dup(so int_handler,SEL_32bitCS,8E00h,0) ; INT 08 (irq0) dw so irq0_7_handler,SEL_32bitCS,8E00h,0 ; INT 09 (irq1) dw so irq1_handler,SEL_32bitCS,8E00h,0 ; INT 0Ah - 0Fh (IRQ2 - IRQ8) dw 6 dup(so irq0_7_handler,SEL_32bitCS,8E00h,0) ; INT 10h - 6Fh dw 97 dup(so int_handler,SEL_32bitCS,8E00h,0) ; INT 70h - 78h (IRQ8 - IRQ15) dw 8 dup(so irq8_15_handler,SEL_32bitCS,8E00h,0) ; INT 79h - FFh dw 135 dup(so int_handler,SEL_32bitCS,8E00h,0) idt_size = $ - IDT ; размер IDT idtr dw idt_size-1 ; лимит IDT dd ? ; линейный адрес начала IDT ; содержимое регистра IDTR в реальном режиме idtr_real dw 3FFh,0,0 + Зубков. Гл

Обработчики прерываний Обработка обычного прерывания int_handler: iretd

Обработчик аппаратных прерываний IRQ0-IRQ7 irq0_7_handler: push eax mov al,20h out 20h,al pop eax iretd + Зубков. Гл

Обработчик аппаратного прерывания IRQ8-IRQ15 irq8_15_handler: push eax mov al,20h out 0A1h,al pop eax iretd + Зубков. Гл

Обработчик прерывания клавиатуры Зубков, гл. 10.5, процедура irq1_handler

Загрузка IDT и IDTR ; вычислить линейный адрес IDT pop eax add eax,offset IDT mov dword ptr idtr+2,eax ; загрузить IDT lidt fword ptr idtr

Схема обработки прерываний int N N*8 IDTR IDT дескриптор + Обработчик iretd

Обработка исключений Исключения – внутренние ситуации, возникающие при выполнении программы и требующие определенной реакции процессора Номера исключений совпадают с номерами аппаратных прерываний, поэтому если система обрабатывает исключения, то контроллер прерывания должен быть перепрограммирован так, чтобы аппаратные прерывания не попадали в область 0-1Fh (Зубков, гл ) Ряд исключений оставляет на стеке код ошибки, который должен быть прочитан со стека до выполнения iretd. В противном случае может возникнуть зависание системы

Формат кода ошибки