Способы обработки прерываний, обеспечиваемые контроллером прерываний. — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Способы обработки прерываний, обеспечиваемые контроллером прерываний.

2022-10-29 37
Способы обработки прерываний, обеспечиваемые контроллером прерываний. 0.00 из 5.00 0 оценок
Заказать работу

Имеется два типа команд, посылемых программой в контроллер 8259 - команды инициализации и команды операции.

 

Возможны следующие операции:

- индивидуальное маскирование запросов прерывания;

- специальное маскирование обслуженных запросов;

- установка статуса уровней приоритета (по установке исходного состояния, по обслуженному запросу, по указанию);

- операции конца прерывания (обычный конец прерывания, специальный конец прерывания, автоматический конец прерывания);

- чтение регистров IRR, ISR, IMR.

Рассмотрим команды операций. Существуют три типа команд операций:

- Маскирование запросов прерывания.

- Команды обработки конца прерывания.

- Опрос регистров и специальное маскирование.

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

- в данный момент выполняется подпрограмма обработки прерывания с высшим или равным приоритетом;

- текущий машинный цикл не является последним машинным циклом команды, выполняемой в данный момент;

- команда, выполняемая в данный момент является командой RETI или любой командой, осуществляющей запись в регистры IE, IP или IPH.

Т.о., вызов полпрограммы обработки прерывания может осуществиться только на границе между двумя соседними командами основной программы (команда не может быть прервана, не завершившись до конца). Если команда, выполняемая в данный момент является командой RETI или любой командой, осуществляющей запись в регистры IE, IP или IPH, то, как минимум, еще одна команда, следующая за ней будет выполнена до вызова подпрограммы обработки прерываний.

Cуществует задержка между моментом установления флага запроса на прерывание и моментом запуска подпрограммы обслуживания этого прерывания. Эта задержка может составлять от 3 до 9 машинных циклов в зависимости от момента поступления запроса и выполняемой в этот момент команды. Если внешний вход запроса на прерывание был запрограммирован на срабатывание по уровню, то нулевой уровень на этом входе должен присутствовать до самого момента запуска подпрограммы обработки этого прерывания. Иначе прерывание не будет обслужено. Подпрограмма обработки любого прерывания должна заканчиваться командой RETI. Эта команда помимо возвращения управления прерванной программе сообщает процессору о том, что данное прерывание больше не обслуживается и могут быть приняты к обслуживанию прерывания с таким же или более низким приоритетом.

Построение системы прерываний с большим количеством обрабатываемых запросов.

БИС программируемого контроллера прерываний (ПКП) представляет собой устройство, реализующее до восьми уровней запросов на прерывания с возможностью программного маскирования и изменения порядка обслуживания прерываний. За счет каскадного включения БИС ПКП число уровней прерывания может быть расширено до 64 (в архитектуре персонального компьютера IBM PC AT - 16).

В IBM PC/XT/AT используется режим прерываний с фиксированными приоритетами. Высшим приоритетом обладает запрос по линии IRQ 0, низшим - IRQ 7. Так как второй контроллер подключен к линии IRQ 2 первого контроллера, то приоритеты линий IRQ в порядке убывания приоритета располагаются следующим образом: IRQ 0, IRQ 1, IRQ 8 - IRQ 15, IRQ 3 - IRQ 7. Если запрос на обслуживание посылают одновременно два устройства с разными приоритетами, то контроллер обслуживает запрос с большим приоритетом, а запрос с меньшим приоритетом блокирует. Блокировка сохраняется до получения команды EOI.

Для децентрализованной системы прерываний с 4-я источниками запросов, передаваемых по общей линии на вход микропроцессора, составить алг.: 1) инициализации системы прерывания;

2) идентификации запроса и входа в таблицу прерываний.


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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.