Разделы:
Best links:
Программируемый контроллер прерываний
Рис. 4.1. Схема программируемого контроллера прерываний Intel 8259A
Последовательность действий при обслуживании прерываний:
1. ПКП воспринимает запросы прерывания по входам IR от одного или нескольких ВУ, записывает единицы в соответствующие разряды РЗП, проверяет маскирование, определяет запрос с наивысшим приоритетом и посылает сигнал прерывания INT на соответствующий вход ЦП.
2. Если прерывания разрешены, ЦП заканчивает выполнение текущей команды и активизирует сигнал подтверждения прерывания INTA.
3. По получении первого импульса INTA ПКП устанавливает в «1» разряд регистра РОП, соответствующий запросу, подлежащему обслуживанию, а одноименный разряд регистра РЗП сбрасывается в «0».
4. ЦП вырабатывает второй импульс INTA, по получении которого контроллер посылает по ШД в ЦП8-разрядный указатель (вектор), используемый для определения начального адреса подпрограммы обслуживания прерывания.
5. ЦП переходит на выполнение подпрограммы обслуживания прерывания.
В режиме автоматического окончания прерывания AEOI цикл входа в прерывание завершается по окончании второго импульса INTA, по которому соответствующий разряд РОП сбрасывается в «0». В режиме обычного окончания разряд регистра РОП, соответствующий текущему уровню прерывания, остается в «1> до появления команды EOI - конец прерывания.
Программирование контроллера прерываний.
Контроллер программируется с помощью команд, которые формируются в регистре АL центрального процессора и передаются в ПКП по команде OUT. Различают два вида команд программирования: команды инициализации ICW, используемые для начальной подготовки контроллера к работе, и рабочие команды OCW, предназначенные для задания маски, различных режимов работы ПКП, а также для обеспечения контрольного считывания содержимого регистров ПКП. Управляющие сигналы, которые сопровождают подачу команд, приведены в табл. 4.1.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.