Мегаобучалка Главная | О нас | Обратная связь  


Обработка прерываний. Приоритеты прерываний




Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

1) восприятие запроса на прерывание;

2) запоминание состояния прерванного процесса (значение счетчика команд, содержимое регистров общего назначения, режим работы ЦП и т.д.);

3) передача управления программе обработки прерываний, для чего в счетчик команд заносится адрес, уникальный для каждого типа прерывания;

4) обработка прерывания;

5) восстановление нормальной работы.

В большинстве ЭВМ этапы 1-3 реализуется аппаратно, а этапы 4-5 - операционной системой.

Рассмотрим изменения состояний центрального процессора, связанные с возникновением и обработкой прерываний (рис.7). ЦП может функционировать в одном из четырех независимых состояний: P1 – выполнение прикладных программ, P2 – обработка прерываний, P3 – анализ прерываний, P4 – обработка прерываний от схем контроля машины. В состоянии P1 выполняются программы пользователя, выполнение любого прерывания допустимо. В состоянии P2 выполняется программа соответствующего обработчика прерываний, так же как и в предыдущем состоянии допустимо любое прерывание. В состоянии P3 система определяет тип прерывания и соответствующую программу его обработки. Переключение в состояние P3 из состояний P1 и P2 происходит всегда автоматически при возникновении любого прерывания, кроме прерываний от схем контроля машины. Переключение ЦП из состояния P3 в состояние P1 или P2 происходит по командам управления. В состоянии P3 все прерывания, кроме прерываний от схем контроля, запрещены. Процессор автоматически переключается в состояние P4 из любого состояния (P1, P2, P3) при появлении прерывания от схем контроля машины. Из состояния P4 нельзя вернуться ни в какое другое состояние без принятия мер по устранению сбойной ситуации.



 

 

 


В зависимости от характера прерываний можно выделить пять уровней:

· прерывания от систем контроля и диагностики, связанные с неисправностями в аппаратуре;

· прерывание при обращении к ОС с целью получения каких-либо услуг;

· программные или внутренние прерывания, связанные с ошибками в ЦП при выполнении программы;

· внешние прерывания, обусловленные прерыванием программы оператором, по сигналу из линии связи и т.д.;

· прерывания от устройств ввода-вывода, инициированные внешними процессами.

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

1) прерывания от схем контроля;

2) программные прерывания или прерывания при обращении к ОС (не могут появляться одновременно);

3) внешние прерывания;

4) прерывания от устройств ввода-вывода.

Обработка прерываний происходит в порядке, обратном его поступлению и соответствует их важности: ввод-вывод, внешние, программные и обращения к ОС. Прерывания от схем контроля идут вне очереди и блокируют обработку всех других прерываний.

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

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

Замаскированные прерывания от устройств ввода-вывода и внешних прерываний хранятся до тех пор, пока ЦП не сможет их воспринять, а замаскированные программные прерывания от схем контроля теряются.

Информация, необходимая для обработки прерываний, запоминается в специальной области памяти в виде регистра и слова-состояния программы (ССП). Регистр прерываний представляет собой слово, каждый бит которого соответствует единственной причине прерывания.

Слово состояния программы хранит информацию о состоянии процессора для последующего анализа, восстановления нормального продолжения прерванной программы.

 




Читайте также:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (813)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7