Вопрос-1: Приоритеты прерываний. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос-1: Приоритеты прерываний.

Билет №24

Существует 2 уровня приоритета, которые могут быть присвоены путем либо установки, либо сброса бита в регистре прерываний IP.

-Прерывание с низким приоритетом может быть прервано высокоприоритетным прерыванием, но не другими низкоприоритетным прерыванием.

     -В случае одновременного поступления двух запросов прерываний с разными приоритетами, сначала обслуживается высокоприоритетный запрос.

     -В случае одновременного поступления двух запросов прерываний с одинаковым приоритетом, то последовательность обслуживания определяется внутренней последовательностью опроса флагов прерываний.

Таким образом, в пределах каждого уровня приоритета находится вторая структура приоритетов, определяемая   последовательностью опроса:

 

На рис. показано,  как регистры IE и IP и последовательный опрос флагов прерываний определяют, какое прерывание должно быть обработано. Все флаги прерываний фиксируются в системе управления прерываниями во время 5-ой фазы каждого машинного цикла и анализируются в течение следующего машинного цикла. Если флаг разрешенного прерывания установлен, система прерываний генерирует команду LCALL с адресом назначения (источник прерывания), если др. условия не блокируют прерывание.

Аппаратно генерируемая команда LCALL заставляет процессор поместить содержимое счетчика команд в стек и загрузить счетчик команд начальным адресом подпрограммы обслуживания.

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

Некоторым приложениям требуется более 2ух уровней приоритетов прерываний., обеспечиваемых аппаратно в MCS-51. В таких случаях программно реализуется 3ий уровень приоритета прерываний. Для этого в подпрограммы обслуживания прерываний 1го уровня приоритета, которые должны прерываться процессами 2го уровня, включается след. код:

- Изначально прерываниям с более высоким уровнем приоритета присваивается значение 1-го уровня в IP(приоритет прерываний).

- Далее, после подтверждения 1го уровня приоритета, IE(разрешение прерываний) переопределяется так, чтобы запретить все прерывания, кроме 2го уровня.

- Затем исполняется RETI с помощью вызова CALL Label, которая “щелчком” очищает все первые приоритеты. В этой ситуации может обслуживаться любое прерывание 1го уровня приоритета, однако разрешены только 2го уровня.

- Считывание IE восстанавливает первоначальную маску прерываний.

- RET - завершает подпрограммы обслуживания.

 



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 30; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.)