logo search
ОТВЕТЫ НА ГОСы (все ответы)

3. Прерывания в мпс. Типы прерываний. (мпс)

Прерывания – это операция процессора, состоящая в регистрации предшествовавшего прерыванию состояния процессора и установлению нового состояния.

Состояние процессора - это содержимое его внутренней памяти, изменяемое в процессе его функционирования (иногда это сводится к регистровой памяти).

Причины или источники прерываний:

1). Внутренние прерывания: а). от схем контроллера процесса (исключения, ловушки, жёсткие прерывания (аварии)). б). Программное 2). Внешние прерывания: a) маскитуемые (кот. можно запретить) б)немаскируемые (вызываются событиями от схем контроля вычислительной системы ЭВМ).

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

1). Формирование запроса на прерывание. 2). Ожидание завершения исполнения текущей команды. 3). Состояние прерывания, прием типа прерывания (ти п – это номер процедуры обработки прерываний, определяет ячейку памяти, в кот. хранится адрес области памяти тип подаётся процессору извне). 4). Сохранение в стеке минимально необходимых данных (для вызова процедуры обработки прерываний). 5). Запрет повторных внешних прерываний. 6). Установка нового состояния процессора, задаваемого типом прерываний (адрес первой команды процедуры обработки прерываний).

7). Выполнение процедуры обработки прерываний (процедура сохраняет полный контекст процессора, обрабатывает событие, вызвавшее прерывание и восстанавливает в стеке контекст). Процедуры обработки прерываний должны быть реентерабельны. 8). Восстановление состояния прерванного процесса командой возврата из прерывания.

В зависимости от источника возникновения сигнала прерывания делятся на:

Аппаратные — события от периферийных устройств (например, нажатия клавиш клавиатуры, движение мыши, сигнал от таймера, сетевой карты или дискового накопителя) — внешние прерывания, или события в микропроцессоре — (например, деление на ноль) — внутренние прерывания;

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

ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 2