ВУЗ:
Составители:
3.3.3. Идентификация прерывающего устройства системы прерывания
Когда в микропроцессорных системах имеется несколько ПУ, работающих в режиме
прерываний, сигналы их запросов на обслуживание прерываний объединяются по схеме
ИЛИ и подаются на вход INT микропроцессора. В этом случае возникает задача
идентификации ПУ, т.е. однозначного перехода к определенной подпрограмме
обслуживания. Решение этой задачи возлагается на систему прерывания. Разработано
несколько способов решения этой проблемы, различающихся скоростью реакции
микропроцессора и объемом дополнительных аппаратных средств. При реализации любого
способа необходимо назначить устройствам определенные приоритеты.
Программный полинг
Простейшее решение проблемы идентификации, почти не требующих
дополнительных аппаратных средств, заключается в программном опросе (полинге) флажков
готовности (сигналов прерывания) ПУ.
На рис.3.4 приведен типичный вариант программного полинга. Первым проверяется
флажок готовности ПУ1 с наибольшим приоритетом. Если оно не запрашивало
обслуживание, опрашивается следующее ПУ и т.д.
Когда встречается первое устройство готовое к операциям ВВ, управление передается
подпрограмме обслуживания этого устройства. При завершении обслуживания в полинге
может быть запрограммировано одно из следующих действий:
1.
Управление возвращается в основную программу без проверки готовности
остальных ПУ. Здесь гарантируется обязательная проверка в каждом цикле полинга ПУ с
высоким приоритетом, так как обслуживание их блокирует обслуживание устройств с
меньшим приоритетом.
2
Обслуживание
ПУ1
Обслуживание
ПУ2
Обслуживание
ПУ3
ПУ1
готово
ПУ2
готово
ПУ3
готово
Нет
Да
Нет
Да
Нет
Да
1
Основная
программа
Программа полинга
INT=1
INT=1
Рис.3.4. Программный полинг
2.
Управление возвращается к программе полинга, т.е. в точку проверки прерывания
следующего ПУ (на рис.3.4 это показано цифрой). Этот способ гарантирует проверку в
каждом цикле полинга всех устройств.
Для ускорения полинга сигналы прерываний всех устройств подключаются к
специальному регистру. Приоритет ПУ задается последовательностью опроса флажков
3.3.3. Идентификация прерывающего устройства системы прерывания
Когда в микропроцессорных системах имеется несколько ПУ, работающих в режиме
прерываний, сигналы их запросов на обслуживание прерываний объединяются по схеме
ИЛИ и подаются на вход INT микропроцессора. В этом случае возникает задача
идентификации ПУ, т.е. однозначного перехода к определенной подпрограмме
обслуживания. Решение этой задачи возлагается на систему прерывания. Разработано
несколько способов решения этой проблемы, различающихся скоростью реакции
микропроцессора и объемом дополнительных аппаратных средств. При реализации любого
способа необходимо назначить устройствам определенные приоритеты.
Программный полинг
Простейшее решение проблемы идентификации, почти не требующих
дополнительных аппаратных средств, заключается в программном опросе (полинге) флажков
готовности (сигналов прерывания) ПУ.
На рис.3.4 приведен типичный вариант программного полинга. Первым проверяется
флажок готовности ПУ1 с наибольшим приоритетом. Если оно не запрашивало
обслуживание, опрашивается следующее ПУ и т.д.
Когда встречается первое устройство готовое к операциям ВВ, управление передается
подпрограмме обслуживания этого устройства. При завершении обслуживания в полинге
может быть запрограммировано одно из следующих действий:
1. Управление возвращается в основную программу без проверки готовности
остальных ПУ. Здесь гарантируется обязательная проверка в каждом цикле полинга ПУ с
высоким приоритетом, так как обслуживание их блокирует обслуживание устройств с
меньшим приоритетом.
Программа полинга
Основная
программа
INT=1 Да
ПУ1 Обслуживание
готово ПУ1
Нет 2
Да Обслуживание
ПУ2
INT=1 готово ПУ2
Нет
1
ПУ3 Да
Обслуживание
готово ПУ3
Нет
Рис.3.4. Программный полинг
2. Управление возвращается к программе полинга, т.е. в точку проверки прерывания
следующего ПУ (на рис.3.4 это показано цифрой). Этот способ гарантирует проверку в
каждом цикле полинга всех устройств.
Для ускорения полинга сигналы прерываний всех устройств подключаются к
специальному регистру. Приоритет ПУ задается последовательностью опроса флажков
Страницы
- « первая
- ‹ предыдущая
- …
- 48
- 49
- 50
- 51
- 52
- …
- следующая ›
- последняя »
