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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

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

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

2022-10-29 34
Способы обработки прерываний, обеспечиваемые контроллером прерываний. 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) идентификации запроса и входа в таблицу прерываний.


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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

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

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



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

0.024 с.