Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ассемблер-шпоры.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
372 Кб
Скачать
☆

10. Механизм обработки прерываний в вычислительных системах на базе мп i8086.

1. Определяется соответствующий номер прерывания

2. В стеке прерванной программы сохраняется значение флагового регистра, CS, IP

3. Сбрасываются флаги трассировки и прерывания. Запрещаются все прерывания

4. Из вектора с соответствующим номером в регистры CS:IP загружается адрес ПОП. Переход к программному коду процедуры

5. Выполнение процедуры

6. Завершение ПОП осуществл. с помощью команды IRET, кот. извлекает и стека значения IP, CS, Flags

12. Логическая структура контроллера прерываний.

0

0

Х

1-0

МП IF=1

1

0

Х

0

EOI конец прерываний

0

0

Х

0

0

0

Х

0

0

0

Х

0

0

0

Х

0

0

0

Х

0

0

0

Х

0

Регистр

Запросов

IRR

Регистр

Маски

IMR

Схема

Анализа

приоритетов

Регистр

обслужив.

Запросов ISR

Сигнал по линии IRQ1 (от клавиатуры) поступает на вход регистра запросов и устанавливает в 1 соответствующий бит. Если в регистре маски соответствующий бит равен 0, прерывание не замаскировано и сигнал проходит схему анализа приоритетов. Стандартная настройка приоритетов: чем > N линий IRQ, тем ниже приоритет. Сигнал дает разрешение на установку бита в регистре обслуживаемых запросов и поступает на вход INTR МП. МП регистрирует поступление сигнала только в том случае, если IF=1. Получив сигнал ENTR, МП выдает сигнал INTA, который поступает в контроллер прерываний и выполняет 2 действия: 1. устанавливает нулевой бит в регистре обслуживания запросов и сбрасывает бит в регистре запросов.

По этой линии может прийти следующий сигнал прерываний.

2. в регистре обслуживания запросов воздействует на схему анализа приоритета т.о., что запрещены все прерывания с более низким приоритетом. Для разблокировки прерывания выдается сигнал EOI. Это выполняется в процедуре обработки прерываний. Сигнал INTA сбрасывает флаг IF, т.о. оказываются запрещенным все прерывания. Поэтому процедура обработки прерывания должна воздействовать на IF в начале своей работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]