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

Рассмотрение функций контроллера 82380 продолжим с помощью Рис. 9.3. Функционально программируемый контроллер прерываний идентичен своим пред­шествующим моделям 8259А и 82С59А, за исключением программирования векто­ров прерываний. В контроллере 82380 объединены ресурсы трех контроллеров типа 82(С)59А. Каскадируя пятнадцать входов запросов прерываний контроллеров 82С59А, имеющихся в распоряжении программиста, можно организовать до 120 каналов запросов внешних прерываний. Хотя контроллеры могут работать в режиме ведущего устройства, приоритет отдается каскадному режиму.

В контроллере прерываний 82380 имеются более широкие возможности по ис­пользованию механизма векторов прерываний, поскольку каждый вход запроса пре­рываний может отдельно программироваться. Это значит, что каждому запросу пре­рываний может быть предписан свой собственный вектор прерывания; кроме того, системные программы по умолчанию могут присвоить контроллеру прерываний 82380 определенный вектор. Этот вектор используется в цикле подтверждения не­запрашиваемых прерываний или прерываний, вызванных ошибочным запросом, с целью предупреждения системы о ложных прерываниях. С помощью прерывания система также информируется о том, что предпринята попытка запрограммировать векторы контроллера 82380 по методу контроллера 82С59А. Эта особенность гаран­тирует совместимость существующих программных продуктов с программным обес­печением, написанным для 82380. К другим усовершенствованиям контроллера пре­рываний 82380 относится возможность каскадного подключения внешних контрол­леров прерываний, а также то, что квитирование установления связи между веду­щим и ведомым устройствами вынесено из специализированных каскадных линий на шину данных.

На рис. 11.3 показаны пять основных блоков контроллера прерываний:

· регистр запросов прерываний (IRR);

· блок разрешения приоритетов (PR);

· служебный регистр (ISR);

· регистр маски (IMR);

· регистр векторов (VR).

Всеми прерываниями управляют каскадно включенные регистры запроса преры­ваний IRR и служебный регистр ISR. В регистре IRR фиксируются уровни всех прерываний, требующих обработки, а в регистре ISR — уровни всех прерываний, проходящих обработку. Во время цикла подтверждения прерывания с помощью блока разрешения приоритетов определяются приоритеты запросов по содержимому регистра IRR, а для прерываний с высшим приоритетом в регистре ISR помечаются соответствующие разряды. Регистр маски прерываний IMR используется совместно с регистром IRR и хранит код, по которому будут маскироваться определенные ли­нии прерываний. Маскирование входов с более высоким приоритетом не влияет на линии запросов прерываний с низшим приоритетом. Номера предварительно за­программированных векторов прерываний записываются в набор векторных регист­ров VR, для каждой линии запроса прерывания определен свой векторный регистр. Во время цикла подтверждения прерывания контроллера 82380 номер вектора, со­ответствующий выбранному прерыванию, выставляется на шину данных.

Рис. 9.3. Структурная схема контроллера прерываний








Дата добавления: 2019-02-07; просмотров: 415;


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

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

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

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