Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Программируемый контроллер прерываний
Рассмотрение функций контроллера 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. Структурная схема контроллера прерываний Программируемые интервальные таймеры На структурной схеме Рис. 9.4показаны четыре 16-разрядных программируемых таймера контроллера 82380. По функционированию все таймеры идентичны своему предшественнику 82С54. Каждый таймер может работать в любом из шести различных режимов несмотря на то, что для всех четырех таймеров используется один общий тактовый вход. Этот вход может быть не зависящим от системной тактовой частоты. Микропроцессор 80386 может устанавливать и считывать текущее содержимое счетчика таймера в любой момент времени независимо от режима работы таймера. Выходы таймеров могут быть подключены к каким-нибудь системным функциональным устройствам, что в целом может способствовать упрощению структуры системы. Таймер 0 занимает особое положение. Он обычно служит для формирования прерываний по времени, и его выход заводится непосредственно на вход контроллера прерываний. Этот таймер не имеет выхода из контроллера 82380. С помощью таймера 1 ведется отсчет времени для формирования цикла регенерации. Рис. 9.4. Структура программируемых интервальных таймеров Выход таймера 2 соединяется с каким-либо входом запроса прерывания для обеспечения других функций таймера. Выходы таймеров 1 и 2 могут использоваться для специальных целей, а также для обобщенных целей таймера и счетчика. Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 544; Нарушение авторского права страницы