Программируемый контроллер прерываний

Задача контроллера состоит в приеме запросов прерывания от ВУ, сравнении их приоритетов и посылки запроса прерыва­ния в ЦП вместе с информацией о местоположении соответству­ющей подпрограммы. В функции ПКП также входит изменение дисциплины обслуживания ВУ, т. е. установка различных режи­мов присвоения приоритетов ВУ в соответствии с общими требо­ваниями к системе.

Один контроллер позволяет обслу­живать восемь ВУ, число которых может быть увеличено путем каскадирования контроллеров. Так, в ВМ используется два ПКП и число обслуживаемых аппаратных прерываний равно 15. На рис. 4.1 изображе­на схема ПКП.

Буфер данных БД вместе со схемой управления обменом по ШД D7 – D0обеспечивает прием управляющих слов (команд) в контроллер при программировании, а также выдачу состояний регистров контроллера и информации об адресе подпрограммы. Регистр запросов прерываний РЗП служит для запоминания всех запросов от ВУ по входам IR7-IR0. Регистр масок преры­ваний РМП хранит маску, с помощью которой можно запретить обслуживание запросов по любому входу. Схема сравнения прио­ритетов СхСПр выбирает запрос с наибольшим приоритетом сре­ди вновь поступивших и уже обслуживаемых запросов. Регистр обслуживаемых прерываний РОП. содержит единицы на позици­ях, соответствующих обслуживаемым запросам, причем каждая единица запрещает обслуживание запросов с меньшим приоритетом, если отсутствует режим специального маскирования.

Управляющее устройство УУ, содержащее регистры команд инициализации РКИ и регистры рабочих команд РРК, обеспечивает выработку внешних и внутренних управляющих сигналов. Блок каскадирования БК осуществляет связь ведущей БИС контроллера с ведомыми при использовании нескольких ПКП в микропроцессорной системе.

 

Рис. 4.1. Схема программируемого контроллера прерываний
Intel 8259A

 

Последовательность действий при обслуживании прерываний:

1. ПКП воспринимает запросы прерывания по входам IR от одного или нескольких ВУ, записывает единицы в соответствующие разряды РЗП, проверяет маскирование, определяет запрос с наивысшим приоритетом и посылает сигнал прерывания INT на соответствующий вход ЦП.

2. Если прерывания разрешены, ЦП заканчивает выполнение текущей команды и активизирует сигнал подтверждения прерывания INTA.

3. По получении первого импульса INTA ПКП устанавливает в «1» разряд регистра РОП, соответствующий запросу, подлежащему обслуживанию, а одноименный разряд регистра РЗП сбрасывается в «0».

4. ЦП вырабатывает второй импульс INTA, по получении которого контроллер посылает по ШД в ЦП8-разрядный указатель (вектор), используемый для определения начального адреса подпрограммы обслуживания прерывания.

5. ЦП переходит на выполнение подпрограммы обслуживания прерывания.

В режиме автоматического окончания прерывания AEOI цикл входа в прерывание завершается по окончании второго импульса INTA, по которому соответствующий разряд РОП сбрасывается в «0». В режиме обычного окончания разряд регистра РОП, соответствующий текущему уровню прерывания, остается в «1> до появления команды EOI - конец прерывания.








Дата добавления: 2015-12-22; просмотров: 728;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.