Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Прерывания. В машинных командах процессора некоторые команды выполняются так, что некоторые регистры используются по умолчанию (циклы в качестве регистра по умолчанию






В машинных командах процессора некоторые команды выполняются так, что некоторые регистры используются по умолчанию (циклы в качестве регистра по умолчанию используют ).

Прерывание – сигнал (возможно электрический), который может прервать порядок выполнения исполнительного модуля. Это может произойти, если не установлены разряды маски прерываний (определенные флаги в процессоре).

Система обработки прерываний совершенствовалась и в настоящий момент обработкой прерывания занимаются контроллеры прерываний.

Как правило, общую схему обработки прерываний рассматривают на примере IBM совместимых ЭВМ.

Все прерывания делятся на типы:

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

Как правило, в спецификации системы команд процессора возможно указание, в каком случае вырабатывается прерывание (кроме установки флагов).

2) ввода-вывода – инициируются контроллером или другим внешним устройством.

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

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

3) от схем контроля – как правило, инициируются в случае аппаратных сбоев (например, ЦП, ОЗУ и т.д.).

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

Например, контроль четности по модулю два (обнаруживает единичную ошибку), код Хемминга (обнаруживает двойную ошибку, исправляет единичную).

Прерывания от схем контроля имеют самый высокий приоритет и, как правило, не маскируются.

Каждому прерыванию соответствует три так называемых слова-состояния программы (PSW, program status word). PSW включает управляющие поля и адрес команды, которая должна выполняться. Все программы выполняются под управлением текущего PSW, в котором отражается адрес следующей выполняемой команды.

Как только произошло прерывание, новое PSW, соответствующее данному типу прерывания, становится текущим. Адресом команды в новом текущем PSW является адрес первой команды обработчика прерываний данного типа ОС. Т.е. после смены PSW начинает выполняться обработчик прерываний.

В некоторых системах команд процессора ЭВМ IBM существует команда LPSW < адрес> (load PSW). В этой команде текущим PSW становится то, которое находится в указанном адресе. С помощью этой команды ОС может запустить любую программу из реальной ОП. В случае прерывания смена PSW выполняется автоматически.

После того, как отработал обработчик прерываний, ОС загружает старое PSW процесса, который прервался. При смене PSW старое PSW сохраняется по определенному адресу в области ОС.

Есть и другие типы прерываний (службы времени и т.д.).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.