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

Обычно контроллер IDE1 (второй канал)



Как известно, прерывания могут быть инициированы внешним устройством ПК или специальной командой прерывания из программы. В любом случае, если прерывания разрешены, то выполняется следующая процедура:

1. В стек помещается регистр флагов PSW.

2. Флаг включения/выключения прерываний IF и флаг трассировки TF, нахо­
дящиеся в регистре PSW, обнуляются для блокировки других маскируемых
прерываний и исключения пошагового режима исполнения команд.

3. Значения регистров CS и IP сохраняются в стеке вслед за PSW.

4. Вычисляется адрес вектора прерывания, и из вектора, соответствующего но­
меру прерывания, загружаются новые значения IP и CS.

Когда системная подпрограмма принимает управление, она может снова разре­шить маскируемые прерывания командой STI (set interrupt flag, установить флаг


прерываний), которая переводит флаг IF в состояние 1, что разрешает микро­процессору вновь реагировать на прерывания, инициируемые внешними устрой­ствами, поскольку стековая организация позволяет вложение прерываний друг в друга.

Закончив работу, подпрограмма обработки прерывания должна выполнить инст­рукцию IRET (interrupt return), которая извлекает из стека три 16-битовых значе­ния и загружает их в указатель команд IP, регистр сегмента команд CS и регистр PSW соответственно. Таким образом, процессор сможет продолжить работу с того места, где он был прерван.

В случае внешних прерываний процедура перехода на подпрограмму обработки прерывания дополняется следующими шагами:

1. Контроллер прерываний получает заявку от определенного периферийного
устройства и, соблюдая схему приоритетов, генерирует сигнал INTR (inter­
rupt request), который является входным для микропроцессора.

2. Микропроцессор проверяет флаг IF в регистре PSW. Если он установлен в 1,
то переходим к шагу 3. В противном случае работа процессора не прерывает­
ся. Часто говорят, что прерывания замаскированы, хотя правильнее говорить,
что они отключены. Маскируются (запрещаются) отдельные линии запроса
на прерывания посредством программирования контроллера прерываний.

3. Микропроцессор генерирует сигнал INTA (подтверждение прерывания). В от­
вет на этот сигнал контроллер прерывания посылает по шине данных номер
прерывания. После этого выполняется описанная нами ранее процедура пере­
дачи управления соответствующей программе обработки прерывания.

Номер прерывания и его приоритет устанавливаются на этапе инициализации системы. После запуска ОС пользователь, как мы уже отмечали, может изменить таблицу векторов прерывания, поскольку она ему доступна.





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



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