ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »