Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Особенности обработки аппаратных прерываний



В микропроцессоре имеется два входа прерываний - маскируемого прерывания INT и немаскируемого прерывания NMI.

Обработка маскируемых прерываний

На вход INT подается сигнал от программируемого контроллера прерываний, который обрабатывает сигналы запросов прерываний от периферийных устройств. Для программы контроллер прерываний выглядит как порт ввода-вывода, в котором фиксируется код типа прерывания. Его основная функция заключается в восприятии сигналов от периферийных устройств, определении запроса с максимальным приоритетом и генерировании сигнала INT, если запрос имеет больший приоритет, чем выполняемая микропроцессором программа.

Если установлен сигнал на линии INT и установлен в 1 флажок разрешения прерывания IF в регистре флагов, то после завершения выполнения текущей команды происходит прерывание и процессор выполняет следующие действия:

1. Выдает контроллеру прерывания подтверждение прерывания.

2. Считывает из контроллера прерывания код типа прерывания.

3. Заносит в стек содержимое регистра флагов.

4. Заносит в стек содержимое регистров IP (указатель команд) и CS (регистр, хранящий базовый адрес).

5. Вызывает и выполняет процедуру прерывания.

6. Извлекает из стека содержимое CS и IP.

7. Извлекает из стека содержимое регистра флагов.

8. Возвращается к выполнению следующей команды прерванной программы.

Обработка немаскируемых прерываний.

Линия немаскируемого прерывания NMI используется для сигнализации о катастрофических событиях в системе.

Немаскируемые прерывания реализуются аппаратно и поступают в МП по отдельной шине управления.

Немаскируемые запросы обладают наивысшим приоритетом. К ним относятся запросы от схем питания и контроля правильности передачи данных. Снижение уровня питания представляет опасность потери информации. Схемы контроля питания подают запрос прерывания и совершают переход к подпрограмме аварийной перезаписи в ОЗУ с батарейным питанием или во внешнее ЗУ. В блоке питания пре­дусмотрены емкостные фильтры, которые поддерживают уровень питания на время, достаточное для перезаписи.

Немаскируемые прерывания имеют фиксированный код 2. Немаскируемое прерывание выполняется быстрее маскируемого, так как не требует подтверждения и считывания типа.

Если установлен сигнал на линии NMI, то после завершения выполнения текущей команды происходит прерывание и процессор выполняет следующие действия:

1. Заносит в стек содержимое регистра флагов.

2. Заносит в стек содержимое регистра IP и CS, запоминая тем самым точку возврата из процедуры прерывания.

3. Вызывает и выполняет процедуру прерывания.

4. Извлекает из стека содержимое CS и IP.

5. Извлекает из стека содержимое регистра флагов.

6. Возвращается к выполнению следующей команды.





Дата публикования: 2015-04-10; Прочитано: 632 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...