Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Контроллер прерываний




Контроллеры радиальных прерываний в первых компьютерах выполнялись на микросхемах J8259, каждая из которых имела 8 входов запроса прерываний. В IBM PC AT применялось две таких микросхемы, в результате чего количество входов запросов прерываний увеличилось до 15. Режимы работы контроллеров прерываний определяются процессором пу-

тем записи соответствующих управляющих кодов по адресам в пространстве устройств ввода/вывода.

О циклах обмена по прерываниям уже говорилось в разделе 2.2.2. При поступлении запроса прерывания на один из входов 1RQ и удовлетворении этого запроса контроллер прерываний вырабатывает выходной сигнал запроса прерывания, поступающий на процессор. В ответ на это процессор запрашивает контроллер о том, прерывание с каким адресом вектора необходимо обслужить. Всего прерываний может быть 256 (от 00 до FF). Номер прерывания, полученный от контроллера, процессор умножает на 4 и получает, таким образом, адрес памяти, где хранится адрес начала программы обработки прерываний (вектор прерывания). Присваивание каждому из каналов IRQ своего номера процессор осуществляет на этапе инициализации контроллера.

Контроллер прерываний может выполнять следующий набор операций:

• маскирование запросов на прерывание, то есть временное запрещение реакции на них;

• установка приоритетов запросов по различным входам, то есть разрешение конфликтов при одновременном приходе нескольких запросов на прерывание;

• работа в качестве основного контролера (Master) или подчиненного (Slave).

Для маскирования прерываний используется внутренний регистр контроллера, программно доступный процессору как по записи, так и по чтению. Замаскирован может быть каждый запрос (по каждой из линий IRQ), путем установки соответствующего бита маскирования в записываемом в контроллер управляющем байте.

Схема приоритетов прерываний может быть задана процессором программным путем. В базовом варианте все приоритеты фиксированы (то есть IRQO имеет высший приоритет, a IRQ7 — низший). Но в принципе высший уровень приоритета задается для любого из входов запросов, можно также установить циклическое переключение приоритетов (последний обслуженный запрос получает низший приоритет), обеспечивая тем самым всем запросам равные приоритеты. Если во время обработки прерывания с меньшим уровнем приоритета приходит более приоритетный запрос, то процессор переходит на программу обработки более приоритетного запроса, а после ее выполнения возвращается к программе обработки менее приоритетного запроса. Отметим, что немаскируемое прерывание N МI имеет приоритет выше любого другого аппаратного прерывания.

Завершив выполнение программы обработки прерывания, процессору необходимо с помощью специальной команды сообщить об этом контроллеру прерываний, чтобы разрешить ему дальнейшую работу, в частности, вновь обрабатывать тот же самый запрос.

Контроллер 8259 предусматривает возможность выбора способа распознавания запроса на прерывание — по фронту сигнала IRQ и по уровню этого сигнала. В архитектуре компьютера типа PC используется запрос по фронту.

При каскадировании контроллеров основному контроллеру надо указать, к какому из его входов подключен подчиненный контроллер, а подчиненному контроллеру необходимо указать, к какому входу основного контроллера подключен его выходной сигнал запроса.

Все операции начальной настройки контроллеров прерываний выполняет BIOS, и пользователю нужно прибегать к программированию этих контроллеров только при необходимости смены режимов обслуживания прерываний или при написании собственной программы обработки аппаратных прерываний.




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


Дата добавления: 2014-01-13; Просмотров: 314; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.