Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Контроллер приоритетных прерываний
Прерывание - один из наиболее дефицитных ресурсов в микропроцессорной системе. Микропроцессор имеет только 2 входа для приема запросов прерываний: вход INT - по нему принимаются запросы, обработка которых может быть замаскирована сбросом флага IF в регистре флагов, - и вход немаскируемых прерываний NMI. Вход NMI фактически закреплен за запросами прерываний от схем контроля питания. Поэтому при такой архитектуре микропроцессора в микропроцессорной системе обязательно должны использоваться средства, которые позволяют предварительно обрабатывать и передавать на вход маскируемых прерываний INT микропроцессора запросы от многочисленных внешних устройств, входящих в состав микропроцессорной системы. В качестве такой схемы используется контроллер приоритетных прерываний (КПП). Мы рассмотрим его функционирование на примере БИС i8259, которая, с одной стороны, имеет самостоятельное значение, а с другой стороны, фактически без изменений входит в состав современных чипсетов. Его структура представлена на рисунке 12.5.
Рисунок 12.5 - Структура контроллера приоритетных прерываний
Функции контроллера приоритетных прерываний: - восприятие и фиксация до 8 запросов прерываний (IRQ0 - IRQ7), поступающих по внешним входам; - выделение наиболее приоритетного из поступивших запросов, включая возможность маскирования отдельных запросов; - выдача на шину данных (по требованию микропроцессора) типа выбранного прерывания. При использовании КПП обработка запросов немаскируемых прерывание проходит следующие этапы: 1) Системная периферия на системной плате или устройство ввода/вывода на внешней шине активирует одну из линий IRQx. 2) В регистре запросов прерываний IRR, который предварительно настраивается на восприятие запросов по спаду или низкому уровню сигнала, происходит установка соответствующих разрядов в "1". 3) Незамаскированные в регистре маски IMR запросы передаются в приоритетный арбитр, замаскированные блокируются. 4) В соответствии с выбранной в процессе инициализации дисциплиной обслуживания приоритетный арбитр выделяет наиболее приоритетный запрос. При системном сбросе контроллера самый высокий приоритет устанавливается для запроса, приходящего по входу IRQ0, а самый низкий - по входу IRQ7.
5) Приоритет выделенного запроса сравнивается с приоритетом запроса, который в данный момент может обрабатываться микропроцессором (его номер установлен в регистре обслуживания прерываний ISR). Если приоритет нового запроса выше либо в данный момент обслуживаемых запросов нет, то контроллер формирует сигнал прерывания INT в микропроцессор, в противном случае обработка запроса откладывается. В регистре типа прерывания формируется тип принятого к обработке запроса прерывания. 6) МП воспринимает запрос прерывания, и если флаг IF = 1, то по завершении текущей команды выполняет 2 цикла подтверждения прерывания, выдавая сигналы на выход INTA: - в первом цикле запрещается запись в IRR. В ISR устанавливается разряд, соответствующий принятому к обработке запросу, и сбрасывается разряд в IRR; - во втором цикле тип прерывания передается в МП по разрядам D0D7 шины данных. Разрешается запись в IRR; 7) МП принимает тип прерывания и использует его в качестве индекса при обращении к соответствующей таблице прерываний (таблице векторов или таблице дескрипторов прерываний в зависимости от режима работы МП). 8) В соответствии с установленным в микропроцессоре режимом работы (реальном или защищенном) и механизмом вызова программы - обработчика прерывания МП сохраняет необходимую информацию о прерываемой программе и переходит к выполнению обработчика прерывания. 9) Команда IRET, завершающая обработчик прерываний, восстанавливает прежнее состояние микропроцессора и передает управление прерванной программе.
|
|||||
Последнее изменение этой страницы: 2021-02-07; просмотров: 137; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.147.87 (0.006 с.) |