Главная страница
Навигация по странице:

  • Время реакции

  • Первый

  • Во втором случае

  • Программные (внутренние)

  • Исключения (внутренние)

  • Понятие прерывания 2 Цель и механизм


    Скачать 58.82 Kb.
    НазваниеПонятие прерывания 2 Цель и механизм
    Дата29.03.2023
    Размер58.82 Kb.
    Формат файлаdocx
    Имя файлаlection4.docx
    ТипДокументы
    #1022852
    страница3 из 10
    1   2   3   4   5   6   7   8   9   10

    Реакция на появление сигнала запроса прерывания


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



    Рис. 1. Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; - время сохранения состояния прерываемой программы и вызова

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

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

    Дваподходаковремениреакции

    Время реакции зависит от момента, когда процессор определяет факт наличия запроса прерывания. Опрос запросов прерываний может проводиться либо:

    • по окончании выполнения очередного этапа команды (например, считывание команды, считывание первого операнда и т.д.),

    • либо после завершения каждой команды программы.

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

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

    Классификация прерываний

    Классы прерываний


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


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

    • Программные (внутренние) инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы. вызываются искусственно с

    помощью соответствующей команды из программы (int), предназначены для

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

    • Исключения (внутренние) — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;


    Вторая классификация по местоположению источника возникновения запроса:


    • Внутренние

    • Внешние



    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта